equal
deleted
inserted
replaced
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 |
|