README_REPOSITORY
changeset 30182 db768c888dfa
parent 29481 3e8420c1124a
child 32361 141e5151b918
equal deleted inserted replaced
30179:c703c9368c12 30182:db768c888dfa
    30 
    30 
    31 
    31 
    32 Initial configuration
    32 Initial configuration
    33 ---------------------
    33 ---------------------
    34 
    34 
    35 Always use Mercurial version 1.0 or later, such as 1.0.1 or 1.0.2.
    35 Always use Mercurial versions from the 1.0 or 1.1 branch, or later.
    36 The old 0.9.x versions do not work in a multi-user environment with
    36 The old 0.9.x versions do not work in a multi-user environment with
    37 shared file spaces.
    37 shared file spaces!
    38 
    38 
    39 
    39 
    40 The official Isabelle repository can be cloned like this:
    40 The official Isabelle repository can be cloned like this:
    41 
    41 
    42   hg clone http://isabelle.in.tum.de/repos/isabelle
    42   hg clone http://isabelle.in.tum.de/repos/isabelle
    60 username correctly makes the system invent funny machine names that
    60 username correctly makes the system invent funny machine names that
    61 may persist indefinitely in the public flow of changesets.
    61 may persist indefinitely in the public flow of changesets.
    62 
    62 
    63 In principle, user names can be chosen freely, but for longterm
    63 In principle, user names can be chosen freely, but for longterm
    64 committers of the Isabelle repository the obvious choice is to keep
    64 committers of the Isabelle repository the obvious choice is to keep
    65 with the old CVS naming scheme.
    65 with the old CVS naming scheme.  Others should use their regular "full
       
    66 name"; including an email address is optional.
    66 
    67 
    67 
    68 
    68 There are other useful configuration to go into $HOME/.hgrc,
    69 There are other useful configuration to go into $HOME/.hgrc,
    69 e.g. defaults for common commands:
    70 e.g. defaults for common commands:
    70 
    71 
   133 place, to get exactly to the same point:
   134 place, to get exactly to the same point:
   134 
   135 
   135   hg clone ssh://wenzelm@atbroy100//home/isabelle-repository/repos/isabelle
   136   hg clone ssh://wenzelm@atbroy100//home/isabelle-repository/repos/isabelle
   136 
   137 
   137 
   138 
       
   139 Simplified merges
       
   140 -----------------
       
   141 
       
   142 The main idea of Mercurial is to let individual users produce
       
   143 independent branches of development first, but merge with others
       
   144 frequently.  The basic hg merge operation is more general than
       
   145 required for the mode of operation with a shared pull/push area.  The
       
   146 hg fetch extension accommodates this case nicely, automating trivial
       
   147 merges and requiring manual intervention for actual conflicts only.
       
   148 
       
   149 The fetch extension can be configured via the user's ~/.hgrc like
       
   150 this:
       
   151 
       
   152   [extensions]
       
   153   hgext.fetch =
       
   154 
       
   155   [defaults]
       
   156   fetch = -m "merged"
       
   157 
       
   158 Note that the potential for merge conflicts can be greatly reduced by
       
   159 doing "hg fetch" before any starting local changes!
       
   160 
       
   161 
   138 Content discipline
   162 Content discipline
   139 ------------------
   163 ------------------
   140 
   164 
   141 Old-style centralized version control is occasionally compared to "a
   165 Old-style centralized version control is occasionally compared to "a
   142 library where everybody scribbles into the books".  Or seen the other
   166 library where everybody scribbles into the books".  Or seen the other
   170     things have been done in a certain way at some point.
   194     things have been done in a certain way at some point.
   171 
   195 
   172     Mercurial provides nice web presentation of incoming changes with
   196     Mercurial provides nice web presentation of incoming changes with
   173     a digest of log entries; this also includes RSS/Atom news feeds.
   197     a digest of log entries; this also includes RSS/Atom news feeds.
   174     Users should be aware that others will actually read what is
   198     Users should be aware that others will actually read what is
   175     written into log messages.
   199     written into log messages.  There are also add-on browsers,
       
   200     notably hgtk that is part of the TortoiseHg distribution and works
       
   201     for generic Python/GTk platforms.
   176 
   202 
   177     The usual changelog presentation style for the Isabelle repository
   203     The usual changelog presentation style for the Isabelle repository
   178     admits log entries that consist of several lines, but without the
   204     admits log entries that consist of several lines, but without the
   179     special headline that is used in Mercurial projects elsewhere.
   205     special headline that is used in Mercurial projects elsewhere.
   180     Since some display styles strip newlines from text, it is
   206     Since some display styles strip newlines from text, it is
   192 arguments, the regular user instructions for building and running
   218 arguments, the regular user instructions for building and running
   193 Isabelle from sources apply.
   219 Isabelle from sources apply.
   194 
   220 
   195 Needless to say, the results from the build process must not be added
   221 Needless to say, the results from the build process must not be added
   196 to the repository!
   222 to the repository!
   197 
       
   198 
       
   199 Makarius 30-Nov-2008