| author | huffman | 
| Fri, 22 May 2009 13:18:59 -0700 | |
| changeset 31232 | 689aa7da48cc | 
| parent 30182 | db768c888dfa | 
| child 32361 | 141e5151b918 | 
| permissions | -rw-r--r-- | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 1 | Important notes on Mercurial repository access for Isabelle | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 2 | =========================================================== | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 3 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 4 | Preamble | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 5 | -------- | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 6 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 7 | Mercurial http://www.selenic.com/mercurial belongs to a new generation | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 8 | of source code management systems, following the paradigm of | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 9 | "distributed version control". Compared to the old centralized model | 
| 28913 | 10 | of CVS or SVN, this gives considerable more power and freedom in | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 11 | organizing the flow of changes, both between individual developers and | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 12 | designated pull/push areas that are shared with others. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 13 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 14 | More power for the user also means more responsibility! Due to its | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 15 | decentralized nature, changesets that have been published once, | 
| 28913 | 16 | e.g. via "push" to a shared repository that is visible on the net, | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 17 | cannot be easily retracted from the public again. Regular Mercurial | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 18 | operations are strictly monotonic, where changset transactions are | 
| 28913 | 19 | only added, but never deleted. There are special tools to manipulate | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 20 | individual repositories via non-monotonic actions, but this does not | 
| 28913 | 21 | yet retrieve any changesets that have escaped into the public by | 
| 22 | accident. | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 23 | |
| 28918 | 24 | Only global operations like "pull" and "push" fall into this critical | 
| 25 | category. Note that "incoming" / "outgoing" allow to inspect | |
| 26 | changesets before exchanging them globally. Anything else in | |
| 27 | Mercurial is local to the user's repository clone (including "commit", | |
| 28 | "update", "merge" etc.) and is in fact much simpler and safer to use | |
| 29 | than the corresponding operations of CVS or SVN. | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 30 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 31 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 32 | Initial configuration | 
| 29481 | 33 | --------------------- | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 34 | |
| 30182 | 35 | Always use Mercurial versions from the 1.0 or 1.1 branch, or later. | 
| 28913 | 36 | The old 0.9.x versions do not work in a multi-user environment with | 
| 30182 | 37 | shared file spaces! | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 38 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 39 | |
| 28913 | 40 | The official Isabelle repository can be cloned like this: | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 41 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 42 | hg clone http://isabelle.in.tum.de/repos/isabelle | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 43 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 44 | This will create a local directory "isabelle", unless an alternative | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 45 | name is specified. The full repository meta-data and history of | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 46 | changes is in isabelle/.hg; local configuration for this clone can be | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 47 | added to isabelle/.hg/hgrc, but note that hgrc files are never copied | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 48 | by another clone operation! | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 49 | |
| 28917 | 50 | |
| 28913 | 51 | There is also $HOME/.hgrc for per-user Mercurial configuration. The | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 52 | initial configuration should include at least an entry to identify | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 53 | yourself. For example, something like this in /home/wenzelm/.hgrc: | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 54 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 55 | [ui] | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 56 | username = wenzelm | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 57 | |
| 28917 | 58 | Of course, the user identity can be also configured in | 
| 28918 | 59 | isabelle/.hg/hgrc on per-repository basis. Failing to specify the | 
| 28917 | 60 | username correctly makes the system invent funny machine names that | 
| 61 | may persist indefinitely in the public flow of changesets. | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 62 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 63 | In principle, user names can be chosen freely, but for longterm | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 64 | committers of the Isabelle repository the obvious choice is to keep | 
| 30182 | 65 | with the old CVS naming scheme. Others should use their regular "full | 
| 66 | name"; including an email address is optional. | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 67 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 68 | |
| 28913 | 69 | There are other useful configuration to go into $HOME/.hgrc, | 
| 70 | e.g. defaults for common commands: | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 71 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 72 | [defaults] | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 73 | log = -l 10 | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 74 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 75 | The next example shows how to install some Mercurial extension: | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 76 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 77 | [extensions] | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 78 | hgext.graphlog = | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 79 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 80 | Now the additional glog command will be available. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 81 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 82 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 83 | See also the fine documentation for further details, especially the | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 84 | book http://hgbook.red-bean.com/ | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 85 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 86 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 87 | Shared pull/push access | 
| 29481 | 88 | ----------------------- | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 89 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 90 | The entry point http://isabelle.in.tum.de/repos/isabelle is world | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 91 | readable, both via plain web browsing and the hg client as described | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 92 | above. Anybody can produce a clone, change it arbitrarily, and then | 
| 28913 | 93 | use regular mechanisms of Mercurial to report changes upstream, say | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 94 | via e-mail to someone with write access to that file space. It is | 
| 28913 | 95 | also quite easy to publish changed clones again on the web, using the | 
| 96 | adhoc command "hg serve -v", or the hgweb.cgi or hgwebdir.cgi scripts | |
| 97 | that are included in the Mercurial distribution. | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 98 | |
| 28913 | 99 | The downstream/upstream mode of operation is quite common in the | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 100 | distributed version control community, and works well for occasional | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 101 | changes produced by anybody out there. Of course, upstream | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 102 | maintainers need to review and moderate changes being proposed, before | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 103 | pushing anything onto the official Isabelle repository at TUM. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 104 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 105 | |
| 28913 | 106 | Write access to the Isabelle repository requires an account at TUM, | 
| 107 | with properly configured ssh access to the local machines | |
| 108 | (e.g. macbroy20, atbroy100). You also need to be a member of the | |
| 109 | "isabelle" Unix group. | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 110 | |
| 28913 | 111 | Sharing a locally modified clone then works as follows, using your | 
| 112 | user name instead of "wenzelm": | |
| 113 | ||
| 114 | hg out ssh://wenzelm@atbroy100//home/isabelle-repository/repos/isabelle | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 115 | |
| 28913 | 116 | In fact, the "out" or "outgoing" command performs only a dry run: it | 
| 117 | displays the changesets that would get published. An actual "push", | |
| 118 | with a lasting effect on the Isabelle repository, works like this: | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 119 | |
| 28913 | 120 | hg push ssh://wenzelm@atbroy100//home/isabelle-repository/repos/isabelle | 
| 121 | ||
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 122 | |
| 28913 | 123 | Default paths for push and pull can be configure in isabelle/.hg/hgrc, | 
| 124 | for example: | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 125 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 126 | [paths] | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 127 | default = ssh://wenzelm@atbroy100//home/isabelle-repository/repos/isabelle | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 128 | |
| 28913 | 129 | Now "hg pull" or "hg push" will use that shared file space, unless a | 
| 130 | different URL is specified explicitly. | |
| 131 | ||
| 132 | When cloning a repository, the default path is set to the initial | |
| 133 | source URL. So we could have cloned via that ssh URL in the first | |
| 134 | place, to get exactly to the same point: | |
| 135 | ||
| 136 | hg clone ssh://wenzelm@atbroy100//home/isabelle-repository/repos/isabelle | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 137 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 138 | |
| 30182 | 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 | ||
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 162 | Content discipline | 
| 29481 | 163 | ------------------ | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 164 | |
| 28913 | 165 | Old-style centralized version control is occasionally compared to "a | 
| 166 | library where everybody scribbles into the books". Or seen the other | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 167 | way round, the centralized model discourages individual | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 168 | experimentation (with local branches etc.), because everything is | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 169 | forced to happen on a shared file space. With Mercurial, arbitrary | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 170 | variations on local clones are no problem, but care is required again | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 171 | when publishing changes eventually. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 172 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 173 | The following principles should be kept in mind when producing | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 174 | changesets that might become public at some point. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 175 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 176 | * The author of changes should be properly identified, using | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 177 | ui/username configuration as described above. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 178 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 179 | While Mercurial also provides means for signed changesets, we want | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 180 | to keep things simple and trust that users specify their identity | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 181 | correctly. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 182 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 183 | * The history of sources is an integral part of the sources | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 184 | themselves. This means that private experiments and branches | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 185 | should not be published, unless they are really meant to become | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 186 | universally available. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 187 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 188 | Note that exchanging local experiments with some other users can | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 189 | be done directly on peer-to-peer basis, without affecting the | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 190 | central pull/push area. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 191 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 192 | * Log messages are an integral part of the history of sources. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 193 | Other users will have to look there eventually, to understand why | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 194 | things have been done in a certain way at some point. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 195 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 196 | Mercurial provides nice web presentation of incoming changes with | 
| 28908 | 197 | a digest of log entries; this also includes RSS/Atom news feeds. | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 198 | Users should be aware that others will actually read what is | 
| 30182 | 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. | |
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 202 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 203 | The usual changelog presentation style for the Isabelle repository | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 204 | admits log entries that consist of several lines, but without the | 
| 28913 | 205 | special headline that is used in Mercurial projects elsewhere. | 
| 28907 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 206 | Since some display styles strip newlines from text, it is | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 207 | advisable to separate lines via punctuation, and not rely on | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 208 | two-dimensional presentation too much. | 
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 209 | |
| 
1a470f95ef18
Important notes on Mercurial repository access for Isabelle.
 wenzelm parents: diff
changeset | 210 | |
| 28908 | 211 | Building Isabelle from the repository version | 
| 29481 | 212 | --------------------------------------------- | 
| 28908 | 213 | |
| 28910 | 214 | Compared to a proper distribution or development snapshot, a | 
| 28913 | 215 | repository version of Isabelle lacks textual version identifiers in | 
| 216 | some sources and scripts, and various components produced by | |
| 217 | Admin/build are missing. After applying that script with suitable | |
| 218 | arguments, the regular user instructions for building and running | |
| 219 | Isabelle from sources apply. | |
| 28908 | 220 | |
| 28913 | 221 | Needless to say, the results from the build process must not be added | 
| 222 | to the repository! |