hgbook
diff en/ch12-mq.xml @ 629:bae6d1503482
Rename xsl to stylesheets
author | Dongsheng Song <dongsheng.song@gmail.com> |
---|---|
date | Thu Mar 12 17:11:59 2009 +0800 (2009-03-12) |
parents | 13513d2a128d |
children | a13813534ccd |
line diff
1.1 --- a/en/ch12-mq.xml Mon Mar 09 23:37:29 2009 -0700 1.2 +++ b/en/ch12-mq.xml Thu Mar 12 17:11:59 2009 +0800 1.3 @@ -1,10 +1,10 @@ 1.4 <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : --> 1.5 1.6 -<chapter id="chap:mq"> 1.7 +<chapter id="chap.mq"> 1.8 <?dbhtml filename="managing-change-with-mercurial-queues.html"?> 1.9 <title>Managing change with Mercurial Queues</title> 1.10 1.11 - <sect1 id="sec:mq:patch-mgmt"> 1.12 + <sect1 id="sec.mq.patch-mgmt"> 1.13 <title>The patch management problem</title> 1.14 1.15 <para>Here is a common scenario: you need to install a software 1.16 @@ -37,7 +37,7 @@ 1.17 <para>When you have few changes to maintain, it is easy to manage 1.18 a single patch using the standard <command>diff</command> and 1.19 <command>patch</command> programs (see section <xref 1.20 - linkend="sec:mq:patch"/> for a discussion of these 1.21 + linkend="sec.mq.patch"/> for a discussion of these 1.22 tools). Once the number of changes grows, it starts to make 1.23 sense to maintain patches as discrete <quote>chunks of 1.24 work,</quote> so that for example a single patch will contain 1.25 @@ -61,7 +61,7 @@ 1.26 simplifies the patch management problem.</para> 1.27 1.28 </sect1> 1.29 - <sect1 id="sec:mq:history"> 1.30 + <sect1 id="sec.mq.history"> 1.31 <title>The prehistory of Mercurial Queues</title> 1.32 1.33 <para>During the late 1990s, several Linux kernel developers 1.34 @@ -76,7 +76,7 @@ 1.35 successfully using these scripts to manage hundreds (sometimes 1.36 thousands) of patches on top of the Linux kernel.</para> 1.37 1.38 - <sect2 id="sec:mq:quilt"> 1.39 + <sect2 id="sec.mq.quilt"> 1.40 <title>A patchwork quilt</title> 1.41 1.42 <para>In early 2003, Andreas Gruenbacher and Martin Quinson 1.43 @@ -120,7 +120,7 @@ 1.44 Subversion working copy.</para> 1.45 1.46 </sect2> 1.47 - <sect2 id="sec:mq:quilt-mq"> 1.48 + <sect2 id="sec.mq.quilt-mq"> 1.49 <title>From patchwork quilt to Mercurial Queues</title> 1.50 1.51 <para>In mid-2005, Chris Mason took the features of quilt and 1.52 @@ -183,7 +183,7 @@ 1.53 And so on.</para> 1.54 1.55 </sect1> 1.56 - <sect1 id="sec:mq:patch"> 1.57 + <sect1 id="sec.mq.patch"> 1.58 <title>Understanding patches</title> 1.59 1.60 <para>Because MQ doesn't hide its patch-oriented nature, it is 1.61 @@ -241,12 +241,12 @@ 1.62 represented by one deletion and one insertion.</para> 1.63 1.64 <para>We will return to some of the more subtle aspects of patches 1.65 - later (in section <xref linkend="sec:mq:adv-patch"/>), but you 1.66 + later (in section <xref linkend="sec.mq.adv-patch"/>), but you 1.67 should have 1.68 enough information now to use MQ.</para> 1.69 1.70 </sect1> 1.71 - <sect1 id="sec:mq:start"> 1.72 + <sect1 id="sec.mq.start"> 1.73 <title>Getting started with Mercurial Queues</title> 1.74 1.75 <para>Because MQ is implemented as an extension, you must 1.76 @@ -400,12 +400,12 @@ 1.77 but the patch no longer has a corresponding changeset in the 1.78 repository, and the working directory does not contain the 1.79 changes made by the patch. Figure <xref 1.80 - linkend="fig:mq:stack"/> illustrates 1.81 + linkend="fig.mq.stack"/> illustrates 1.82 the difference between applied and tracked patches.</para> 1.83 1.84 - <informalfigure id="fig:mq:stack"> 1.85 + <informalfigure id="fig.mq.stack"> 1.86 <mediaobject><imageobject><imagedata 1.87 - fileref="mq-stack"/></imageobject><textobject><phrase>XXX 1.88 + fileref="images/mq-stack.png"/></imageobject><textobject><phrase>XXX 1.89 add text</phrase></textobject><caption><para>Applied and 1.90 unapplied patches in the MQ patch 1.91 stack</para></caption></mediaobject> 1.92 @@ -440,7 +440,7 @@ 1.93 role="hg-ext-mq-cmd-qpop-opt">-a</option> option to <command 1.94 role="hg-ext-mq">qpop</command> causes it to pop all applied 1.95 patches. (For some more ways to push and pop many patches, 1.96 - see section <xref linkend="sec:mq:perf"/> 1.97 + see section <xref linkend="sec.mq.perf"/> 1.98 below.)</para> 1.99 1.100 &interaction.mq.tutorial.qpush-a; 1.101 @@ -501,7 +501,7 @@ 1.102 1.103 </sect2> 1.104 </sect1> 1.105 - <sect1 id="sec:mq:adv-patch"> 1.106 + <sect1 id="sec.mq.adv-patch"> 1.107 <title>More about patches</title> 1.108 1.109 <para>MQ uses the GNU <command>patch</command> command to apply 1.110 @@ -700,7 +700,7 @@ 1.111 and no longer does because you've changed the underlying code 1.112 that your patches are based on, Mercurial Queues can help; see 1.113 section <xref 1.114 - linkend="sec:mq:merge"/> for details.</para> 1.115 + linkend="sec.mq.merge"/> for details.</para> 1.116 1.117 <para>Unfortunately, there aren't any great techniques for 1.118 dealing with rejected hunks. Most often, you'll need to view 1.119 @@ -747,7 +747,7 @@ 1.120 1.121 </sect2> 1.122 </sect1> 1.123 - <sect1 id="sec:mq:perf"> 1.124 + <sect1 id="sec.mq.perf"> 1.125 <title>Getting the best performance out of MQ</title> 1.126 1.127 <para>MQ is very efficient at handling a large number of patches. 1.128 @@ -801,7 +801,7 @@ 1.129 is zero, the second is one, and so on.</para> 1.130 1.131 </sect1> 1.132 - <sect1 id="sec:mq:merge"> 1.133 + <sect1 id="sec.mq.merge"> 1.134 <title>Updating your patches when the underlying code 1.135 changes</title> 1.136 1.137 @@ -945,7 +945,7 @@ 1.138 <programlisting>hg email qbase:qtip 1.139 </programlisting> 1.140 <para> (Don't know what <quote>patchbombing</quote> is? See 1.141 - section <xref linkend="sec:hgext:patchbomb"/>.)</para> 1.142 + section <xref linkend="sec.hgext.patchbomb"/>.)</para> 1.143 </listitem> 1.144 <listitem><para>Need to see all of the patches since 1.145 <literal>foo.patch</literal> that have touched files in a 1.146 @@ -987,7 +987,7 @@ 1.147 that represents the patch after the pop/push will have a 1.148 <emphasis>different identity</emphasis> than the changeset 1.149 that represented the hash beforehand. See section <xref 1.150 - linkend="sec:mqref:cmd:qpush"/> for 1.151 + linkend="sec.mqref.cmd.qpush"/> for 1.152 information as to why this is.</para> 1.153 </listitem> 1.154 <listitem><para>It's not a good idea to <command 1.155 @@ -1000,7 +1000,7 @@ 1.156 </listitem></itemizedlist> 1.157 1.158 </sect1> 1.159 - <sect1 id="sec:mq:repo"> 1.160 + <sect1 id="sec.mq.repo"> 1.161 <title>Managing patches in a repository</title> 1.162 1.163 <para>Because MQ's <filename role="special" 1.164 @@ -1108,7 +1108,7 @@ 1.165 1.166 </sect2> 1.167 </sect1> 1.168 - <sect1 id="sec:mq:tools"> 1.169 + <sect1 id="sec.mq.tools"> 1.170 <title>Third party tools for working with patches</title> 1.171 1.172 <para>Once you've been working with patches for a while, you'll 1.173 @@ -1140,7 +1140,7 @@ 1.174 invocation of <command>filterdiff</command> can generate a 1.175 smaller patch that only touches files whose names match a 1.176 particular glob pattern. See section <xref 1.177 - linkend="mq-collab:tips:interdiff"/> for another 1.178 + linkend="mq-collab.tips.interdiff"/> for another 1.179 example.</para> 1.180 1.181 </sect1> 1.182 @@ -1177,7 +1177,7 @@ 1.183 1.184 <para>For this reason, it is very much worth investing a little 1.185 time to learn how to use some of the third-party tools I 1.186 - described in section <xref linkend="sec:mq:tools"/>, 1.187 + described in section <xref linkend="sec.mq.tools"/>, 1.188 particularly 1.189 <command>diffstat</command> and <command>filterdiff</command>. 1.190 The former will give you a quick idea of what changes your patch 1.191 @@ -1226,7 +1226,7 @@ 1.192 &interaction.mq.tarball.repush; 1.193 1.194 </sect2> 1.195 - <sect2 id="sec:mq:combine"> 1.196 + <sect2 id="sec.mq.combine"> 1.197 <title>Combining entire patches</title> 1.198 1.199 <para>MQ provides a command, <command 1.200 @@ -1299,7 +1299,7 @@ 1.201 1.202 <para>Once you have this hunk, you can concatenate it onto the 1.203 end of your destination patch and continue with the remainder 1.204 - of section <xref linkend="sec:mq:combine"/>.</para> 1.205 + of section <xref linkend="sec.mq.combine"/>.</para> 1.206 1.207 </sect2> 1.208 </sect1>