hgbook

diff en/appB-mq-ref.xml @ 560:dbe91bb622d8

Small grammatical fix (does not requires -> does not require)
author Jon Parise <jon@indelible.org>
date Thu Feb 19 20:49:46 2009 -0800 (2009-02-19)
parents 5cd47f721686
children 13513d2a128d
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/en/appB-mq-ref.xml	Thu Feb 19 20:49:46 2009 -0800
     1.3 @@ -0,0 +1,568 @@
     1.4 +<!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
     1.5 +
     1.6 +<appendix id="chap:mqref">
     1.7 +  <title>Mercurial Queues reference</title>
     1.8 +
     1.9 +  <sect1 id="sec:mqref:cmdref">
    1.10 +    <title>MQ command reference</title>
    1.11 +
    1.12 +    <para>For an overview of the commands provided by MQ, use the
    1.13 +      command <command role="hg-cmd">hg help mq</command>.</para>
    1.14 +
    1.15 +    <sect2>
    1.16 +      <title><command role="hg-ext-mq">qapplied</command>&emdash;print
    1.17 +	applied patches</title>
    1.18 +
    1.19 +      <para>The <command role="hg-ext-mq">qapplied</command> command
    1.20 +	prints the current stack of applied patches.  Patches are
    1.21 +	printed in oldest-to-newest order, so the last patch in the
    1.22 +	list is the <quote>top</quote> patch.</para>
    1.23 +
    1.24 +    </sect2>
    1.25 +    <sect2>
    1.26 +      <title><command role="hg-ext-mq">qcommit</command>&emdash;commit
    1.27 +	changes in the queue repository</title>
    1.28 +
    1.29 +      <para>The <command role="hg-ext-mq">qcommit</command> command
    1.30 +	commits any outstanding changes in the <filename
    1.31 +	  role="special" class="directory">.hg/patches</filename>
    1.32 +	repository.  This command only works if the <filename
    1.33 +	  role="special" class="directory">.hg/patches</filename>
    1.34 +	directory is a repository, i.e. you created the directory
    1.35 +	using <command role="hg-cmd">hg qinit <option
    1.36 +	    role="hg-ext-mq-cmd-qinit-opt">-c</option></command> or
    1.37 +	ran <command role="hg-cmd">hg init</command> in the directory
    1.38 +	after running <command
    1.39 +	  role="hg-ext-mq">qinit</command>.</para>
    1.40 +
    1.41 +      <para>This command is shorthand for <command role="hg-cmd">hg
    1.42 +	  commit --cwd .hg/patches</command>.</para>
    1.43 +
    1.44 +      <para>\subsection{<command
    1.45 +	  role="hg-ext-mq">qdelete</command>&emdash;delete a patch
    1.46 +	from the <filename role="special">series</filename>
    1.47 +	file}</para>
    1.48 +
    1.49 +      <para>The <command role="hg-ext-mq">qdelete</command> command
    1.50 +	removes the entry for a patch from the <filename
    1.51 +	  role="special">series</filename> file in the <filename
    1.52 +	  role="special" class="directory">.hg/patches</filename>
    1.53 +	directory.  It does not pop the patch if the patch is already
    1.54 +	applied.  By default, it does not delete the patch file; use
    1.55 +	the <option role="hg-ext-mq-cmd-qdel-opt">-f</option> option
    1.56 +	to do that.</para>
    1.57 +
    1.58 +      <para>Options:</para>
    1.59 +      <itemizedlist>
    1.60 +	<listitem><para><option
    1.61 +	      role="hg-ext-mq-cmd-qdel-opt">-f</option>: Delete the
    1.62 +	    patch file.</para>
    1.63 +	</listitem></itemizedlist>
    1.64 +
    1.65 +    </sect2>
    1.66 +    <sect2>
    1.67 +      <title><command role="hg-ext-mq">qdiff</command>&emdash;print a
    1.68 +	diff of the topmost applied patch</title>
    1.69 +
    1.70 +      <para>The <command role="hg-ext-mq">qdiff</command> command
    1.71 +	prints a diff of the topmost applied patch. It is equivalent
    1.72 +	to <command role="hg-cmd">hg diff -r-2:-1</command>.</para>
    1.73 +
    1.74 +    </sect2>
    1.75 +    <sect2>
    1.76 +      <title><command role="hg-ext-mq">qfold</command>&emdash;merge
    1.77 +	(<quote>fold</quote>) several patches into one</title>
    1.78 +
    1.79 +      <para>The <command role="hg-ext-mq">qfold</command> command
    1.80 +	merges multiple patches into the topmost applied patch, so
    1.81 +	that the topmost applied patch makes the union of all of the
    1.82 +	changes in the patches in question.</para>
    1.83 +
    1.84 +      <para>The patches to fold must not be applied; <command
    1.85 +	  role="hg-ext-mq">qfold</command> will exit with an error if
    1.86 +	any is.  The order in which patches are folded is significant;
    1.87 +	<command role="hg-cmd">hg qfold a b</command> means
    1.88 +	<quote>apply the current topmost patch, followed by
    1.89 +	  <literal>a</literal>, followed by
    1.90 +	  <literal>b</literal></quote>.</para>
    1.91 +
    1.92 +      <para>The comments from the folded patches are appended to the
    1.93 +	comments of the destination patch, with each block of comments
    1.94 +	separated by three asterisk
    1.95 +	(<quote><literal>*</literal></quote>) characters.  Use the
    1.96 +	<option role="hg-ext-mq-cmd-qfold-opt">-e</option> option to
    1.97 +	edit the commit message for the combined patch/changeset after
    1.98 +	the folding has completed.</para>
    1.99 +
   1.100 +      <para>Options:</para>
   1.101 +      <itemizedlist>
   1.102 +	<listitem><para><option
   1.103 +	      role="hg-ext-mq-cmd-qfold-opt">-e</option>: Edit the
   1.104 +	    commit message and patch description for the newly folded
   1.105 +	    patch.</para>
   1.106 +	</listitem>
   1.107 +	<listitem><para><option
   1.108 +	      role="hg-ext-mq-cmd-qfold-opt">-l</option>: Use the
   1.109 +	    contents of the given file as the new commit message and
   1.110 +	    patch description for the folded patch.</para>
   1.111 +	</listitem>
   1.112 +	<listitem><para><option
   1.113 +	      role="hg-ext-mq-cmd-qfold-opt">-m</option>: Use the
   1.114 +	    given text as the new commit message and patch description
   1.115 +	    for the folded patch.</para>
   1.116 +	</listitem></itemizedlist>
   1.117 +
   1.118 +    </sect2>
   1.119 +    <sect2>
   1.120 +      <title><command
   1.121 +	  role="hg-ext-mq">qheader</command>&emdash;display the
   1.122 +	header/description of a patch</title>
   1.123 +
   1.124 +      <para>The <command role="hg-ext-mq">qheader</command> command
   1.125 +	prints the header, or description, of a patch.  By default, it
   1.126 +	prints the header of the topmost applied patch. Given an
   1.127 +	argument, it prints the header of the named patch.</para>
   1.128 +
   1.129 +    </sect2>
   1.130 +    <sect2>
   1.131 +      <title><command role="hg-ext-mq">qimport</command>&emdash;import
   1.132 +	a third-party patch into the queue</title>
   1.133 +
   1.134 +      <para>The <command role="hg-ext-mq">qimport</command> command
   1.135 +	adds an entry for an external patch to the <filename
   1.136 +	  role="special">series</filename> file, and copies the patch
   1.137 +	into the <filename role="special"
   1.138 +	  class="directory">.hg/patches</filename> directory.  It adds
   1.139 +	the entry immediately after the topmost applied patch, but
   1.140 +	does not push the patch.</para>
   1.141 +
   1.142 +      <para>If the <filename role="special"
   1.143 +	  class="directory">.hg/patches</filename> directory is a
   1.144 +	repository, <command role="hg-ext-mq">qimport</command>
   1.145 +	automatically does an <command role="hg-cmd">hg add</command>
   1.146 +	of the imported patch.</para>
   1.147 +
   1.148 +    </sect2>
   1.149 +    <sect2>
   1.150 +      <title><command role="hg-ext-mq">qinit</command>&emdash;prepare
   1.151 +	a repository to work with MQ</title>
   1.152 +
   1.153 +      <para>The <command role="hg-ext-mq">qinit</command> command
   1.154 +	prepares a repository to work with MQ.  It creates a directory
   1.155 +	called <filename role="special"
   1.156 +	  class="directory">.hg/patches</filename>.</para>
   1.157 +
   1.158 +      <para>Options:</para>
   1.159 +      <itemizedlist>
   1.160 +	<listitem><para><option
   1.161 +	      role="hg-ext-mq-cmd-qinit-opt">-c</option>: Create
   1.162 +	    <filename role="special"
   1.163 +	      class="directory">.hg/patches</filename> as a repository
   1.164 +	    in its own right.  Also creates a <filename
   1.165 +	      role="special">.hgignore</filename> file that will
   1.166 +	    ignore the <filename role="special">status</filename>
   1.167 +	    file.</para>
   1.168 +	</listitem></itemizedlist>
   1.169 +
   1.170 +      <para>When the <filename role="special"
   1.171 +	  class="directory">.hg/patches</filename> directory is a
   1.172 +	repository, the <command role="hg-ext-mq">qimport</command>
   1.173 +	and <command role="hg-ext-mq">qnew</command> commands
   1.174 +	automatically <command role="hg-cmd">hg add</command> new
   1.175 +	patches.</para>
   1.176 +
   1.177 +    </sect2>
   1.178 +    <sect2>
   1.179 +      <title><command role="hg-ext-mq">qnew</command>&emdash;create a
   1.180 +	new patch</title>
   1.181 +
   1.182 +      <para>The <command role="hg-ext-mq">qnew</command> command
   1.183 +	creates a new patch.  It takes one mandatory argument, the
   1.184 +	name to use for the patch file.  The newly created patch is
   1.185 +	created empty by default.  It is added to the <filename
   1.186 +	  role="special">series</filename> file after the current
   1.187 +	topmost applied patch, and is immediately pushed on top of
   1.188 +	that patch.</para>
   1.189 +
   1.190 +      <para>If <command role="hg-ext-mq">qnew</command> finds modified
   1.191 +	files in the working directory, it will refuse to create a new
   1.192 +	patch unless the <option
   1.193 +	  role="hg-ext-mq-cmd-qnew-opt">-f</option> option is used
   1.194 +	(see below).  This behaviour allows you to <command
   1.195 +	  role="hg-ext-mq">qrefresh</command> your topmost applied
   1.196 +	patch before you apply a new patch on top of it.</para>
   1.197 +
   1.198 +      <para>Options:</para>
   1.199 +      <itemizedlist>
   1.200 +	<listitem><para><option
   1.201 +	      role="hg-ext-mq-cmd-qnew-opt">-f</option>: Create a new
   1.202 +	    patch if the contents of the working directory are
   1.203 +	    modified.  Any outstanding modifications are added to the
   1.204 +	    newly created patch, so after this command completes, the
   1.205 +	    working directory will no longer be modified.</para>
   1.206 +	</listitem>
   1.207 +	<listitem><para><option
   1.208 +	      role="hg-ext-mq-cmd-qnew-opt">-m</option>: Use the given
   1.209 +	    text as the commit message. This text will be stored at
   1.210 +	    the beginning of the patch file, before the patch
   1.211 +	    data.</para>
   1.212 +	</listitem></itemizedlist>
   1.213 +
   1.214 +    </sect2>
   1.215 +    <sect2>
   1.216 +      <title><command role="hg-ext-mq">qnext</command>&emdash;print
   1.217 +	the name of the next patch</title>
   1.218 +
   1.219 +      <para>The <command role="hg-ext-mq">qnext</command> command
   1.220 +	prints the name name of the next patch in the <filename
   1.221 +	  role="special">series</filename> file after the topmost
   1.222 +	applied patch.  This patch will become the topmost applied
   1.223 +	patch if you run <command
   1.224 +	  role="hg-ext-mq">qpush</command>.</para>
   1.225 +
   1.226 +    </sect2>
   1.227 +    <sect2>
   1.228 +      <title><command role="hg-ext-mq">qpop</command>&emdash;pop
   1.229 +	patches off the stack</title>
   1.230 +
   1.231 +      <para>The <command role="hg-ext-mq">qpop</command> command
   1.232 +	removes applied patches from the top of the stack of applied
   1.233 +	patches.  By default, it removes only one patch.</para>
   1.234 +
   1.235 +      <para>This command removes the changesets that represent the
   1.236 +	popped patches from the repository, and updates the working
   1.237 +	directory to undo the effects of the patches.</para>
   1.238 +
   1.239 +      <para>This command takes an optional argument, which it uses as
   1.240 +	the name or index of the patch to pop to.  If given a name, it
   1.241 +	will pop patches until the named patch is the topmost applied
   1.242 +	patch.  If given a number, <command
   1.243 +	  role="hg-ext-mq">qpop</command> treats the number as an
   1.244 +	index into the entries in the series file, counting from zero
   1.245 +	(empty lines and lines containing only comments do not count).
   1.246 +	It pops patches until the patch identified by the given index
   1.247 +	is the topmost applied patch.</para>
   1.248 +
   1.249 +      <para>The <command role="hg-ext-mq">qpop</command> command does
   1.250 +	not read or write patches or the <filename
   1.251 +	  role="special">series</filename> file.  It is thus safe to
   1.252 +	<command role="hg-ext-mq">qpop</command> a patch that you have
   1.253 +	removed from the <filename role="special">series</filename>
   1.254 +	file, or a patch that you have renamed or deleted entirely.
   1.255 +	In the latter two cases, use the name of the patch as it was
   1.256 +	when you applied it.</para>
   1.257 +
   1.258 +      <para>By default, the <command role="hg-ext-mq">qpop</command>
   1.259 +	command will not pop any patches if the working directory has
   1.260 +	been modified.  You can override this behaviour using the
   1.261 +	<option role="hg-ext-mq-cmd-qpop-opt">-f</option> option,
   1.262 +	which reverts all modifications in the working
   1.263 +	directory.</para>
   1.264 +
   1.265 +      <para>Options:</para>
   1.266 +      <itemizedlist>
   1.267 +	<listitem><para><option
   1.268 +	      role="hg-ext-mq-cmd-qpop-opt">-a</option>: Pop all
   1.269 +	    applied patches.  This returns the repository to its state
   1.270 +	    before you applied any patches.</para>
   1.271 +	</listitem>
   1.272 +	<listitem><para><option
   1.273 +	      role="hg-ext-mq-cmd-qpop-opt">-f</option>: Forcibly
   1.274 +	    revert any modifications to the working directory when
   1.275 +	    popping.</para>
   1.276 +	</listitem>
   1.277 +	<listitem><para><option
   1.278 +	      role="hg-ext-mq-cmd-qpop-opt">-n</option>: Pop a patch
   1.279 +	    from the named queue.</para>
   1.280 +	</listitem></itemizedlist>
   1.281 +
   1.282 +      <para>The <command role="hg-ext-mq">qpop</command> command
   1.283 +	removes one line from the end of the <filename
   1.284 +	  role="special">status</filename> file for each patch that it
   1.285 +	pops.</para>
   1.286 +
   1.287 +    </sect2>
   1.288 +    <sect2>
   1.289 +      <title><command role="hg-ext-mq">qprev</command>&emdash;print
   1.290 +	the name of the previous patch</title>
   1.291 +
   1.292 +      <para>The <command role="hg-ext-mq">qprev</command> command
   1.293 +	prints the name of the patch in the <filename
   1.294 +	  role="special">series</filename> file that comes before the
   1.295 +	topmost applied patch. This will become the topmost applied
   1.296 +	patch if you run <command
   1.297 +	  role="hg-ext-mq">qpop</command>.</para>
   1.298 +
   1.299 +    </sect2>
   1.300 +    <sect2 id="sec:mqref:cmd:qpush">
   1.301 +      <title><command role="hg-ext-mq">qpush</command>&emdash;push
   1.302 +	patches onto the stack</title>
   1.303 +
   1.304 +      <para>The <command role="hg-ext-mq">qpush</command> command adds
   1.305 +	patches onto the applied stack.  By default, it adds only one
   1.306 +	patch.</para>
   1.307 +
   1.308 +      <para>This command creates a new changeset to represent each
   1.309 +	applied patch, and updates the working directory to apply the
   1.310 +	effects of the patches.</para>
   1.311 +
   1.312 +      <para>The default data used when creating a changeset are as
   1.313 +	follows:</para>
   1.314 +      <itemizedlist>
   1.315 +	<listitem><para>The commit date and time zone are the current
   1.316 +	    date and time zone.  Because these data are used to
   1.317 +	    compute the identity of a changeset, this means that if
   1.318 +	    you <command role="hg-ext-mq">qpop</command> a patch and
   1.319 +	    <command role="hg-ext-mq">qpush</command> it again, the
   1.320 +	    changeset that you push will have a different identity
   1.321 +	    than the changeset you popped.</para>
   1.322 +	</listitem>
   1.323 +	<listitem><para>The author is the same as the default used by
   1.324 +	    the <command role="hg-cmd">hg commit</command>
   1.325 +	    command.</para>
   1.326 +	</listitem>
   1.327 +	<listitem><para>The commit message is any text from the patch
   1.328 +	    file that comes before the first diff header.  If there is
   1.329 +	    no such text, a default commit message is used that
   1.330 +	    identifies the name of the patch.</para>
   1.331 +	</listitem></itemizedlist>
   1.332 +      <para>If a patch contains a Mercurial patch header (XXX add
   1.333 +	link), the information in the patch header overrides these
   1.334 +	defaults.</para>
   1.335 +
   1.336 +      <para>Options:</para>
   1.337 +      <itemizedlist>
   1.338 +	<listitem><para><option
   1.339 +	      role="hg-ext-mq-cmd-qpush-opt">-a</option>: Push all
   1.340 +	    unapplied patches from the <filename
   1.341 +	      role="special">series</filename> file until there are
   1.342 +	    none left to push.</para>
   1.343 +	</listitem>
   1.344 +	<listitem><para><option
   1.345 +	      role="hg-ext-mq-cmd-qpush-opt">-l</option>: Add the name
   1.346 +	    of the patch to the end of the commit message.</para>
   1.347 +	</listitem>
   1.348 +	<listitem><para><option
   1.349 +	      role="hg-ext-mq-cmd-qpush-opt">-m</option>: If a patch
   1.350 +	    fails to apply cleanly, use the entry for the patch in
   1.351 +	    another saved queue to compute the parameters for a
   1.352 +	    three-way merge, and perform a three-way merge using the
   1.353 +	    normal Mercurial merge machinery.  Use the resolution of
   1.354 +	    the merge as the new patch content.</para>
   1.355 +	</listitem>
   1.356 +	<listitem><para><option
   1.357 +	      role="hg-ext-mq-cmd-qpush-opt">-n</option>: Use the
   1.358 +	    named queue if merging while pushing.</para>
   1.359 +	</listitem></itemizedlist>
   1.360 +
   1.361 +      <para>The <command role="hg-ext-mq">qpush</command> command
   1.362 +	reads, but does not modify, the <filename
   1.363 +	  role="special">series</filename> file.  It appends one line
   1.364 +	to the <command role="hg-cmd">hg status</command> file for
   1.365 +	each patch that it pushes.</para>
   1.366 +
   1.367 +    </sect2>
   1.368 +    <sect2>
   1.369 +      <title><command
   1.370 +	  role="hg-ext-mq">qrefresh</command>&emdash;update the
   1.371 +	topmost applied patch</title>
   1.372 +
   1.373 +      <para>The <command role="hg-ext-mq">qrefresh</command> command
   1.374 +	updates the topmost applied patch.  It modifies the patch,
   1.375 +	removes the old changeset that represented the patch, and
   1.376 +	creates a new changeset to represent the modified
   1.377 +	patch.</para>
   1.378 +
   1.379 +      <para>The <command role="hg-ext-mq">qrefresh</command> command
   1.380 +	looks for the following modifications:</para>
   1.381 +      <itemizedlist>
   1.382 +	<listitem><para>Changes to the commit message, i.e. the text
   1.383 +	    before the first diff header in the patch file, are
   1.384 +	    reflected in the new changeset that represents the
   1.385 +	    patch.</para>
   1.386 +	</listitem>
   1.387 +	<listitem><para>Modifications to tracked files in the working
   1.388 +	    directory are added to the patch.</para>
   1.389 +	</listitem>
   1.390 +	<listitem><para>Changes to the files tracked using <command
   1.391 +	      role="hg-cmd">hg add</command>, <command
   1.392 +	      role="hg-cmd">hg copy</command>, <command
   1.393 +	      role="hg-cmd">hg remove</command>, or <command
   1.394 +	      role="hg-cmd">hg rename</command>.  Added files and copy
   1.395 +	    and rename destinations are added to the patch, while
   1.396 +	    removed files and rename sources are removed.</para>
   1.397 +	</listitem></itemizedlist>
   1.398 +
   1.399 +      <para>Even if <command role="hg-ext-mq">qrefresh</command>
   1.400 +	detects no changes, it still recreates the changeset that
   1.401 +	represents the patch.  This causes the identity of the
   1.402 +	changeset to differ from the previous changeset that
   1.403 +	identified the patch.</para>
   1.404 +
   1.405 +      <para>Options:</para>
   1.406 +      <itemizedlist>
   1.407 +	<listitem><para><option
   1.408 +	      role="hg-ext-mq-cmd-qrefresh-opt">-e</option>: Modify
   1.409 +	    the commit and patch description, using the preferred text
   1.410 +	    editor.</para>
   1.411 +	</listitem>
   1.412 +	<listitem><para><option
   1.413 +	      role="hg-ext-mq-cmd-qrefresh-opt">-m</option>: Modify
   1.414 +	    the commit message and patch description, using the given
   1.415 +	    text.</para>
   1.416 +	</listitem>
   1.417 +	<listitem><para><option
   1.418 +	      role="hg-ext-mq-cmd-qrefresh-opt">-l</option>: Modify
   1.419 +	    the commit message and patch description, using text from
   1.420 +	    the given file.</para>
   1.421 +	</listitem></itemizedlist>
   1.422 +
   1.423 +    </sect2>
   1.424 +    <sect2>
   1.425 +      <title><command role="hg-ext-mq">qrename</command>&emdash;rename
   1.426 +	a patch</title>
   1.427 +
   1.428 +      <para>The <command role="hg-ext-mq">qrename</command> command
   1.429 +	renames a patch, and changes the entry for the patch in the
   1.430 +	<filename role="special">series</filename> file.</para>
   1.431 +
   1.432 +      <para>With a single argument, <command
   1.433 +	  role="hg-ext-mq">qrename</command> renames the topmost
   1.434 +	applied patch.  With two arguments, it renames its first
   1.435 +	argument to its second.</para>
   1.436 +
   1.437 +    </sect2>
   1.438 +    <sect2>
   1.439 +      <title><command
   1.440 +	  role="hg-ext-mq">qrestore</command>&emdash;restore saved
   1.441 +	queue state</title>
   1.442 +
   1.443 +      <para>XXX No idea what this does.</para>
   1.444 +
   1.445 +    </sect2>
   1.446 +    <sect2>
   1.447 +      <title><command role="hg-ext-mq">qsave</command>&emdash;save
   1.448 +	current queue state</title>
   1.449 +
   1.450 +      <para>XXX Likewise.</para>
   1.451 +
   1.452 +    </sect2>
   1.453 +    <sect2>
   1.454 +      <title><command role="hg-ext-mq">qseries</command>&emdash;print
   1.455 +	the entire patch series</title>
   1.456 +
   1.457 +      <para>The <command role="hg-ext-mq">qseries</command> command
   1.458 +	prints the entire patch series from the <filename
   1.459 +	  role="special">series</filename> file.  It prints only patch
   1.460 +	names, not empty lines or comments.  It prints in order from
   1.461 +	first to be applied to last.</para>
   1.462 +
   1.463 +    </sect2>
   1.464 +    <sect2>
   1.465 +      <title><command role="hg-ext-mq">qtop</command>&emdash;print the
   1.466 +	name of the current patch</title>
   1.467 +
   1.468 +      <para>The <command role="hg-ext-mq">qtop</command> prints the
   1.469 +	name of the topmost currently applied patch.</para>
   1.470 +
   1.471 +    </sect2>
   1.472 +    <sect2>
   1.473 +      <title><command
   1.474 +	  role="hg-ext-mq">qunapplied</command>&emdash;print patches
   1.475 +	not yet applied</title>
   1.476 +
   1.477 +      <para>The <command role="hg-ext-mq">qunapplied</command> command
   1.478 +	prints the names of patches from the <filename
   1.479 +	  role="special">series</filename> file that are not yet
   1.480 +	applied.  It prints them in order from the next patch that
   1.481 +	will be pushed to the last.</para>
   1.482 +
   1.483 +    </sect2>
   1.484 +    <sect2>
   1.485 +      <title><command role="hg-cmd">hg strip</command>&emdash;remove a
   1.486 +	revision and descendants</title>
   1.487 +
   1.488 +      <para>The <command role="hg-cmd">hg strip</command> command
   1.489 +	removes a revision, and all of its descendants, from the
   1.490 +	repository.  It undoes the effects of the removed revisions
   1.491 +	from the repository, and updates the working directory to the
   1.492 +	first parent of the removed revision.</para>
   1.493 +
   1.494 +      <para>The <command role="hg-cmd">hg strip</command> command
   1.495 +	saves a backup of the removed changesets in a bundle, so that
   1.496 +	they can be reapplied if removed in error.</para>
   1.497 +
   1.498 +      <para>Options:</para>
   1.499 +      <itemizedlist>
   1.500 +	<listitem><para><option role="hg-opt-strip">-b</option>: Save
   1.501 +	    unrelated changesets that are intermixed with the stripped
   1.502 +	    changesets in the backup bundle.</para>
   1.503 +	</listitem>
   1.504 +	<listitem><para><option role="hg-opt-strip">-f</option>: If a
   1.505 +	    branch has multiple heads, remove all heads. XXX This
   1.506 +	    should be renamed, and use <literal>-f</literal> to strip
   1.507 +	    revs when there are pending changes.</para>
   1.508 +	</listitem>
   1.509 +	<listitem><para><option role="hg-opt-strip">-n</option>: Do
   1.510 +	    not save a backup bundle.</para>
   1.511 +	</listitem></itemizedlist>
   1.512 +
   1.513 +    </sect2>
   1.514 +  </sect1>
   1.515 +  <sect1>
   1.516 +    <title>MQ file reference</title>
   1.517 +
   1.518 +    <sect2>
   1.519 +      <title>The <filename role="special">series</filename>
   1.520 +	file</title>
   1.521 +
   1.522 +      <para>The <filename role="special">series</filename> file
   1.523 +	contains a list of the names of all patches that MQ can apply.
   1.524 +	It is represented as a list of names, with one name saved per
   1.525 +	line.  Leading and trailing white space in each line are
   1.526 +	ignored.</para>
   1.527 +
   1.528 +      <para>Lines may contain comments.  A comment begins with the
   1.529 +	<quote><literal>#</literal></quote> character, and extends to
   1.530 +	the end of the line.  Empty lines, and lines that contain only
   1.531 +	comments, are ignored.</para>
   1.532 +
   1.533 +      <para>You will often need to edit the <filename
   1.534 +	  role="special">series</filename> file by hand, hence the
   1.535 +	support for comments and empty lines noted above.  For
   1.536 +	example, you can comment out a patch temporarily, and <command
   1.537 +	  role="hg-ext-mq">qpush</command> will skip over that patch
   1.538 +	when applying patches.  You can also change the order in which
   1.539 +	patches are applied by reordering their entries in the
   1.540 +	<filename role="special">series</filename> file.</para>
   1.541 +
   1.542 +      <para>Placing the <filename role="special">series</filename>
   1.543 +	file under revision control is also supported; it is a good
   1.544 +	idea to place all of the patches that it refers to under
   1.545 +	revision control, as well.  If you create a patch directory
   1.546 +	using the <option role="hg-ext-mq-cmd-qinit-opt">-c</option>
   1.547 +	option to <command role="hg-ext-mq">qinit</command>, this will
   1.548 +	be done for you automatically.</para>
   1.549 +
   1.550 +    </sect2>
   1.551 +    <sect2>
   1.552 +      <title>The <filename role="special">status</filename>
   1.553 +	file</title>
   1.554 +
   1.555 +      <para>The <filename role="special">status</filename> file
   1.556 +	contains the names and changeset hashes of all patches that MQ
   1.557 +	currently has applied.  Unlike the <filename
   1.558 +	  role="special">series</filename> file, this file is not
   1.559 +	intended for editing.  You should not place this file under
   1.560 +	revision control, or modify it in any way.  It is used by MQ
   1.561 +	strictly for internal book-keeping.</para>
   1.562 +
   1.563 +    </sect2>
   1.564 +  </sect1>
   1.565 +</appendix>
   1.566 +
   1.567 +<!--
   1.568 +local variables: 
   1.569 +sgml-parent-document: ("00book.xml" "book" "appendix")
   1.570 +end:
   1.571 +-->