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>