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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
0ffae4ee4c47 Fix indexing.
Bryan O'Sullivan <bos@serpentine.com>
parents: 814
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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 &lt;aristotle@phil.example.gr&gt;
e9154b3daa94 Repurpose appendix A.
Bryan O'Sullivan <bos@serpentine.com>
parents: 771
diff changeset
95 soc = Socrates &lt;socrates@phil.example.gr&gt;</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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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 &lt;aristotle@phil.example.gr&gt;</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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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
75ccc1e89aef Add paragraph IDS
Bryan O'Sullivan <bos@serpentine.com>
parents: 815
diff changeset
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 -->