Mercurial > hgbook
annotate en/appA-svn.xml @ 818:75ccc1e89aef
Add paragraph IDS
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Sun, 26 Apr 2009 23:22:28 -0700 |
parents | 0ffae4ee4c47 |
children | fe31dc9ce440 |
rev | line source |
---|---|
658
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
1 <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : --> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
2 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
3 <appendix id="svn"> |
815 | 4 <?dbhtml filename="migrating-to-mercurial.html"?> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
5 <title>Migrating to Mercurial</title> |
658
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
6 |
818 | 7 <para id="x_6e0">A common way to test the waters with a new revision control |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
8 tool is to experiment with switching an existing project, rather |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
9 than starting a new project from scratch.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
10 |
818 | 11 <para id="x_6e1">In this appendix, we discuss how to import a project's history |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
12 into Mercurial, and what to look out for if you are used to a |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
13 different revision control system.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
14 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
15 <sect1> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
16 <title>Importing history from another system</title> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
17 |
818 | 18 <para id="x_6e2">Mercurial ships with an extension named |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
19 <literal>convert</literal>, which can import project history |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
20 from most popular revision control systems. At the time this |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
21 book was written, it could import history from the following |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
22 systems:</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
23 <itemizedlist> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
24 <listitem> |
818 | 25 <para id="x_6e3">Subversion</para> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
26 </listitem> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
27 <listitem> |
818 | 28 <para id="x_6e4">CVS</para> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
29 </listitem> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
30 <listitem> |
818 | 31 <para id="x_6e5">git</para> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
32 </listitem> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
33 <listitem> |
818 | 34 <para id="x_6e6">Darcs</para> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
35 </listitem> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
36 <listitem> |
818 | 37 <para id="x_6e7">Bazaar</para> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
38 </listitem> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
39 <listitem> |
818 | 40 <para id="x_6e8">Monotone</para> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
41 </listitem> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
42 <listitem> |
818 | 43 <para id="x_6e9">GNU Arch</para> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
44 </listitem> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
45 <listitem> |
818 | 46 <para id="x_6ea">Mercurial</para> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
47 </listitem> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
48 </itemizedlist> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
49 |
818 | 50 <para id="x_6eb">(To see why Mercurial itself is supported as a source, see |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
51 <xref linkend="svn.filemap"/>.)</para> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
52 |
818 | 53 <para id="x_6ec">You can enable the extension in the usual way, by editing |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
54 your <filename>~/.hgrc</filename> file.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
55 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
56 <programlisting>[extensions] |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
57 convert =</programlisting> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
58 |
818 | 59 <para id="x_6ed">This will make a <command>hg convert</command> command |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
60 available. The command is easy to use. For instance, this |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
61 command will import the Subversion history for the Nose unit |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
62 testing framework into Mercurial.</para> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
63 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
64 <screen><prompt>$</prompt> <userinput>hg convert http://python-nose.googlecode.com/svn/trunk</userinput></screen> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
65 |
818 | 66 <para id="x_6ee">The <literal>convert</literal> extension operates |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
67 incrementally. In other words, after you have run <command>hg |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
68 convert</command> once, running it again will import any new |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
69 revisions committed after the first run began. Incremental |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
70 conversion will only work if you run <command>hg |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
71 convert</command> in the same Mercurial repository that you |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
72 originally used, because the <literal>convert</literal> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
73 extension saves some private metadata in a |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
74 non-revision-controlled file named |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
75 <filename>.hg/shamap</filename> inside the target |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
76 repository.</para> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
77 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
78 <sect2> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
79 <title>Mapping user names</title> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
80 |
818 | 81 <para id="x_6ef">Some revision control tools save only short usernames with |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
82 commits, and these can be difficult to interpret. The norm |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
83 with Mercurial is to save a committer's name and email |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
84 address, which is much more useful for talking to them after |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
85 the fact.</para> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
86 |
818 | 87 <para id="x_6f0">If you are converting a tree from a revision control |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
88 system that uses short names, you can map those names to |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
89 longer equivalents by passing a <option>--authors</option> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
90 option to <command>hg convert</command>. This option accepts |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
91 a file name that should contain entries of the following |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
92 form.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
93 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
94 <programlisting>arist = Aristotle <aristotle@phil.example.gr> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
95 soc = Socrates <socrates@phil.example.gr></programlisting> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
96 |
818 | 97 <para id="x_6f1">Whenever <literal>convert</literal> encounters a commit |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
98 with the username <literal>arist</literal> in the source |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
99 repository, it will use the name <literal>Aristotle |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
100 <aristotle@phil.example.gr></literal> in the converted |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
101 Mercurial revision. If no match is found for a name, it is |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
102 used verbatim.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
103 </sect2> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
104 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
105 <sect2 id="svn.filemap"> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
106 <title>Tidying up the tree</title> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
107 |
818 | 108 <para id="x_6f2">Not all projects have pristine history. There may be a |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
109 directory that should never have been checked in, a file that |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
110 is too big, or a whole hierarchy that needs to be |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
111 refactored.</para> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
112 |
818 | 113 <para id="x_6f3">The <literal>convert</literal> extension supports the idea |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
114 of a <quote>file map</quote> that can reorganize the files and |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
115 directories in a project as it imports the project's history. |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
116 This is useful not only when importing history from other |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
117 revision control systems, but also to prune or refactor a |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
118 Mercurial tree.</para> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
119 |
818 | 120 <para id="x_6f4">To specify a file map, use the <option>--filemap</option> |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
121 option and supply a file name. A file map contains lines of the |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
122 following forms.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
123 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
124 <programlisting># This is a comment. |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
125 # Empty lines are ignored. |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
126 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
127 include path/to/file |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
128 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
129 exclude path/to/file |
658
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
130 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
131 rename from/some/path to/some/other/place |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
132 </programlisting> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
133 |
818 | 134 <para id="x_6f5">The <literal>include</literal> directive causes a file, or |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
135 all files under a directory, to be included in the destination |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
136 repository. This also excludes all other files and dirs not |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
137 explicitely included. The <literal>exclude</literal> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
138 directive causes files or directories to be omitted, and |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
139 others not explicitly mentioned to be included.</para> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
140 |
818 | 141 <para id="x_6f6">To move a file or directory from one location to another, |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
142 use the <literal>rename</literal> directive. If you need to |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
143 move a file or directory from a subdirectory into the root of |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
144 the repository, use <literal>.</literal> as the second |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
145 argument to the <literal>rename</literal> directive.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
146 </sect2> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
147 </sect1> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
148 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
149 <sect1> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
150 <title>Migrating from Subversion</title> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
151 |
818 | 152 <para id="x_6f7">Subversion is currently the most popular open source |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
153 revision control system. Although there are many differences |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
154 between Mercurial and Subversion, making the transition from |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
155 Subversion to Mercurial is not particularly difficult. The two |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
156 have similar command sets and generally uniform |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
157 interfaces.</para> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
158 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
159 <sect2> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
160 <title>Philosophical differences</title> |
658
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
161 |
818 | 162 <para id="x_6f8">The fundamental difference between Subversion and |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
163 Mercurial is of course that Subversion is centralized, while |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
164 Mercurial is distributed. Since Mercurial stores all of a |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
165 project's history on your local drive, it only needs to |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
166 perform a network access when you want to explicitly |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
167 communicate with another repository. In contrast, Subversion |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
168 stores very little information locally, and the client must |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
169 thus contact its server for many common operations.</para> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
170 |
818 | 171 <para id="x_6f9">Subversion more or less gets away without a well-defined |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
172 notion of a branch: which portion of a server's namespace |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
173 qualifies as a branch is a matter of convention, with the |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
174 software providing no enforcement. Mercurial treats a |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
175 repository as the unit of branch management.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
176 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
177 <sect3> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
178 <title>Scope of commands</title> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
179 |
818 | 180 <para id="x_6fa">Since Subversion doesn't know what parts of its |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
181 namespace are really branches, it treats most commands as |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
182 requests to operate at and below whatever directory you are |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
183 currently visiting. For instance, if you run <command>svn |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
184 log</command>, you'll get the history of whatever part of |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
185 the tree you're looking at, not the tree as a whole.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
186 |
818 | 187 <para id="x_6fb">Mercurial's commands behave differently, by defaulting |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
188 to operating over an entire repository. Run <command>hg |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
189 log</command> and it will tell you the history of the |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
190 entire tree, no matter what part of the working directory |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
191 you're visiting at the time. If you want the history of |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
192 just a particular file or directory, simply supply it by |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
193 name, e.g. <command>hg log src</command>.</para> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
194 |
818 | 195 <para id="x_6fc">From my own experience, this difference in default |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
196 behaviors is probably the most likely to trip you up if you |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
197 have to switch back and forth frequently between the two |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
198 tools.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
199 </sect3> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
200 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
201 <sect3> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
202 <title>Multi-user operation and safety</title> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
203 |
818 | 204 <para id="x_6fd">With Subversion, it is normal (though slightly frowned |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
205 upon) for multiple people to collaborate in a single branch. |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
206 If Alice and Bob are working together, and Alice commits |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
207 some changes to their shared branch, Bob must update his |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
208 client's view of the branch before he can commit. Since at |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
209 this time he has no permanent record of the changes he has |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
210 made, he can corrupt or lose his modifications during and |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
211 after his update.</para> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
212 |
818 | 213 <para id="x_6fe">Mercurial encourages a commit-then-merge model instead. |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
214 Bob commits his changes locally before pulling changes from, |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
215 or pushing them to, the server that he shares with Alice. |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
216 If Alice pushed her changes before Bob tries to push his, he |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
217 will not be able to push his changes until he pulls hers, |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
218 merges with them, and commits the result of the merge. If |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
219 he makes a mistake during the merge, he still has the option |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
220 of reverting to the commit that recorded his changes.</para> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
221 |
818 | 222 <para id="x_6ff">It is worth emphasizing that these are the common ways |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
223 of working with these tools. Subversion supports a safer |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
224 work-in-your-own-branch model, but it is cumbersome enough |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
225 in practice to not be widely used. Mercurial can support |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
226 the less safe mode of allowing changes to be pulled in and |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
227 merged on top of uncommitted edits, but this is considered |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
228 highly unusual.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
229 </sect3> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
230 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
231 <sect3> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
232 <title>Published vs local changes</title> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
233 |
818 | 234 <para id="x_700">A Subversion <command>svn commit</command> command |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
235 immediately publishes changes to a server, where they can be |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
236 seen by everyone who has read access.</para> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
237 |
818 | 238 <para id="x_701">With Mercurial, commits are always local, and must be |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
239 published via a <command>hg push</command> command |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
240 afterwards.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
241 |
818 | 242 <para id="x_702">Each approach has its advantages and disadvantages. The |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
243 Subversion model means that changes are published, and hence |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
244 reviewable and usable, immediately. On the other hand, this |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
245 means that a user must have commit access to a repository in |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
246 order to use the software in a normal way, and commit access |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
247 is not lightly given out by most open source |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
248 projects.</para> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
249 |
818 | 250 <para id="x_703">The Mercurial approach allows anyone who can clone a |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
251 repository to commit changes without the need for someone |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
252 else's permission, and they can then publish their changes |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
253 and continue to participate however they see fit. The |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
254 distinction between committing and pushing does open up the |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
255 possibility of someone committing changes to their laptop |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
256 and walking away for a few days having forgotten to push |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
257 them, which in rare cases might leave collaborators |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
258 temporarily stuck.</para> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
259 </sect3> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
260 </sect2> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
261 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
262 <sect2> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
263 <title>Quick reference</title> |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
264 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
265 <table> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
266 <title>Subversion commands and Mercurial equivalents</title> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
267 <tgroup cols="3"> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
268 <thead> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
269 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
270 <entry>Subversion</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
271 <entry>Mercurial</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
272 <entry>Notes</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
273 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
274 </thead> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
275 <tbody> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
276 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
277 <entry><command>svn add</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
278 <entry><command>hg add</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
279 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
280 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
281 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
282 <entry><command>svn blame</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
283 <entry><command>hg annotate</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
284 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
285 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
286 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
287 <entry><command>svn cat</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
288 <entry><command>hg cat</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
289 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
290 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
291 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
292 <entry><command>svn checkout</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
293 <entry><command>hg clone</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
294 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
295 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
296 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
297 <entry><command>svn cleanup</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
298 <entry>n/a</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
299 <entry>No cleanup needed</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
300 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
301 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
302 <entry><command>svn commit</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
303 <entry><command>hg commit</command>; <command>hg |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
304 push</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
305 <entry><command>hg push</command> publishes after |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
306 commit</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
307 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
308 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
309 <entry><command>svn copy</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
310 <entry><command>hg clone</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
311 <entry>To create a new branch</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
312 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
313 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
314 <entry><command>svn copy</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
315 <entry><command>hg copy</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
316 <entry>To copy files or directories</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
317 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
318 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
319 <entry><command>svn delete</command> (<command>svn |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
320 remove</command>)</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
321 <entry><command>hg remove</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
322 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
323 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
324 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
325 <entry><command>svn diff</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
326 <entry><command>hg diff</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
327 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
328 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
329 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
330 <entry><command>svn export</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
331 <entry><command>hg archive</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
332 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
333 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
334 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
335 <entry><command>svn help</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
336 <entry><command>hg help</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
337 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
338 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
339 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
340 <entry><command>svn import</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
341 <entry><command>hg addremove</command>; <command>hg |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
342 commit</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
343 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
344 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
345 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
346 <entry><command>svn info</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
347 <entry><command>hg parents</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
348 <entry>Shows what revision is checked out</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
349 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
350 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
351 <entry><command>svn info</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
352 <entry><command>hg showconfig |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
353 paths.parent</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
354 <entry>Shows what URL is checked out</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
355 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
356 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
357 <entry><command>svn list</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
358 <entry><command>hg manifest</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
359 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
360 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
361 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
362 <entry><command>svn log</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
363 <entry><command>hg log</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
364 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
365 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
366 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
367 <entry><command>svn merge</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
368 <entry><command>hg merge</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
369 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
370 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
371 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
372 <entry><command>svn mkdir</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
373 <entry>n/a</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
374 <entry>Mercurial does not track directories</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
375 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
376 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
377 <entry><command>svn move</command> (<command>svn |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
378 rename</command>)</entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
379 <entry><command>hg rename</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
380 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
381 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
382 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
383 <entry><command>svn resolved</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
384 <entry><command>hg resolve -m</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
385 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
386 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
387 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
388 <entry><command>svn revert</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
389 <entry><command>hg revert</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
390 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
391 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
392 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
393 <entry><command>svn status</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
394 <entry><command>hg status</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
395 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
396 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
397 <row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
398 <entry><command>svn update</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
399 <entry><command>hg pull -u</command></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
400 <entry></entry> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
401 </row> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
402 </tbody> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
403 </tgroup> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
404 </table> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
405 </sect2> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
406 </sect1> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
407 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
408 <sect1> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
409 <title>Useful tips for newcomers</title> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
410 |
818 | 411 <para id="x_704">Under some revision control systems, printing a diff for a |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
412 single committed revision can be painful. For instance, with |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
413 Subversion, to see what changed in revision 104654, you must |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
414 type <command>svn diff -r104653:104654</command>. Mercurial |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
415 eliminates the need to type the revision ID twice in this common |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
416 case. For a plain diff, <command>hg export 104654</command>. For |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
417 a log message followed by a diff, <command>hg log -r104654 |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
418 -p</command>.</para> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
419 |
818 | 420 <para id="x_705">When you run <command>hg status</command> without any |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
421 arguments, it prints the status of the entire tree, with paths |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
422 relative to the root of the repository. This makes it tricky to |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
423 copy a file name from the output of <command>hg status</command> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
424 into the command line. If you supply a file or directory name |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
425 to <command>hg status</command>, it will print paths relative to |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
426 your current location instead. So to get tree-wide status from |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
427 <command>hg status</command>, with paths that are relative to |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
428 your current directory and not the root of the repository, feed |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
429 the output of <command>hg root</command> into <command>hg |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
430 status</command>. You can easily do this as follows on a |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
431 Unix-like system:</para> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
432 |
814
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
433 <screen><prompt>$</prompt> <userinput>hg status `hg root`</userinput></screen> |
e9154b3daa94
Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents:
771
diff
changeset
|
434 </sect1> |
658
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
435 </appendix> |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
436 |
658
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
437 <!-- |
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
438 local variables: |
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
439 sgml-parent-document: ("00book.xml" "book" "appendix") |
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
440 end: |
b90b024729f1
WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents:
650
diff
changeset
|
441 --> |