Admin/Mercurial/Central/README
author wenzelm
Fri, 17 Apr 2015 20:53:47 +0200
changeset 60126 9c65c0f03c3a
parent 50576 325bf9073c59
permissions -rw-r--r--
Added tag Isabelle2015-RC1 for changeset c9760373aa0f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
48779
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
     1
Notes on central Isabelle repository
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
     2
====================================
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
     3
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
     4
* direct file-system access (locally or remotely via ssh)
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
     5
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
     6
* permissions via dedicated Unix group "isabelle"
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
     7
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
     8
* See http://mercurial.selenic.com/wiki/RequiresFile on physical format, with
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
     9
  conservative requirements for Mercurial 1.3 as lowest common denominator:
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    10
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    11
    revlogv1
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    12
    store
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    13
    fncache
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    14
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    15
* See http://mercurial.selenic.com/wiki/MultipleCommitters for old-fashioned
50576
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    16
  CVS-like multiple committers configuration, "The filesystem method".
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    17
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    18
  A fresh multi-user clone is initialized like this:
48779
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    19
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    20
    hg --config format.dotencode=0 init isabelle-clone
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    21
    cd isabelle-clone
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    22
    chgrp -R isabelle .hg
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    23
    chmod g+s .hg .hg/store
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    24
    mkdir .hg/strip-backup   ## Not to be used under normal circumstances!
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    25
    chmod -R g+w .hg
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    26
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    27
  Now isabelle-clone is ready for push of repository data (without making
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    28
  a working directory).
71136069089d some information for central Isabelle repository configuration;
wenzelm
parents:
diff changeset
    29
50576
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    30
* Addressing technical issues: according to
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    31
  http://mercurial.selenic.com/wiki/PublishingRepositories our shared disk
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    32
  configuration (after regular ssh login) is characterized as follows:
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    33
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    34
    Advantages: can use existing setup
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    35
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    36
    Disadvantages: generally restricted to intranets, not generally
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    37
    recommended due to general issues with network filesystem reliability
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    38
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    39
  Due to NFS instabilities of unknown origin at TUM, drop-outs have
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    40
  happened before. The following measures of last resort can be applied:
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    41
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    42
    (a) "hg verify" to find offending changesets
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    43
        "hg strip REV" to remove parts of the public history by vivisection
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    44
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    45
    (b) fresh clone from known-good source as explained above
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    46
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    47
  Note that any such non-monotonic changes on the central push area work
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    48
  under the assumption of sequential single-user mode!!
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    49
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    50
  See also http://mercurial.selenic.com/wiki/RepositoryCorruption for
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    51
  further background information.
325bf9073c59 more hints on technical issues due to shared-disk access of central Mercurial repository;
wenzelm
parents: 48779
diff changeset
    52