hgbook

changeset 667:3b33dd6aba87

Merge with http://hg.serpentine.com/mercurial/book
author Dongsheng Song <songdongsheng@live.cn>
date Thu Apr 02 09:24:36 2009 +0800 (2009-04-02)
parents d8c85d831fb4 2b193ab0df9a
children 55e2953f82d6
files .hgignore en/00book.xml en/Makefile en/ch00-preface.xml en/ch01-tour-basic.xml en/examples/auto-snippets.xml po/zh.po
line diff
     1.1 --- a/.hgignore	Tue Mar 31 21:17:59 2009 +0800
     1.2 +++ b/.hgignore	Thu Apr 02 09:24:36 2009 +0800
     1.3 @@ -16,6 +16,8 @@
     1.4  .run
     1.5  .validated-00book.xml
     1.6  en/all-ids.dat
     1.7 +en/complete.xml
     1.8 +en/svn
     1.9  web/hgbook/.database.sqlite3
    1.10  web/hgbook/secrets.py
    1.11  web/index-read.html.in
     2.1 --- a/en/00book.xml	Tue Mar 31 21:17:59 2009 +0800
     2.2 +++ b/en/00book.xml	Thu Apr 02 09:24:36 2009 +0800
     2.3 @@ -45,6 +45,8 @@
     2.4    -->
     2.5    <subtitle>Compiled from $rev_id$</subtitle>
     2.6    <bookinfo>
     2.7 +    <edition>1</edition>
     2.8 +    <isbn>9780596800673</isbn>
     2.9      <authorgroup>
    2.10        <author>
    2.11          <firstname>Bryan</firstname>
    2.12 @@ -66,22 +68,40 @@
    2.13      </copyright>
    2.14    </bookinfo>
    2.15  
    2.16 +  <!-- BEGIN ch00 -->
    2.17    &ch00;
    2.18 +  <!-- BEGIN ch01 -->
    2.19    &ch01;
    2.20 +  <!-- BEGIN ch02 -->
    2.21    &ch02;
    2.22 +  <!-- BEGIN ch03 -->
    2.23    &ch03;
    2.24 +  <!-- BEGIN ch04 -->
    2.25    &ch04;
    2.26 +  <!-- BEGIN ch05 -->
    2.27    &ch05;
    2.28 +  <!-- BEGIN ch06 -->
    2.29    &ch06;
    2.30 +  <!-- BEGIN ch07 -->
    2.31    &ch07;
    2.32 +  <!-- BEGIN ch08 -->
    2.33    &ch08;
    2.34 +  <!-- BEGIN ch09 -->
    2.35    &ch09;
    2.36 +  <!-- BEGIN ch10 -->
    2.37    &ch10;
    2.38 +  <!-- BEGIN ch11 -->
    2.39    &ch11;
    2.40 +  <!-- BEGIN ch12 -->
    2.41    &ch12;
    2.42 +  <!-- BEGIN ch13 -->
    2.43    &ch13;
    2.44 +  <!-- BEGIN appA -->
    2.45    <!-- &appA; -->
    2.46 +  <!-- BEGIN appB -->
    2.47    &appB;
    2.48 +  <!-- BEGIN appC -->
    2.49    &appC;
    2.50 +  <!-- BEGIN appD -->
    2.51    &appD;
    2.52  </book>
     3.1 --- a/en/Makefile	Tue Mar 31 21:17:59 2009 +0800
     3.2 +++ b/en/Makefile	Thu Apr 02 09:24:36 2009 +0800
     3.3 @@ -110,7 +110,7 @@
     3.4  hg-version = $(shell hg version -q | \
     3.5  		     sed 's,.*(version \(unknown\|[a-f0-9+]*\)),\1,')
     3.6  
     3.7 -all: web
     3.8 +all: web complete.xml
     3.9  
    3.10  ../stylesheets/system-xsl: $(system-xsl-dir)
    3.11  	ln -s $< $@
    3.12 @@ -120,7 +120,7 @@
    3.13  html: $(obj-web-read)/index.html
    3.14  
    3.15  ../web/index-read.html.in: ../web/genindex.py $(xml-src-files)
    3.16 -	$<
    3.17 +	cd ../web && ./genindex.py
    3.18  
    3.19  $(obj-web-read)/index.html: ../stylesheets/system-xsl .validated-00book.xml ../web/index-read.html.in
    3.20  	xsltproc $(xsltproc-opts) -o $(obj-web-read)/x ../stylesheets/chunk-stylesheet.xsl 00book.xml
    3.21 @@ -134,6 +134,9 @@
    3.22  	cp ../stylesheets/system-xsl/images/*.png $(obj-websup)/figs
    3.23  	cp -f ../web/icons/*.png $(obj-websup)/figs
    3.24  
    3.25 +complete.xml: .validated-00book.xml
    3.26 +	$(xsltproc) $(xsltproc-opts) -o $@ ../stylesheets/dtd-profile.xsl 00book.xml
    3.27 +
    3.28  all-ids.dat: ../stylesheets/all-ids.xsl $(xml-src-files)
    3.29  	$(xsltproc) $(xsltproc-opts) -o $@ ../stylesheets/all-ids.xsl 00book.xml
    3.30  
    3.31 @@ -141,7 +144,7 @@
    3.32  
    3.33  valid: .validated-00book.xml
    3.34  
    3.35 -.validated-00book.xml: $(xml-src-files)
    3.36 +.validated-00book.xml: $(xml-src-files) examples/.run
    3.37  	$(xmllint) --path '$(dtd-dir):$(xml-path)' $(xmllint-opts) $<
    3.38  	touch $@
    3.39  
    3.40 @@ -172,7 +175,7 @@
    3.41  examples: $(example-prereqs) examples/.run
    3.42  
    3.43  examples/.run: $(example-sources)
    3.44 -	cd examples && ./run-example
    3.45 +	cd examples && ./run-example -a
    3.46  
    3.47  examples/%.run: examples/% examples/run-example
    3.48  
     4.1 --- a/en/ch00-preface.xml	Tue Mar 31 21:17:59 2009 +0800
     4.2 +++ b/en/ch00-preface.xml	Thu Apr 02 09:24:36 2009 +0800
     4.3 @@ -68,9 +68,10 @@
     4.4  	    project.</para></listitem>
     4.5        </itemizedlist>
     4.6  
     4.7 -      <para id="x_76">Most of these reasons are equally valid---at least in
     4.8 -	theory---whether you're working on a project by yourself, or
     4.9 -	with a hundred other people.</para>
    4.10 +      <para id="x_76">Most of these reasons are equally
    4.11 +	valid&emdash;at least in theory&emdash;whether you're working
    4.12 +	on a project by yourself, or with a hundred other
    4.13 +	people.</para>
    4.14  
    4.15        <para id="x_77">A key question about the practicality of revision control
    4.16  	at these two different scales (<quote>lone hacker</quote> and
    4.17 @@ -143,7 +144,7 @@
    4.18      <title>About the examples in this book</title>
    4.19  
    4.20      <para id="x_84">This book takes an unusual approach to code samples.  Every
    4.21 -      example is <quote>live</quote>---each one is actually the result
    4.22 +      example is <quote>live</quote>&emdash;each one is actually the result
    4.23        of a shell script that executes the Mercurial commands you see.
    4.24        Every time an image of the book is built from its sources, all
    4.25        the example scripts are automatically run, and their current
    4.26 @@ -353,8 +354,8 @@
    4.27  	centralised system to fall over under the combined load of
    4.28  	just a few dozen concurrent users.  Once again, the typical
    4.29  	response tends to be an expensive and clunky replication
    4.30 -	facility.  Since the load on a central server---if you have
    4.31 -	one at all---is many times lower with a distributed tool
    4.32 +	facility.  Since the load on a central server&emdash;if you have
    4.33 +	one at all&emdash;is many times lower with a distributed tool
    4.34  	(because all of the data is replicated everywhere), a single
    4.35  	cheap server can handle the needs of a much larger team, and
    4.36  	replication to balance load becomes a simple matter of
     5.1 --- a/en/ch01-tour-basic.xml	Tue Mar 31 21:17:59 2009 +0800
     5.2 +++ b/en/ch01-tour-basic.xml	Thu Apr 02 09:24:36 2009 +0800
     5.3 @@ -12,6 +12,26 @@
     5.4        using Mercurial on your computer immediately.</para>
     5.5  
     5.6      <sect2>
     5.7 +      <title>Windows</title>
     5.8 +
     5.9 +      <para id="x_c">The best version of Mercurial for Windows is
    5.10 +	TortoiseHg, which can be found at <ulink
    5.11 +	  url="http://bitbucket.org/tortoisehg/stable/wiki/Home">http://bitbucket.org/tortoisehg/stable/wiki/Home</ulink>. 
    5.12 +	This package has no external dependencies; it <quote>just
    5.13 +	  works</quote>.  It provides both command line and graphical
    5.14 +	user interfaces.</para>
    5.15 +
    5.16 +    </sect2>
    5.17 +
    5.18 +    <sect2>
    5.19 +      <title>Mac OS X</title>
    5.20 +
    5.21 +      <para id="x_a">Lee Cantey publishes an installer of Mercurial
    5.22 +	for Mac OS X at <ulink
    5.23 +	  url="http://mercurial.berkwood.com">http://mercurial.berkwood.com</ulink>.</para>
    5.24 +    </sect2>
    5.25 +
    5.26 +    <sect2>
    5.27        <title>Linux</title>
    5.28  
    5.29        <para id="x_2">Because each Linux distribution has its own packaging
    5.30 @@ -29,18 +49,12 @@
    5.31  	<literal>mercurial</literal>.</para>
    5.32  
    5.33        <itemizedlist>
    5.34 -	<listitem><para id="x_4">Debian:</para>
    5.35 +	<listitem><para id="x_4">Ubuntu and Debian:</para>
    5.36  	  <programlisting>apt-get install mercurial</programlisting></listitem>
    5.37 -	<listitem><para id="x_5">Fedora Core:</para>
    5.38 +	<listitem><para id="x_5">Fedora and OpenSUSE:</para>
    5.39  	  <programlisting>yum install mercurial</programlisting></listitem>
    5.40  	<listitem><para id="x_6">Gentoo:</para>
    5.41  	  <programlisting>emerge mercurial</programlisting></listitem>
    5.42 -	<listitem><para id="x_7">OpenSUSE:</para>
    5.43 -	  <programlisting>yum install mercurial</programlisting></listitem>
    5.44 -	<listitem><para id="x_8">Ubuntu: Ubuntu's Mercurial package is based on
    5.45 -	    Debian's.  To install it, run the following
    5.46 -	    command.</para>
    5.47 -	  <programlisting>apt-get install mercurial</programlisting></listitem>
    5.48        </itemizedlist>
    5.49  
    5.50      </sect2>
    5.51 @@ -49,49 +63,12 @@
    5.52  
    5.53        <para id="x_9">SunFreeWare, at <ulink
    5.54  	  url="http://www.sunfreeware.com">http://www.sunfreeware.com</ulink>, 
    5.55 -	is a good source for a large number of pre-built Solaris
    5.56 -	packages for 32 and 64 bit Intel and Sparc architectures,
    5.57 -	including current versions of Mercurial.</para>
    5.58 -
    5.59 -    </sect2>
    5.60 -    <sect2>
    5.61 -      <title>Mac OS X</title>
    5.62 -
    5.63 -      <para id="x_a">Lee Cantey publishes an installer of Mercurial for Mac OS
    5.64 -	X at <ulink
    5.65 -	  url="http://mercurial.berkwood.com">http://mercurial.berkwood.com</ulink>. 
    5.66 -	This package works on both Intel- and Power-based Macs. Before
    5.67 -	you can use it, you must install a compatible version of
    5.68 -	Universal MacPython <citation>web:macpython</citation>. This
    5.69 -	is easy to do; simply follow the instructions on Lee's
    5.70 -	site.</para>
    5.71 -
    5.72 -      <para id="x_b">It's also possible to install Mercurial using Fink or
    5.73 -	MacPorts, two popular free package managers for Mac OS X.  If
    5.74 -	you have Fink, use <command>sudo apt-get install
    5.75 -	  mercurial-py25</command>.  If MacPorts, <command>sudo port
    5.76 -	  install mercurial</command>.</para>
    5.77 -
    5.78 -    </sect2>
    5.79 -    <sect2>
    5.80 -      <title>Windows</title>
    5.81 -
    5.82 -      <para id="x_c">Lee Cantey publishes an installer of Mercurial for Windows
    5.83 -	at <ulink
    5.84 -	  url="http://mercurial.berkwood.com">http://mercurial.berkwood.com</ulink>. 
    5.85 -	This package has no external dependencies; it <quote>just
    5.86 -	  works</quote>.</para>
    5.87 -
    5.88 -      <note>
    5.89 -	<para id="x_d">  The Windows version of Mercurial does not
    5.90 -	  automatically convert line endings between Windows and Unix
    5.91 -	  styles.  If you want to share work with Unix users, you must
    5.92 -	  do a little additional configuration work. XXX Flesh this
    5.93 -	  out.</para>
    5.94 -      </note>
    5.95 -
    5.96 -    </sect2>
    5.97 +	provides prebuilt packages of Mercurial.</para>
    5.98 +
    5.99 +    </sect2>
   5.100 +
   5.101    </sect1>
   5.102 +
   5.103    <sect1>
   5.104      <title>Getting started</title>
   5.105  
   5.106 @@ -150,10 +127,16 @@
   5.107  	command to make a copy of a repository, it's best to use a
   5.108  	built-in command that Mercurial provides.  This command is
   5.109  	called <command role="hg-cmd">hg clone</command>, because it
   5.110 -	creates an identical copy of an existing repository.</para>
   5.111 +	makes an identical copy of an existing repository.</para>
   5.112  
   5.113        &interaction.tour.clone;
   5.114  
   5.115 +      <para>One advantage of using <command role="hg-cmd">hg
   5.116 +	  clone</command> is that, as we can see above, it lets us clone
   5.117 +	repositories over the network.  Another is that it remembers
   5.118 +	where we cloned from, which we'll find useful soon when we
   5.119 +	want to fetch new changes from another repository.</para>
   5.120 +
   5.121        <para id="x_14">If our clone succeeded, we should now have a local
   5.122  	directory called <filename class="directory">hello</filename>.
   5.123  	This directory will contain some files.</para>
   5.124 @@ -163,12 +146,12 @@
   5.125        <para id="x_15">These files have the same contents and history in our
   5.126  	repository as they do in the repository we cloned.</para>
   5.127  
   5.128 -      <para id="x_16">Every Mercurial repository is complete, self-contained,
   5.129 -	and independent.  It contains its own private copy of a
   5.130 -	project's files and history.  A cloned repository remembers
   5.131 -	the location of the repository it was cloned from, but it does
   5.132 -	not communicate with that repository, or any other, unless you
   5.133 -	tell it to.</para>
   5.134 +      <para id="x_16">Every Mercurial repository is complete,
   5.135 +	self-contained, and independent.  It contains its own private
   5.136 +	copy of a project's files and history.  As we just mentioned,
   5.137 +	a cloned repository remembers the location of the repository
   5.138 +	it was cloned from, but Mercurial will not communicate with
   5.139 +	that repository, or any other, unless you tell it to.</para>
   5.140  
   5.141        <para id="x_17">What this means for now is that we're free to experiment
   5.142  	with our repository, safe in the knowledge that it's a private
   5.143 @@ -211,7 +194,7 @@
   5.144      <para id="x_1b">One of the first things we might want to do with a new,
   5.145        unfamiliar repository is understand its history.  The <command
   5.146  	role="hg-cmd">hg log</command> command gives us a view of
   5.147 -      history.</para>
   5.148 +      the history of changes in the repository.</para>
   5.149  
   5.150      &interaction.tour.log;
   5.151  
   5.152 @@ -223,13 +206,20 @@
   5.153  
   5.154      <para id="x_1d">The fields in a record of output from <command
   5.155  	role="hg-cmd">hg log</command> are as follows.</para>
   5.156 +
   5.157      <itemizedlist>
   5.158 -      <listitem><para id="x_1e"><literal>changeset</literal>: This field has the
   5.159 -	  format of a number, followed by a colon, followed by a
   5.160 -	  hexadecimal string.  These are
   5.161 -	  <emphasis>identifiers</emphasis> for the changeset.  There
   5.162 -	  are two identifiers because the number is shorter and easier
   5.163 -	  to type than the hex string.</para></listitem>
   5.164 +      <listitem><para id="x_1e"><literal>changeset</literal>: This
   5.165 +	  field has the format of a number, followed by a colon,
   5.166 +	  followed by a hexadecimal (or <emphasis>hex</emphasis>)
   5.167 +	  string.  These are <emphasis>identifiers</emphasis> for the
   5.168 +	  changeset.  The hex string is a unique identifier: the same
   5.169 +	  hex string will always refer to the same changeset. The
   5.170 +	  number is shorter and easier to type than the hex string,
   5.171 +	  but it isn't unique: the same number in two different clones
   5.172 +	  of a repository may identify different changesets.  Why
   5.173 +	  provide the number at all, then?  For local
   5.174 +	  convenience.</para>
   5.175 +      </listitem>
   5.176        <listitem><para id="x_1f"><literal>user</literal>: The identity of the
   5.177  	  person who created the changeset.  This is a free-form
   5.178  	  field, but it most often contains a person's name and email
   5.179 @@ -241,10 +231,19 @@
   5.180  	  person who created the changeset.)</para></listitem>
   5.181        <listitem><para id="x_21"><literal>summary</literal>: The first line of
   5.182  	  the text message that the creator of the changeset entered
   5.183 -	  to describe the changeset.</para></listitem></itemizedlist>
   5.184 -    <para id="x_22">The default output printed by <command role="hg-cmd">hg
   5.185 -	log</command> is purely a summary; it is missing a lot of
   5.186 -      detail.</para>
   5.187 +	  to describe the changeset.</para></listitem>
   5.188 +      <listitem>
   5.189 +	<para>Some changesets, such as the first in the list above,
   5.190 +	  have a <literal>tag</literal> field.  A tag is another way
   5.191 +	  to identify a changeset, by giving it an easy-to-remember
   5.192 +	  name. (The tag named <literal>tip</literal> is special: it
   5.193 +	  always refers to the newest change in a repository.)</para>
   5.194 +      </listitem>
   5.195 +    </itemizedlist>
   5.196 +
   5.197 +    <para id="x_22">The default output printed by <command
   5.198 +	role="hg-cmd">hg log</command> is purely a summary; it is
   5.199 +      missing a lot of detail.</para>
   5.200  
   5.201      <para id="x_23"><xref linkend="fig:tour-basic:history"/> provides
   5.202        a graphical representation of the history of the <filename
   5.203 @@ -286,22 +285,26 @@
   5.204  	  log</command> identifies a changeset using both a number and
   5.205  	a hexadecimal string.</para>
   5.206        <itemizedlist>
   5.207 -	<listitem><para id="x_27">The revision number is <emphasis>only valid in
   5.208 -	      that repository</emphasis>,</para></listitem>
   5.209 -	<listitem><para id="x_28">while the hex string is the
   5.210 +	<listitem><para id="x_27">The revision number is a handy
   5.211 +	    notation that is <emphasis>only valid in that
   5.212 +	      repository</emphasis>.</para></listitem>
   5.213 +	<listitem><para id="x_28">The hexadecimal string is the
   5.214  	    <emphasis>permanent, unchanging identifier</emphasis> that
   5.215  	    will always identify that exact changeset in
   5.216  	    <emphasis>every</emphasis> copy of the
   5.217  	    repository.</para></listitem></itemizedlist>
   5.218 -      <para id="x_29">This distinction is important.  If you send someone an
   5.219 -	email talking about <quote>revision 33</quote>, there's a high
   5.220 -	likelihood that their revision 33 will <emphasis>not be the
   5.221 -	  same</emphasis> as yours.  The reason for this is that a
   5.222 -	revision number depends on the order in which changes arrived
   5.223 -	in a repository, and there is no guarantee that the same
   5.224 -	changes will happen in the same order in different
   5.225 -	repositories. Three changes $a,b,c$ can easily appear in one
   5.226 -	repository as $0,1,2$, while in another as $1,0,2$.</para>
   5.227 +
   5.228 +      <para id="x_29">This distinction is important.  If you send
   5.229 +	someone an email talking about <quote>revision 33</quote>,
   5.230 +	there's a high likelihood that their revision 33 will
   5.231 +	<emphasis>not be the same</emphasis> as yours.  The reason for
   5.232 +	this is that a revision number depends on the order in which
   5.233 +	changes arrived in a repository, and there is no guarantee
   5.234 +	that the same changes will happen in the same order in
   5.235 +	different repositories. Three changes <literal>a,b,c</literal>
   5.236 +	can easily appear in one repository as
   5.237 +	<literal>0,1,2</literal>, while in another as
   5.238 +	<literal>0,2,1</literal>.</para>
   5.239  
   5.240        <para id="x_2a">Mercurial uses revision numbers purely as a convenient
   5.241  	shorthand.  If you need to discuss a changeset with someone,
   5.242 @@ -317,7 +320,7 @@
   5.243  	  log</command> down to a single revision, use the <option
   5.244  	  role="hg-opt-log">-r</option> (or <option
   5.245  	  role="hg-opt-log">--rev</option>) option.  You can use
   5.246 -	either a revision number or a long-form changeset identifier,
   5.247 +	either a revision number or a hexadecimal identifier,
   5.248  	and you can provide as many revisions as you want.</para>
   5.249  
   5.250        &interaction.tour.log-r;
   5.251 @@ -361,8 +364,12 @@
   5.252  
   5.253        &interaction.tour.log-vp;
   5.254  
   5.255 +      <para>The <option role="hg-opt-log">-p</option> option is
   5.256 +	tremendously useful, so it's well worth remembering.</para>
   5.257 +
   5.258      </sect2>
   5.259    </sect1>
   5.260 +
   5.261    <sect1>
   5.262      <title>All about command options</title>
   5.263  
   5.264 @@ -374,26 +381,42 @@
   5.265        dealing with the options that you can pass to commands.  It
   5.266        follows the conventions for options that are common to modern
   5.267        Linux and Unix systems.</para>
   5.268 +
   5.269      <itemizedlist>
   5.270 -      <listitem><para id="x_32">Every option has a long name.  For example, as
   5.271 +      <listitem>
   5.272 +	<para id="x_32">Every option has a long name.  For example, as
   5.273  	  we've already seen, the <command role="hg-cmd">hg
   5.274  	    log</command> command accepts a <option
   5.275 -	    role="hg-opt-log">--rev</option> option.</para></listitem>
   5.276 -      <listitem><para id="x_33">Most options have short names, too.  Instead of
   5.277 -	  <option role="hg-opt-log">--rev</option>, we can use <option
   5.278 -	    role="hg-opt-log">-r</option>.  (The reason that some
   5.279 -	  options don't have short names is that the options in
   5.280 -	  question are rarely used.)</para></listitem>
   5.281 -      <listitem><para id="x_34">Long options start with two dashes (e.g. <option
   5.282 -	    role="hg-opt-log">--rev</option>), while short options
   5.283 -	  start with one (e.g. <option
   5.284 -	    role="hg-opt-log">-r</option>).</para></listitem>
   5.285 -      <listitem><para id="x_35">Option naming and usage is consistent across
   5.286 +	    role="hg-opt-log">--rev</option> option.</para>
   5.287 +      </listitem>
   5.288 +      <listitem>
   5.289 +	<para id="x_33">Most options have short names, too.  Instead
   5.290 +	  of <option role="hg-opt-log">--rev</option>, we can use
   5.291 +	  <option role="hg-opt-log">-r</option>.  (The reason that
   5.292 +	  some options don't have short names is that the options in
   5.293 +	  question are rarely used.)</para>
   5.294 +      </listitem>
   5.295 +      <listitem>
   5.296 +	<para id="x_34">Long options start with two dashes (e.g.
   5.297 +	  <option role="hg-opt-log">--rev</option>), while short
   5.298 +	  options start with one (e.g. <option
   5.299 +	    role="hg-opt-log">-r</option>).</para>
   5.300 +      </listitem>
   5.301 +      <listitem>
   5.302 +	<para id="x_35">Option naming and usage is consistent across
   5.303  	  commands.  For example, every command that lets you specify
   5.304  	  a changeset ID or revision number accepts both <option
   5.305  	    role="hg-opt-log">-r</option> and <option
   5.306 -	    role="hg-opt-log">--rev</option>
   5.307 -	  arguments.</para></listitem></itemizedlist>
   5.308 +	    role="hg-opt-log">--rev</option> arguments.</para>
   5.309 +      </listitem>
   5.310 +      <listitem>
   5.311 +	<para>If you are using short options, you can save typing by
   5.312 +	  running them together. For example, the command <command
   5.313 +	    role="hg-cmd">hg log -v -p -r 2</command> can be written
   5.314 +	  as <command role="hg-cmd">hg log -vpr2</command>.</para>
   5.315 +      </listitem>
   5.316 +    </itemizedlist>
   5.317 +
   5.318      <para id="x_36">In the examples throughout this book, I use short options
   5.319        instead of long.  This just reflects my own preference, so don't
   5.320        read anything significant into it.</para>
   5.321 @@ -404,6 +427,18 @@
   5.322        less when passed <option role="hg-opt-global">-q</option> (or
   5.323        <option role="hg-opt-global">--quiet</option>).</para>
   5.324  
   5.325 +    <note>
   5.326 +      <title>Option naming consistency</title>
   5.327 +
   5.328 +      <para>Almost always, Mercurial commands use consistent option
   5.329 +	names to refer to the same concepts.  For instance, if a
   5.330 +	command deals with changesets, you'll always identify them
   5.331 +	with <option role="hg-opt-log">--rev</option> or <option
   5.332 +	  role="hg-opt-log">-r</option>.  This consistent use of
   5.333 +	option names makes it easier to remember what options a
   5.334 +	particular command takes.</para>
   5.335 +    </note>
   5.336 +
   5.337    </sect1>
   5.338    <sect1>
   5.339      <title>Making and reviewing changes</title>
   5.340 @@ -418,7 +453,14 @@
   5.341        the remote repository.  Since we already have a copy of it
   5.342        locally, we can just clone that instead.  This is much faster
   5.343        than cloning over the network, and cloning a local repository
   5.344 -      uses less disk space in most cases, too.</para>
   5.345 +      uses less disk space in most cases, too<footnote>
   5.346 +	<para>The saving of space arises when source and destination
   5.347 +	  repositories are on the same filesystem, in which case
   5.348 +	  Mercurial will use hardlinks to do copy-on-write sharing of
   5.349 +	  its internal metadata.  If that explanation meant nothing to
   5.350 +	  you, don't worry: everything happens transparently and
   5.351 +	  automatically, and you don't need to understand it.</para>
   5.352 +	</footnote>.</para>
   5.353  
   5.354      &interaction.tour.reclone;
   5.355  
   5.356 @@ -433,16 +475,14 @@
   5.357  
   5.358      <para id="x_3b">In our <filename class="directory">my-hello</filename>
   5.359        repository, we have a file <filename>hello.c</filename> that
   5.360 -      contains the classic <quote>hello, world</quote> program. Let's
   5.361 -      use the ancient and venerable <command>sed</command> command to
   5.362 -      edit this file so that it prints a second line of output.  (I'm
   5.363 -      only using <command>sed</command> to do this because it's easy
   5.364 -      to write a scripted example this way.  Since you're not under
   5.365 -      the same constraint, you probably won't want to use
   5.366 -      <command>sed</command>; simply use your preferred text editor to
   5.367 -      do the same thing.)</para>
   5.368 -
   5.369 -    &interaction.tour.sed;
   5.370 +      contains the classic <quote>hello, world</quote> program.</para>
   5.371 +
   5.372 +    &interaction.tour.cat1;
   5.373 +
   5.374 +    <para>Let's edit this file so that it prints a second line of
   5.375 +      output.</para>
   5.376 +
   5.377 +    &interaction.tour.cat2;
   5.378  
   5.379      <para id="x_3c">Mercurial's <command role="hg-cmd">hg status</command>
   5.380        command will tell us what Mercurial knows about the files in the
   5.381 @@ -465,7 +505,7 @@
   5.382        file after we were done; it was able to figure this out
   5.383        itself.</para>
   5.384  
   5.385 -    <para id="x_3f">It's a little bit helpful to know that we've modified
   5.386 +    <para id="x_3f">It's somewhat helpful to know that we've modified
   5.387        <filename>hello.c</filename>, but we might prefer to know
   5.388        exactly <emphasis>what</emphasis> changes we've made to it.  To
   5.389        do this, we use the <command role="hg-cmd">hg diff</command>
   5.390 @@ -473,6 +513,13 @@
   5.391  
   5.392      &interaction.tour.diff;
   5.393  
   5.394 +    <tip>
   5.395 +      <title>Understanding patches</title>
   5.396 +
   5.397 +      <para>Remember to take a look at <xref
   5.398 +	  linkend="sec:mq:patch"/> if you don't know how to read
   5.399 +	output above.</para>
   5.400 +    </tip>
   5.401    </sect1>
   5.402    <sect1>
   5.403      <title>Recording changes in a new changeset</title>
   5.404 @@ -549,10 +596,13 @@
   5.405  	    configuration settings.  The initial contents of your
   5.406  	    <filename role="special">.hgrc</filename> should look like
   5.407  	    this.</para>
   5.408 +
   5.409 +	<remark>Figure out what the appropriate directory is on
   5.410 +	  Windows.</remark>
   5.411 +
   5.412  	<programlisting># This is a Mercurial configuration file.
   5.413  [ui]
   5.414 -username = Firstname Lastname
   5.415 -&lt;email.address@domain.net&gt;</programlisting>
   5.416 +username = Firstname Lastname &lt;email.address@domain.net&gt;</programlisting>
   5.417  
   5.418  	<para id="x_4b">The <quote><literal>[ui]</literal></quote> line begins a
   5.419  	  <emphasis>section</emphasis> of the config file, so you can
   5.420 @@ -571,8 +621,8 @@
   5.421  
   5.422  	<para id="x_4c">You can use any text you like as the value of
   5.423  	    the <literal>username</literal> config item, since this
   5.424 -	    information is for reading by other people, but for
   5.425 -	    interpreting by Mercurial.  The convention that most
   5.426 +	    information is for reading by other people, but will not be
   5.427 +	    interpreted by Mercurial.  The convention that most
   5.428  	    people follow is to use their name and email address, as
   5.429  	    in the example above.</para>
   5.430  	<note>
   5.431 @@ -600,10 +650,17 @@
   5.432  
   5.433        <para id="x_4f">The editor that the <command role="hg-cmd">hg
   5.434  	    commit</command> command drops us into will contain an
   5.435 -	  empty line, followed by a number of lines starting with
   5.436 +	  empty line or two, followed by a number of lines starting with
   5.437  	  <quote><literal>HG:</literal></quote>.</para>
   5.438  
   5.439 -    <programlisting>XXX fix this XXX</programlisting>
   5.440 +    <programlisting>
   5.441 +This is where I type my commit comment.
   5.442 +
   5.443 +HG: Enter commit message.  Lines beginning with 'HG:' are removed.
   5.444 +HG: --
   5.445 +HG: user: Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   5.446 +HG: branch 'default'
   5.447 +HG: changed hello.c</programlisting>
   5.448  
   5.449        <para id="x_50">Mercurial ignores the lines that start with
   5.450  	  <quote><literal>HG:</literal></quote>; it uses them only to
   5.451 @@ -665,9 +722,18 @@
   5.452  
   5.453        &interaction.tour.tip;
   5.454  
   5.455 -      <para id="x_57">We refer to
   5.456 -	  the newest revision in the repository as the tip revision,
   5.457 -	  or simply the tip.</para>
   5.458 +      <para id="x_57">We refer to the newest revision in the
   5.459 +	repository as the <emphasis>tip revision</emphasis>, or simply
   5.460 +	the <emphasis>tip</emphasis>.</para>
   5.461 +
   5.462 +      <para>By the way, the <command role="hg-cmd">hg tip</command>
   5.463 +	command accepts many of the same options as <command
   5.464 +	  role="hg-cmd">hg log</command>, so <option
   5.465 +	  role="hg-opt-global">-v</option> above indicates <quote>be
   5.466 +	  verbose</quote>, <option role="hg-opt-tip">-p</option>
   5.467 +	specifies <quote>print a patch</quote>.  The use of <option
   5.468 +	  role="hg-opt-tip">-p</option> to print patches is another
   5.469 +	example of the consistent naming we mentioned earlier.</para>
   5.470      </sect2>
   5.471    </sect1>
   5.472  
   5.473 @@ -704,12 +770,13 @@
   5.474  
   5.475        &interaction.tour.incoming;
   5.476  
   5.477 -      <para id="x_5b">(Of course, someone could
   5.478 -	  cause more changesets to appear in the repository that we
   5.479 -	  ran <command role="hg-cmd">hg incoming</command> in, before
   5.480 -	  we get a chance to <command role="hg-cmd">hg pull</command>
   5.481 -	  the changes, so that we could end up pulling changes that we
   5.482 -	  didn't expect.)</para>
   5.483 +      <para id="x_5b">Suppose you're pulling changes from a repository
   5.484 +      on the network somewhere. While you are looking at the <command
   5.485 +	  role="hg-cmd">hg incoming</command> output, and before you
   5.486 +	pull those changes, someone might have committed something in
   5.487 +	the remote repository. This means that it's possible to pull
   5.488 +	more changes than you saw when using <command
   5.489 +	  role="hg-cmd">hg incoming</command>.</para>
   5.490  
   5.491        <para id="x_5c">Bringing changes into a repository is a simple
   5.492  	  matter of running the <command role="hg-cmd">hg
   5.493 @@ -746,8 +813,8 @@
   5.494  	can use <command role="hg-cmd">hg update</command> to update
   5.495  	the working directory to the state it was in at <emphasis>any
   5.496  	  revision</emphasis> in the history of the repository.  If
   5.497 -	you had the working directory updated to an old revision---to
   5.498 -	hunt down the origin of a bug, say---and ran a <command
   5.499 +	you had the working directory updated to an old revision&emdash;to
   5.500 +	hunt down the origin of a bug, say&emdash;and ran a <command
   5.501  	  role="hg-cmd">hg pull</command> which automatically updated
   5.502  	the working directory to a new revision, you might not be
   5.503  	terribly happy.</para>
   5.504 @@ -817,14 +884,17 @@
   5.505  
   5.506        &interaction.tour.push;
   5.507  
   5.508 -      <para id="x_69">As with
   5.509 -	  <command role="hg-cmd">hg pull</command>, the <command
   5.510 -	    role="hg-cmd">hg push</command> command does not update
   5.511 -	  the working directory in the repository that it's pushing
   5.512 -	  changes into. (Unlike <command role="hg-cmd">hg
   5.513 -	    pull</command>, <command role="hg-cmd">hg push</command>
   5.514 -	  does not provide a <literal>-u</literal> option that updates
   5.515 -	  the other repository's working directory.)</para>
   5.516 +      <para id="x_69">As with <command role="hg-cmd">hg
   5.517 +	  pull</command>, the <command role="hg-cmd">hg push</command>
   5.518 +	command does not update the working directory in the
   5.519 +	repository that it's pushing changes into. Unlike <command
   5.520 +	  role="hg-cmd">hg pull</command>, <command role="hg-cmd">hg
   5.521 +	  push</command> does not provide a <literal>-u</literal>
   5.522 +	option that updates the other repository's working directory.
   5.523 +	This asymmetry is deliberate: the repository we're pushing to
   5.524 +	might be on a remote server and shared between several people.
   5.525 +	If we were to update its working directory while someone was
   5.526 +	working in it, their work would be disrupted.</para>
   5.527  
   5.528        <para id="x_6a">What happens if we try to pull or push changes
   5.529  	  and the receiving repository already has those changes?
     6.1 --- a/en/examples/auto-snippets.xml	Tue Mar 31 21:17:59 2009 +0800
     6.2 +++ b/en/examples/auto-snippets.xml	Thu Apr 02 09:24:36 2009 +0800
     6.3 @@ -180,6 +180,8 @@
     6.4  <!ENTITY interaction.tour-merge-conflict.pull SYSTEM "results/tour-merge-conflict.pull.lxo">
     6.5  <!ENTITY interaction.tour-merge-conflict.son SYSTEM "results/tour-merge-conflict.son.lxo">
     6.6  <!ENTITY interaction.tour-merge-conflict.wife SYSTEM "results/tour-merge-conflict.wife.lxo">
     6.7 +<!ENTITY interaction.tour.cat1 SYSTEM "results/tour.cat1.lxo">
     6.8 +<!ENTITY interaction.tour.cat2 SYSTEM "results/tour.cat2.lxo">
     6.9  <!ENTITY interaction.tour.clone SYSTEM "results/tour.clone.lxo">
    6.10  <!ENTITY interaction.tour.clone-pull SYSTEM "results/tour.clone-pull.lxo">
    6.11  <!ENTITY interaction.tour.clone-push SYSTEM "results/tour.clone-push.lxo">
     7.1 --- a/en/examples/run-example	Tue Mar 31 21:17:59 2009 +0800
     7.2 +++ b/en/examples/run-example	Thu Apr 02 09:24:36 2009 +0800
     7.3 @@ -127,9 +127,11 @@
     7.4          s = open(self.name).read().rstrip()
     7.5          s = s.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')
     7.6          ofp = wopen(result_name(self.name + '.tmp'))
     7.7 +        ofp.write('<!-- BEGIN %s -->\n' % self.name)
     7.8          ofp.write('<programlisting>')
     7.9          ofp.write(s)
    7.10          ofp.write('</programlisting>\n')
    7.11 +        ofp.write('<!-- END %s -->\n' % self.name)
    7.12          ofp.close()
    7.13          self.rename_output(self.name)
    7.14          norm = self.name.replace(os.sep, '-')
    7.15 @@ -309,6 +311,7 @@
    7.16                              assert os.sep not in out
    7.17                              if ofp is not None:
    7.18                                  ofp.write('</screen>\n')
    7.19 +                                ofp.write('<!-- END %s -->\n' % ofp_basename)
    7.20                                  ofp.close()
    7.21                                  err |= self.rename_output(ofp_basename, ignore)
    7.22                              if out:
    7.23 @@ -320,6 +323,7 @@
    7.24                                      % (norm, norm)] = 1
    7.25                                  read_hint = ofp_basename + ' '
    7.26                                  ofp = wopen(result_name(ofp_basename + '.tmp'))
    7.27 +                                ofp.write('<!-- BEGIN %s -->\n' % ofp_basename)
    7.28                                  ofp.write('<screen>')
    7.29                              else:
    7.30                                  ofp = None
    7.31 @@ -333,7 +337,8 @@
    7.32                          # first, print the command we ran
    7.33                          if not hunk.startswith('#'):
    7.34                              nl = hunk.endswith('\n')
    7.35 -                            hunk = ('<prompt>%s</prompt> <userinput>%s</userinput>' %
    7.36 +                            hunk = ('<prompt>%s</prompt> '
    7.37 +                                    '<userinput>%s</userinput>' %
    7.38                                      (prompts[ps],
    7.39                                       xml_escape(hunk.rstrip('\n'))))
    7.40                              if nl: hunk += '\n'
    7.41 @@ -353,6 +358,7 @@
    7.42                      if ofp is not None:
    7.43                          ofp.write(output)
    7.44                          ofp.write('</screen>\n')
    7.45 +                        ofp.write('<!-- END %s -->\n' % ofp_basename)
    7.46                          ofp.close()
    7.47                          err |= self.rename_output(ofp_basename, ignore)
    7.48                      os.close(self.cfd)
    7.49 @@ -379,7 +385,7 @@
    7.50      print >> sys.stderr, 'Options:'
    7.51      print >> sys.stderr, '  -a --all       run all examples in this directory'
    7.52      print >> sys.stderr, '  -h --help      print this help message'
    7.53 -    print >> sys.stderr, '     --help      keep new output as desired output'
    7.54 +    print >> sys.stderr, '     --keep      keep new output as desired output'
    7.55      print >> sys.stderr, '  -v --verbose   display extra debug output'
    7.56      sys.exit(exit)
    7.57  
     8.1 --- a/en/examples/tour	Tue Mar 31 21:17:59 2009 +0800
     8.2 +++ b/en/examples/tour	Thu Apr 02 09:24:36 2009 +0800
     8.3 @@ -52,10 +52,17 @@
     8.4  hg clone hello my-hello
     8.5  cd my-hello
     8.6  
     8.7 -#$ name: sed
     8.8 +#$ name: cat1
     8.9 +cat hello.c
    8.10 +
    8.11 +#$ name:
    8.12  
    8.13  sed -i '/printf/a\\tprintf("hello again!\\n");' hello.c
    8.14  
    8.15 +#$ name: cat2
    8.16 +# ... edit edit edit ...
    8.17 +cat hello.c
    8.18 +
    8.19  #$ name: status
    8.20  
    8.21  ls
     9.1 --- a/po/zh.po	Tue Mar 31 21:17:59 2009 +0800
     9.2 +++ b/po/zh.po	Thu Apr 02 09:24:36 2009 +0800
     9.3 @@ -41,7 +41,7 @@
     9.4  msgid ""
     9.5  msgstr ""
     9.6  "Project-Id-Version: hgbook 1.2\n"
     9.7 -"POT-Creation-Date: 2009-03-31 10:46+0800\n"
     9.8 +"POT-Creation-Date: 2009-04-02 09:21+0800\n"
     9.9  "PO-Revision-Date: 2009-03-31 10:12+0800\n"
    9.10  "Last-Translator: \n"
    9.11  "Language-Team: Simplified Chinese <i18n-zh@googlegroups.com >\n"
    9.12 @@ -62,18 +62,23 @@
    9.13  msgid "Compiled from $rev_id$"
    9.14  msgstr "编译自 $rev_id$"
    9.15  
    9.16 +#. type: Content of: <book><bookinfo>
    9.17 +#: ../en/00book.xml:48
    9.18 +msgid "<edition>1</edition> <isbn>9780596800673</isbn>"
    9.19 +msgstr ""
    9.20 +
    9.21  #. type: Content of: <book><bookinfo><authorgroup><author><firstname>
    9.22 -#: ../en/00book.xml:50
    9.23 +#: ../en/00book.xml:52
    9.24  msgid "Bryan"
    9.25  msgstr "Bryan"
    9.26  
    9.27  #. type: Content of: <book><bookinfo><authorgroup><author><surname>
    9.28 -#: ../en/00book.xml:51
    9.29 +#: ../en/00book.xml:53
    9.30  msgid "O'Sullivan"
    9.31  msgstr "O'Sullivan"
    9.32  
    9.33  #. type: Content of: <book><bookinfo>
    9.34 -#: ../en/00book.xml:55
    9.35 +#: ../en/00book.xml:57
    9.36  msgid ""
    9.37  "<editor> <firstname>Mike</firstname> <surname>Loukides</surname> </editor> "
    9.38  "<copyright> <year>2006</year> <year>2007</year> <year>2008</year> <year>2009</"
    9.39 @@ -436,6 +441,7 @@
    9.40  
    9.41  #. type: Content of: <book><appendix><sect1><sect2><title>
    9.42  #: ../en/appB-mq-ref.xml:14
    9.43 +#, fuzzy
    9.44  msgid "<command role=\"hg-ext-mq\">qapplied</command>—print applied patches"
    9.45  msgstr "<command role=\"hg-ext-mq\">qapplied</command>—显示已应用的补丁"
    9.46  
    9.47 @@ -449,6 +455,7 @@
    9.48  
    9.49  #. type: Content of: <book><appendix><sect1><sect2><title>
    9.50  #: ../en/appB-mq-ref.xml:24
    9.51 +#, fuzzy
    9.52  msgid ""
    9.53  "<command role=\"hg-ext-mq\">qcommit</command>—commit changes in the queue "
    9.54  "repository"
    9.55 @@ -476,6 +483,7 @@
    9.56  
    9.57  #. type: Content of: <book><appendix><sect1><sect2><title>
    9.58  #: ../en/appB-mq-ref.xml:43
    9.59 +#, fuzzy
    9.60  msgid ""
    9.61  "<command role=\"hg-ext-mq\">qdelete</command>—delete a patch from the "
    9.62  "<filename role=\"special\">series</filename> file"
    9.63 @@ -510,6 +518,7 @@
    9.64  
    9.65  #. type: Content of: <book><appendix><sect1><sect2><title>
    9.66  #: ../en/appB-mq-ref.xml:66
    9.67 +#, fuzzy
    9.68  msgid ""
    9.69  "<command role=\"hg-ext-mq\">qdiff</command>—print a diff of the topmost "
    9.70  "applied patch"
    9.71 @@ -525,6 +534,7 @@
    9.72  
    9.73  #. type: Content of: <book><appendix><sect1><sect2><title>
    9.74  #: ../en/appB-mq-ref.xml:75
    9.75 +#, fuzzy
    9.76  msgid ""
    9.77  "<command role=\"hg-ext-mq\">qfold</command>—merge (<quote>fold</quote>) "
    9.78  "several patches into one"
    9.79 @@ -584,6 +594,7 @@
    9.80  
    9.81  #. type: Content of: <book><appendix><sect1><sect2><title>
    9.82  #: ../en/appB-mq-ref.xml:119
    9.83 +#, fuzzy
    9.84  msgid ""
    9.85  "<command role=\"hg-ext-mq\">qheader</command>—display the header/description "
    9.86  "of a patch"
    9.87 @@ -599,6 +610,7 @@
    9.88  
    9.89  #. type: Content of: <book><appendix><sect1><sect2><title>
    9.90  #: ../en/appB-mq-ref.xml:130
    9.91 +#, fuzzy
    9.92  msgid ""
    9.93  "<command role=\"hg-ext-mq\">qimport</command>—import a third-party patch into "
    9.94  "the queue"
    9.95 @@ -625,6 +637,7 @@
    9.96  
    9.97  #. type: Content of: <book><appendix><sect1><sect2><title>
    9.98  #: ../en/appB-mq-ref.xml:149
    9.99 +#, fuzzy
   9.100  msgid ""
   9.101  "<command role=\"hg-ext-mq\">qinit</command>—prepare a repository to work with "
   9.102  "MQ"
   9.103 @@ -658,6 +671,7 @@
   9.104  
   9.105  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.106  #: ../en/appB-mq-ref.xml:178
   9.107 +#, fuzzy
   9.108  msgid "<command role=\"hg-ext-mq\">qnew</command>—create a new patch"
   9.109  msgstr "<command role=\"hg-ext-mq\">qnew</command>—创建新补丁"
   9.110  
   9.111 @@ -700,6 +714,7 @@
   9.112  
   9.113  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.114  #: ../en/appB-mq-ref.xml:215
   9.115 +#, fuzzy
   9.116  msgid ""
   9.117  "<command role=\"hg-ext-mq\">qnext</command>—print the name of the next patch"
   9.118  msgstr "<command role=\"hg-ext-mq\">qnext</command>—显示下个补丁的名称"
   9.119 @@ -715,6 +730,7 @@
   9.120  
   9.121  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.122  #: ../en/appB-mq-ref.xml:227
   9.123 +#, fuzzy
   9.124  msgid "<command role=\"hg-ext-mq\">qpop</command>—pop patches off the stack"
   9.125  msgstr "<command role=\"hg-ext-mq\">qpop</command>—删除堆栈顶部的补丁"
   9.126  
   9.127 @@ -798,6 +814,7 @@
   9.128  
   9.129  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.130  #: ../en/appB-mq-ref.xml:288
   9.131 +#, fuzzy
   9.132  msgid ""
   9.133  "<command role=\"hg-ext-mq\">qprev</command>—print the name of the previous "
   9.134  "patch"
   9.135 @@ -814,6 +831,7 @@
   9.136  
   9.137  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.138  #: ../en/appB-mq-ref.xml:300
   9.139 +#, fuzzy
   9.140  msgid "<command role=\"hg-ext-mq\">qpush</command>—push patches onto the stack"
   9.141  msgstr "<command role=\"hg-ext-mq\">qpush</command>—增加补丁到堆栈"
   9.142  
   9.143 @@ -911,6 +929,7 @@
   9.144  
   9.145  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.146  #: ../en/appB-mq-ref.xml:368
   9.147 +#, fuzzy
   9.148  msgid ""
   9.149  "<command role=\"hg-ext-mq\">qrefresh</command>—update the topmost applied "
   9.150  "patch"
   9.151 @@ -988,6 +1007,7 @@
   9.152  
   9.153  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.154  #: ../en/appB-mq-ref.xml:424
   9.155 +#, fuzzy
   9.156  msgid "<command role=\"hg-ext-mq\">qrename</command>—rename a patch"
   9.157  msgstr "<command role=\"hg-ext-mq\">qrename</command>—改名补丁"
   9.158  
   9.159 @@ -1009,6 +1029,7 @@
   9.160  
   9.161  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.162  #: ../en/appB-mq-ref.xml:438
   9.163 +#, fuzzy
   9.164  msgid "<command role=\"hg-ext-mq\">qrestore</command>—restore saved queue state"
   9.165  msgstr "<command role=\"hg-ext-mq\">qrestore</command>—恢复保存的队列"
   9.166  
   9.167 @@ -1019,6 +1040,7 @@
   9.168  
   9.169  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.170  #: ../en/appB-mq-ref.xml:446
   9.171 +#, fuzzy
   9.172  msgid "<command role=\"hg-ext-mq\">qsave</command>—save current queue state"
   9.173  msgstr "<command role=\"hg-ext-mq\">qsave</command>—保存当前的队列状态"
   9.174  
   9.175 @@ -1029,6 +1051,7 @@
   9.176  
   9.177  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.178  #: ../en/appB-mq-ref.xml:453
   9.179 +#, fuzzy
   9.180  msgid ""
   9.181  "<command role=\"hg-ext-mq\">qseries</command>—print the entire patch series"
   9.182  msgstr "<command role=\"hg-ext-mq\">qseries</command>—显示补丁序列"
   9.183 @@ -1044,6 +1067,7 @@
   9.184  
   9.185  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.186  #: ../en/appB-mq-ref.xml:464
   9.187 +#, fuzzy
   9.188  msgid ""
   9.189  "<command role=\"hg-ext-mq\">qtop</command>—print the name of the current patch"
   9.190  msgstr "<command role=\"hg-ext-mq\">qtop</command>—显示当前补丁的名称"
   9.191 @@ -1057,6 +1081,7 @@
   9.192  
   9.193  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.194  #: ../en/appB-mq-ref.xml:472
   9.195 +#, fuzzy
   9.196  msgid ""
   9.197  "<command role=\"hg-ext-mq\">qunapplied</command>—print patches not yet applied"
   9.198  msgstr "<command role=\"hg-ext-mq\">qunapplied</command>—显示尚未应用的补丁"
   9.199 @@ -1072,6 +1097,7 @@
   9.200  
   9.201  #. type: Content of: <book><appendix><sect1><sect2><title>
   9.202  #: ../en/appB-mq-ref.xml:484
   9.203 +#, fuzzy
   9.204  msgid ""
   9.205  "<command role=\"hg-cmd\">hg strip</command>—remove a revision and descendants"
   9.206  msgstr "<command role=\"hg-cmd\">hg strip</command>—删除一个版本及其后继"
   9.207 @@ -1606,12 +1632,12 @@
   9.208  #. type: Content of: <book><preface><sect1><sect2><para>
   9.209  #: ../en/ch00-preface.xml:71
   9.210  msgid ""
   9.211 -"Most of these reasons are equally valid---at least in theory---whether you're "
   9.212 -"working on a project by yourself, or with a hundred other people."
   9.213 +"Most of these reasons are equally valid—at least in theory&emdash;whether "
   9.214 +"you're working on a project by yourself, or with a hundred other people."
   9.215  msgstr ""
   9.216  
   9.217  #. type: Content of: <book><preface><sect1><sect2><para>
   9.218 -#: ../en/ch00-preface.xml:75
   9.219 +#: ../en/ch00-preface.xml:76
   9.220  msgid ""
   9.221  "A key question about the practicality of revision control at these two "
   9.222  "different scales (<quote>lone hacker</quote> and <quote>huge team</quote>) is "
   9.223 @@ -1621,7 +1647,7 @@
   9.224  msgstr ""
   9.225  
   9.226  #. type: Content of: <book><preface><sect1><sect2><para>
   9.227 -#: ../en/ch00-preface.xml:83
   9.228 +#: ../en/ch00-preface.xml:84
   9.229  msgid ""
   9.230  "A five-hundred-person project is likely to collapse under its own weight "
   9.231  "almost immediately without a revision control tool and process. In this case, "
   9.232 @@ -1630,7 +1656,7 @@
   9.233  msgstr ""
   9.234  
   9.235  #. type: Content of: <book><preface><sect1><sect2><para>
   9.236 -#: ../en/ch00-preface.xml:90
   9.237 +#: ../en/ch00-preface.xml:91
   9.238  msgid ""
   9.239  "On the other hand, a one-person <quote>quick hack</quote> might seem like a "
   9.240  "poor place to use a revision control tool, because surely the cost of using "
   9.241 @@ -1638,7 +1664,7 @@
   9.242  msgstr ""
   9.243  
   9.244  #. type: Content of: <book><preface><sect1><sect2><para>
   9.245 -#: ../en/ch00-preface.xml:95
   9.246 +#: ../en/ch00-preface.xml:96
   9.247  msgid ""
   9.248  "Mercurial uniquely supports <emphasis>both</emphasis> of these scales of "
   9.249  "development.  You can learn the basics in just a few minutes, and due to its "
   9.250 @@ -1651,7 +1677,7 @@
   9.251  msgstr ""
   9.252  
   9.253  #. type: Content of: <book><preface><sect1><sect2><para>
   9.254 -#: ../en/ch00-preface.xml:105
   9.255 +#: ../en/ch00-preface.xml:106
   9.256  msgid ""
   9.257  "No revision control tool can rescue a poorly run project, but a good choice "
   9.258  "of tools can make a huge difference to the fluidity with which you can work "
   9.259 @@ -1659,12 +1685,12 @@
   9.260  msgstr ""
   9.261  
   9.262  #. type: Content of: <book><preface><sect1><sect2><title>
   9.263 -#: ../en/ch00-preface.xml:112
   9.264 +#: ../en/ch00-preface.xml:113
   9.265  msgid "The many names of revision control"
   9.266  msgstr "版本控制的别名"
   9.267  
   9.268  #. type: Content of: <book><preface><sect1><sect2><para>
   9.269 -#: ../en/ch00-preface.xml:114
   9.270 +#: ../en/ch00-preface.xml:115
   9.271  msgid ""
   9.272  "Revision control is a diverse field, so much so that it is referred to by "
   9.273  "many names and acronyms.  Here are a few of the more common variations you'll "
   9.274 @@ -1672,32 +1698,32 @@
   9.275  msgstr ""
   9.276  
   9.277  #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
   9.278 -#: ../en/ch00-preface.xml:118
   9.279 +#: ../en/ch00-preface.xml:119
   9.280  msgid "Revision control (RCS)"
   9.281  msgstr "版本控制(RCS)"
   9.282  
   9.283  #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
   9.284 -#: ../en/ch00-preface.xml:119
   9.285 +#: ../en/ch00-preface.xml:120
   9.286  msgid "Software configuration management (SCM), or configuration management"
   9.287  msgstr "软件配置管理(SCM),或配置管理"
   9.288  
   9.289  #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
   9.290 -#: ../en/ch00-preface.xml:121
   9.291 +#: ../en/ch00-preface.xml:122
   9.292  msgid "Source code management"
   9.293  msgstr "源代码管理"
   9.294  
   9.295  #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
   9.296 -#: ../en/ch00-preface.xml:122
   9.297 +#: ../en/ch00-preface.xml:123
   9.298  msgid "Source code control, or source control"
   9.299  msgstr "源代码控制,或源控制"
   9.300  
   9.301  #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
   9.302 -#: ../en/ch00-preface.xml:124
   9.303 +#: ../en/ch00-preface.xml:125
   9.304  msgid "Version control (VCS)"
   9.305  msgstr "版本控制(VCS)"
   9.306  
   9.307  #. type: Content of: <book><preface><sect1><sect2><para>
   9.308 -#: ../en/ch00-preface.xml:126
   9.309 +#: ../en/ch00-preface.xml:127
   9.310  msgid ""
   9.311  "Some people claim that these terms actually have different meanings, but in "
   9.312  "practice they overlap so much that there's no agreed or even useful way to "
   9.313 @@ -1705,12 +1731,12 @@
   9.314  msgstr ""
   9.315  
   9.316  #. type: Content of: <book><preface><sect1><title>
   9.317 -#: ../en/ch00-preface.xml:134
   9.318 +#: ../en/ch00-preface.xml:135
   9.319  msgid "This book is a work in progress"
   9.320  msgstr "本书正在编写中"
   9.321  
   9.322  #. type: Content of: <book><preface><sect1><para>
   9.323 -#: ../en/ch00-preface.xml:136
   9.324 +#: ../en/ch00-preface.xml:137
   9.325  msgid ""
   9.326  "I am releasing this book while I am still writing it, in the hope that it "
   9.327  "will prove useful to others.  I am writing under an open license in the hope "
   9.328 @@ -1719,22 +1745,22 @@
   9.329  msgstr ""
   9.330  
   9.331  #. type: Content of: <book><preface><sect1><title>
   9.332 -#: ../en/ch00-preface.xml:143
   9.333 +#: ../en/ch00-preface.xml:144
   9.334  msgid "About the examples in this book"
   9.335  msgstr "本书的例子"
   9.336  
   9.337  #. type: Content of: <book><preface><sect1><para>
   9.338 -#: ../en/ch00-preface.xml:145
   9.339 +#: ../en/ch00-preface.xml:146
   9.340  msgid ""
   9.341  "This book takes an unusual approach to code samples.  Every example is "
   9.342 -"<quote>live</quote>---each one is actually the result of a shell script that "
   9.343 +"<quote>live</quote>—each one is actually the result of a shell script that "
   9.344  "executes the Mercurial commands you see.  Every time an image of the book is "
   9.345  "built from its sources, all the example scripts are automatically run, and "
   9.346  "their current results compared against their expected results."
   9.347  msgstr ""
   9.348  
   9.349  #. type: Content of: <book><preface><sect1><para>
   9.350 -#: ../en/ch00-preface.xml:152
   9.351 +#: ../en/ch00-preface.xml:153
   9.352  msgid ""
   9.353  "The advantage of this approach is that the examples are always accurate; they "
   9.354  "describe <emphasis>exactly</emphasis> the behaviour of the version of "
   9.355 @@ -1744,7 +1770,7 @@
   9.356  msgstr ""
   9.357  
   9.358  #. type: Content of: <book><preface><sect1><para>
   9.359 -#: ../en/ch00-preface.xml:159
   9.360 +#: ../en/ch00-preface.xml:160
   9.361  msgid ""
   9.362  "There is a small disadvantage to this approach, which is that the dates and "
   9.363  "times you'll see in examples tend to be <quote>squashed</quote> together in a "
   9.364 @@ -1755,7 +1781,7 @@
   9.365  msgstr ""
   9.366  
   9.367  #. type: Content of: <book><preface><sect1><para>
   9.368 -#: ../en/ch00-preface.xml:167
   9.369 +#: ../en/ch00-preface.xml:168
   9.370  msgid ""
   9.371  "As an instance of this, several consecutive commits in an example can show up "
   9.372  "as having occurred during the same second.  You can see this occur in the "
   9.373 @@ -1764,7 +1790,7 @@
   9.374  msgstr ""
   9.375  
   9.376  #. type: Content of: <book><preface><sect1><para>
   9.377 -#: ../en/ch00-preface.xml:173
   9.378 +#: ../en/ch00-preface.xml:174
   9.379  msgid ""
   9.380  "So when you're reading examples, don't place too much weight on the dates or "
   9.381  "times you see in the output of commands.  But <emphasis>do</emphasis> be "
   9.382 @@ -1772,12 +1798,12 @@
   9.383  msgstr ""
   9.384  
   9.385  #. type: Content of: <book><preface><sect1><title>
   9.386 -#: ../en/ch00-preface.xml:181
   9.387 +#: ../en/ch00-preface.xml:182
   9.388  msgid "Trends in the field"
   9.389  msgstr "版本控制的发展趋势"
   9.390  
   9.391  #. type: Content of: <book><preface><sect1><para>
   9.392 -#: ../en/ch00-preface.xml:183
   9.393 +#: ../en/ch00-preface.xml:184
   9.394  msgid ""
   9.395  "There has been an unmistakable trend in the development and use of revision "
   9.396  "control tools over the past four decades, as people have become familiar with "
   9.397 @@ -1785,7 +1811,7 @@
   9.398  msgstr ""
   9.399  
   9.400  #. type: Content of: <book><preface><sect1><para>
   9.401 -#: ../en/ch00-preface.xml:188
   9.402 +#: ../en/ch00-preface.xml:189
   9.403  msgid ""
   9.404  "The first generation began by managing single files on individual computers.  "
   9.405  "Although these tools represented a huge advance over ad-hoc manual revision "
   9.406 @@ -1794,7 +1820,7 @@
   9.407  msgstr ""
   9.408  
   9.409  #. type: Content of: <book><preface><sect1><para>
   9.410 -#: ../en/ch00-preface.xml:194
   9.411 +#: ../en/ch00-preface.xml:195
   9.412  msgid ""
   9.413  "The second generation loosened these constraints by moving to network-"
   9.414  "centered architectures, and managing entire projects at a time.  As projects "
   9.415 @@ -1808,7 +1834,7 @@
   9.416  msgstr ""
   9.417  
   9.418  #. type: Content of: <book><preface><sect1><para>
   9.419 -#: ../en/ch00-preface.xml:206
   9.420 +#: ../en/ch00-preface.xml:207
   9.421  msgid ""
   9.422  "The current generation of revision control tools is peer-to-peer in nature.  "
   9.423  "All of these systems have dropped the dependency on a single central server, "
   9.424 @@ -1820,12 +1846,12 @@
   9.425  msgstr ""
   9.426  
   9.427  #. type: Content of: <book><preface><sect1><title>
   9.428 -#: ../en/ch00-preface.xml:218
   9.429 +#: ../en/ch00-preface.xml:219
   9.430  msgid "A few of the advantages of distributed revision control"
   9.431  msgstr "分布版本控制的优点"
   9.432  
   9.433  #. type: Content of: <book><preface><sect1><para>
   9.434 -#: ../en/ch00-preface.xml:221
   9.435 +#: ../en/ch00-preface.xml:222
   9.436  msgid ""
   9.437  "Even though distributed revision control tools have for several years been as "
   9.438  "robust and usable as their previous-generation counterparts, people using "
   9.439 @@ -1835,7 +1861,7 @@
   9.440  msgstr ""
   9.441  
   9.442  #. type: Content of: <book><preface><sect1><para>
   9.443 -#: ../en/ch00-preface.xml:228
   9.444 +#: ../en/ch00-preface.xml:229
   9.445  msgid ""
   9.446  "For an individual developer, distributed tools are almost always much faster "
   9.447  "than centralised tools.  This is for a simple reason: a centralised tool "
   9.448 @@ -1848,7 +1874,7 @@
   9.449  msgstr ""
   9.450  
   9.451  #. type: Content of: <book><preface><sect1><para>
   9.452 -#: ../en/ch00-preface.xml:239
   9.453 +#: ../en/ch00-preface.xml:240
   9.454  msgid ""
   9.455  "Distributed tools are indifferent to the vagaries of your server "
   9.456  "infrastructure, again because they replicate metadata to so many locations.  "
   9.457 @@ -1859,7 +1885,7 @@
   9.458  msgstr ""
   9.459  
   9.460  #. type: Content of: <book><preface><sect1><para>
   9.461 -#: ../en/ch00-preface.xml:247
   9.462 +#: ../en/ch00-preface.xml:248
   9.463  msgid ""
   9.464  "The reliability of your network will affect distributed tools far less than "
   9.465  "it will centralised tools.  You can't even use a centralised tool without a "
   9.466 @@ -1872,12 +1898,12 @@
   9.467  msgstr ""
   9.468  
   9.469  #. type: Content of: <book><preface><sect1><sect2><title>
   9.470 -#: ../en/ch00-preface.xml:258
   9.471 +#: ../en/ch00-preface.xml:259
   9.472  msgid "Advantages for open source projects"
   9.473  msgstr "开源项目的优点"
   9.474  
   9.475  #. type: Content of: <book><preface><sect1><sect2><para>
   9.476 -#: ../en/ch00-preface.xml:260
   9.477 +#: ../en/ch00-preface.xml:261
   9.478  msgid ""
   9.479  "If you take a shine to an open source project and decide that you would like "
   9.480  "to start hacking on it, and that project uses a distributed revision control "
   9.481 @@ -1893,12 +1919,12 @@
   9.482  msgstr ""
   9.483  
   9.484  #. type: Content of: <book><preface><sect1><sect2><sect3><title>
   9.485 -#: ../en/ch00-preface.xml:276
   9.486 +#: ../en/ch00-preface.xml:277
   9.487  msgid "The forking non-problem"
   9.488  msgstr "分叉不是问题"
   9.489  
   9.490  #. type: Content of: <book><preface><sect1><sect2><sect3><para>
   9.491 -#: ../en/ch00-preface.xml:278
   9.492 +#: ../en/ch00-preface.xml:279
   9.493  msgid ""
   9.494  "It has been suggested that distributed revision control tools pose some sort "
   9.495  "of risk to open source projects because they make it easy to <quote>fork</"
   9.496 @@ -1910,7 +1936,7 @@
   9.497  msgstr ""
   9.498  
   9.499  #. type: Content of: <book><preface><sect1><sect2><sect3><para>
   9.500 -#: ../en/ch00-preface.xml:288
   9.501 +#: ../en/ch00-preface.xml:289
   9.502  msgid ""
   9.503  "Sometimes the camps in a fork decide to reconcile their differences. With a "
   9.504  "centralised revision control system, the <emphasis>technical</emphasis> "
   9.505 @@ -1921,7 +1947,7 @@
   9.506  msgstr ""
   9.507  
   9.508  #. type: Content of: <book><preface><sect1><sect2><sect3><para>
   9.509 -#: ../en/ch00-preface.xml:297
   9.510 +#: ../en/ch00-preface.xml:298
   9.511  msgid ""
   9.512  "What distributed tools do with respect to forking is they make forking the "
   9.513  "<emphasis>only</emphasis> way to develop a project.  Every single change that "
   9.514 @@ -1932,7 +1958,7 @@
   9.515  msgstr ""
   9.516  
   9.517  #. type: Content of: <book><preface><sect1><sect2><sect3><para>
   9.518 -#: ../en/ch00-preface.xml:306
   9.519 +#: ../en/ch00-preface.xml:307
   9.520  msgid ""
   9.521  "If every piece of work that everybody does, all the time, is framed in terms "
   9.522  "of forking and merging, then what the open source world refers to as a "
   9.523 @@ -1942,14 +1968,14 @@
   9.524  msgstr ""
   9.525  
   9.526  #. type: Content of: <book><preface><sect1><sect2><sect3><itemizedlist><listitem><para>
   9.527 -#: ../en/ch00-preface.xml:313
   9.528 +#: ../en/ch00-preface.xml:314
   9.529  msgid ""
   9.530  "They eliminate the social distinction that centralised tools impose: that "
   9.531  "between insiders (people with commit access) and outsiders (people without)."
   9.532  msgstr ""
   9.533  
   9.534  #. type: Content of: <book><preface><sect1><sect2><sect3><itemizedlist><listitem><para>
   9.535 -#: ../en/ch00-preface.xml:317
   9.536 +#: ../en/ch00-preface.xml:318
   9.537  msgid ""
   9.538  "They make it easier to reconcile after a social fork, because all that's "
   9.539  "involved from the perspective of the revision control software is just "
   9.540 @@ -1957,7 +1983,7 @@
   9.541  msgstr ""
   9.542  
   9.543  #. type: Content of: <book><preface><sect1><sect2><sect3><para>
   9.544 -#: ../en/ch00-preface.xml:322
   9.545 +#: ../en/ch00-preface.xml:323
   9.546  msgid ""
   9.547  "Some people resist distributed tools because they want to retain tight "
   9.548  "control over their projects, and they believe that centralised tools give "
   9.549 @@ -1970,12 +1996,12 @@
   9.550  msgstr ""
   9.551  
   9.552  #. type: Content of: <book><preface><sect1><sect2><title>
   9.553 -#: ../en/ch00-preface.xml:337
   9.554 +#: ../en/ch00-preface.xml:338
   9.555  msgid "Advantages for commercial projects"
   9.556  msgstr "商业项目的优点"
   9.557  
   9.558  #. type: Content of: <book><preface><sect1><sect2><para>
   9.559 -#: ../en/ch00-preface.xml:339
   9.560 +#: ../en/ch00-preface.xml:340
   9.561  msgid ""
   9.562  "Many commercial projects are undertaken by teams that are scattered across "
   9.563  "the globe.  Contributors who are far from a central server will see slower "
   9.564 @@ -1989,21 +2015,20 @@
   9.565  msgstr ""
   9.566  
   9.567  #. type: Content of: <book><preface><sect1><sect2><para>
   9.568 -#: ../en/ch00-preface.xml:351
   9.569 +#: ../en/ch00-preface.xml:352
   9.570  msgid ""
   9.571  "Centralised revision control systems tend to have relatively low "
   9.572  "scalability.  It's not unusual for an expensive centralised system to fall "
   9.573  "over under the combined load of just a few dozen concurrent users.  Once "
   9.574  "again, the typical response tends to be an expensive and clunky replication "
   9.575 -"facility.  Since the load on a central server---if you have one at all---is "
   9.576 -"many times lower with a distributed tool (because all of the data is "
   9.577 -"replicated everywhere), a single cheap server can handle the needs of a much "
   9.578 -"larger team, and replication to balance load becomes a simple matter of "
   9.579 -"scripting."
   9.580 +"facility.  Since the load on a central server—if you have one at all—is many "
   9.581 +"times lower with a distributed tool (because all of the data is replicated "
   9.582 +"everywhere), a single cheap server can handle the needs of a much larger "
   9.583 +"team, and replication to balance load becomes a simple matter of scripting."
   9.584  msgstr ""
   9.585  
   9.586  #. type: Content of: <book><preface><sect1><sect2><para>
   9.587 -#: ../en/ch00-preface.xml:363
   9.588 +#: ../en/ch00-preface.xml:364
   9.589  msgid ""
   9.590  "If you have an employee in the field, troubleshooting a problem at a "
   9.591  "customer's site, they'll benefit from distributed revision control. The tool "
   9.592 @@ -2014,39 +2039,39 @@
   9.593  msgstr ""
   9.594  
   9.595  #. type: Content of: <book><preface><sect1><title>
   9.596 -#: ../en/ch00-preface.xml:374
   9.597 +#: ../en/ch00-preface.xml:375
   9.598  msgid "Why choose Mercurial?"
   9.599  msgstr "为什么选择 Mercurial?"
   9.600  
   9.601  #. type: Content of: <book><preface><sect1><para>
   9.602 -#: ../en/ch00-preface.xml:376
   9.603 +#: ../en/ch00-preface.xml:377
   9.604  msgid ""
   9.605  "Mercurial has a unique set of properties that make it a particularly good "
   9.606  "choice as a revision control system."
   9.607  msgstr ""
   9.608  
   9.609  #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
   9.610 -#: ../en/ch00-preface.xml:379
   9.611 +#: ../en/ch00-preface.xml:380
   9.612  msgid "It is easy to learn and use."
   9.613  msgstr ""
   9.614  
   9.615  #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
   9.616 -#: ../en/ch00-preface.xml:380
   9.617 -msgid "It is lightweight."
   9.618 -msgstr ""
   9.619 -
   9.620 -#. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
   9.621  #: ../en/ch00-preface.xml:381
   9.622 -msgid "It scales excellently."
   9.623 +msgid "It is lightweight."
   9.624  msgstr ""
   9.625  
   9.626  #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
   9.627  #: ../en/ch00-preface.xml:382
   9.628 +msgid "It scales excellently."
   9.629 +msgstr ""
   9.630 +
   9.631 +#. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
   9.632 +#: ../en/ch00-preface.xml:383
   9.633  msgid "It is easy to customise."
   9.634  msgstr ""
   9.635  
   9.636  #. type: Content of: <book><preface><sect1><para>
   9.637 -#: ../en/ch00-preface.xml:385
   9.638 +#: ../en/ch00-preface.xml:386
   9.639  msgid ""
   9.640  "If you are at all familiar with revision control systems, you should be able "
   9.641  "to get up and running with Mercurial in less than five minutes.  Even if not, "
   9.642 @@ -2056,7 +2081,7 @@
   9.643  msgstr ""
   9.644  
   9.645  #. type: Content of: <book><preface><sect1><para>
   9.646 -#: ../en/ch00-preface.xml:392
   9.647 +#: ../en/ch00-preface.xml:393
   9.648  msgid ""
   9.649  "On a small project, you can start working with Mercurial in moments. Creating "
   9.650  "new changes and branches; transferring changes around (whether locally or "
   9.651 @@ -2066,7 +2091,7 @@
   9.652  msgstr ""
   9.653  
   9.654  #. type: Content of: <book><preface><sect1><para>
   9.655 -#: ../en/ch00-preface.xml:399
   9.656 +#: ../en/ch00-preface.xml:400
   9.657  msgid ""
   9.658  "The usefulness of Mercurial is not limited to small projects: it is used by "
   9.659  "projects with hundreds to thousands of contributors, each containing tens of "
   9.660 @@ -2074,7 +2099,7 @@
   9.661  msgstr ""
   9.662  
   9.663  #. type: Content of: <book><preface><sect1><para>
   9.664 -#: ../en/ch00-preface.xml:404
   9.665 +#: ../en/ch00-preface.xml:405
   9.666  msgid ""
   9.667  "If the core functionality of Mercurial is not enough for you, it's easy to "
   9.668  "build on.  Mercurial is well suited to scripting tasks, and its clean "
   9.669 @@ -2085,12 +2110,12 @@
   9.670  msgstr ""
   9.671  
   9.672  #. type: Content of: <book><preface><sect1><title>
   9.673 -#: ../en/ch00-preface.xml:414
   9.674 +#: ../en/ch00-preface.xml:415
   9.675  msgid "Mercurial compared with other tools"
   9.676  msgstr "Mercurial 与其它工具的比较"
   9.677  
   9.678  #. type: Content of: <book><preface><sect1><para>
   9.679 -#: ../en/ch00-preface.xml:416
   9.680 +#: ../en/ch00-preface.xml:417
   9.681  msgid ""
   9.682  "Before you read on, please understand that this section necessarily reflects "
   9.683  "my own experiences, interests, and (dare I say it) biases.  I have used every "
   9.684 @@ -2099,19 +2124,19 @@
   9.685  msgstr ""
   9.686  
   9.687  #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
   9.688 -#: ../en/ch00-preface.xml:424 ../en/ch00-preface.xml:635
   9.689 +#: ../en/ch00-preface.xml:425 ../en/ch00-preface.xml:636
   9.690  msgid "Subversion"
   9.691  msgstr ""
   9.692  
   9.693  #. type: Content of: <book><preface><sect1><sect2><para>
   9.694 -#: ../en/ch00-preface.xml:426
   9.695 +#: ../en/ch00-preface.xml:427
   9.696  msgid ""
   9.697  "Subversion is a popular revision control tool, developed to replace CVS.  It "
   9.698  "has a centralised client/server architecture."
   9.699  msgstr ""
   9.700  
   9.701  #. type: Content of: <book><preface><sect1><sect2><para>
   9.702 -#: ../en/ch00-preface.xml:430
   9.703 +#: ../en/ch00-preface.xml:431
   9.704  msgid ""
   9.705  "Subversion and Mercurial have similarly named commands for performing the "
   9.706  "same operations, so if you're familiar with one, it is easy to learn to use "
   9.707 @@ -2119,7 +2144,7 @@
   9.708  msgstr ""
   9.709  
   9.710  #. type: Content of: <book><preface><sect1><sect2><para>
   9.711 -#: ../en/ch00-preface.xml:435
   9.712 +#: ../en/ch00-preface.xml:436
   9.713  msgid ""
   9.714  "Prior to version 1.5, Subversion had no useful support for merges. At the "
   9.715  "time of writing, its merge tracking capability is new, and known to be <ulink "
   9.716 @@ -2128,7 +2153,7 @@
   9.717  msgstr ""
   9.718  
   9.719  #. type: Content of: <book><preface><sect1><sect2><para>
   9.720 -#: ../en/ch00-preface.xml:441
   9.721 +#: ../en/ch00-preface.xml:442
   9.722  msgid ""
   9.723  "Mercurial has a substantial performance advantage over Subversion on every "
   9.724  "revision control operation I have benchmarked.  I have measured its advantage "
   9.725 @@ -2142,7 +2167,7 @@
   9.726  msgstr ""
   9.727  
   9.728  #. type: Content of: <book><preface><sect1><sect2><para>
   9.729 -#: ../en/ch00-preface.xml:454
   9.730 +#: ../en/ch00-preface.xml:455
   9.731  msgid ""
   9.732  "Additionally, Subversion incurs substantial storage overhead to avoid network "
   9.733  "transactions for a few common operations, such as finding modified files "
   9.734 @@ -2154,7 +2179,7 @@
   9.735  msgstr ""
   9.736  
   9.737  #. type: Content of: <book><preface><sect1><sect2><para>
   9.738 -#: ../en/ch00-preface.xml:464
   9.739 +#: ../en/ch00-preface.xml:465
   9.740  msgid ""
   9.741  "Subversion is widely supported by third party tools.  Mercurial currently "
   9.742  "lags considerably in this area.  This gap is closing, however, and indeed "
   9.743 @@ -2163,7 +2188,7 @@
   9.744  msgstr ""
   9.745  
   9.746  #. type: Content of: <book><preface><sect1><sect2><para>
   9.747 -#: ../en/ch00-preface.xml:470
   9.748 +#: ../en/ch00-preface.xml:471
   9.749  msgid ""
   9.750  "Because Subversion doesn't store revision history on the client, it is well "
   9.751  "suited to managing projects that deal with lots of large, opaque binary "
   9.752 @@ -2174,7 +2199,7 @@
   9.753  msgstr ""
   9.754  
   9.755  #. type: Content of: <book><preface><sect1><sect2><para>
   9.756 -#: ../en/ch00-preface.xml:479
   9.757 +#: ../en/ch00-preface.xml:480
   9.758  msgid ""
   9.759  "In addition, it's often difficult or, more usually, impossible to merge "
   9.760  "different versions of a binary file.  Subversion's ability to let a user lock "
   9.761 @@ -2184,7 +2209,7 @@
   9.762  msgstr ""
   9.763  
   9.764  #. type: Content of: <book><preface><sect1><sect2><para>
   9.765 -#: ../en/ch00-preface.xml:486
   9.766 +#: ../en/ch00-preface.xml:487
   9.767  msgid ""
   9.768  "Mercurial can import revision history from a Subversion repository. It can "
   9.769  "also export revision history to a Subversion repository.  This makes it easy "
   9.770 @@ -2195,12 +2220,12 @@
   9.771  msgstr ""
   9.772  
   9.773  #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
   9.774 -#: ../en/ch00-preface.xml:498 ../en/ch00-preface.xml:637
   9.775 +#: ../en/ch00-preface.xml:499 ../en/ch00-preface.xml:638
   9.776  msgid "Git"
   9.777  msgstr ""
   9.778  
   9.779  #. type: Content of: <book><preface><sect1><sect2><para>
   9.780 -#: ../en/ch00-preface.xml:500
   9.781 +#: ../en/ch00-preface.xml:501
   9.782  msgid ""
   9.783  "Git is a distributed revision control tool that was developed for managing "
   9.784  "the Linux kernel source tree.  Like Mercurial, its early design was somewhat "
   9.785 @@ -2208,7 +2233,7 @@
   9.786  msgstr ""
   9.787  
   9.788  #. type: Content of: <book><preface><sect1><sect2><para>
   9.789 -#: ../en/ch00-preface.xml:505
   9.790 +#: ../en/ch00-preface.xml:506
   9.791  msgid ""
   9.792  "Git has a very large command set, with version 1.5.0 providing 139 individual "
   9.793  "commands.  It has something of a reputation for being difficult to learn.  "
   9.794 @@ -2216,7 +2241,7 @@
   9.795  msgstr ""
   9.796  
   9.797  #. type: Content of: <book><preface><sect1><sect2><para>
   9.798 -#: ../en/ch00-preface.xml:510
   9.799 +#: ../en/ch00-preface.xml:511
   9.800  msgid ""
   9.801  "In terms of performance, Git is extremely fast.  In several cases, it is "
   9.802  "faster than Mercurial, at least on Linux, while Mercurial performs better on "
   9.803 @@ -2226,7 +2251,7 @@
   9.804  msgstr ""
   9.805  
   9.806  #. type: Content of: <book><preface><sect1><sect2><para>
   9.807 -#: ../en/ch00-preface.xml:517
   9.808 +#: ../en/ch00-preface.xml:518
   9.809  msgid ""
   9.810  "While a Mercurial repository needs no maintenance, a Git repository requires "
   9.811  "frequent manual <quote>repacks</quote> of its metadata.  Without these, "
   9.812 @@ -2239,7 +2264,7 @@
   9.813  msgstr ""
   9.814  
   9.815  #. type: Content of: <book><preface><sect1><sect2><para>
   9.816 -#: ../en/ch00-preface.xml:528
   9.817 +#: ../en/ch00-preface.xml:529
   9.818  msgid ""
   9.819  "The core of Git is written in C.  Many Git commands are implemented as shell "
   9.820  "or Perl scripts, and the quality of these scripts varies widely. I have "
   9.821 @@ -2248,17 +2273,17 @@
   9.822  msgstr ""
   9.823  
   9.824  #. type: Content of: <book><preface><sect1><sect2><para>
   9.825 -#: ../en/ch00-preface.xml:534
   9.826 +#: ../en/ch00-preface.xml:535
   9.827  msgid "Mercurial can import revision history from a Git repository."
   9.828  msgstr ""
   9.829  
   9.830  #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
   9.831 -#: ../en/ch00-preface.xml:540 ../en/ch00-preface.xml:636
   9.832 +#: ../en/ch00-preface.xml:541 ../en/ch00-preface.xml:637
   9.833  msgid "CVS"
   9.834  msgstr ""
   9.835  
   9.836  #. type: Content of: <book><preface><sect1><sect2><para>
   9.837 -#: ../en/ch00-preface.xml:542
   9.838 +#: ../en/ch00-preface.xml:543
   9.839  msgid ""
   9.840  "CVS is probably the most widely used revision control tool in the world.  Due "
   9.841  "to its age and internal untidiness, it has been only lightly maintained for "
   9.842 @@ -2266,7 +2291,7 @@
   9.843  msgstr ""
   9.844  
   9.845  #. type: Content of: <book><preface><sect1><sect2><para>
   9.846 -#: ../en/ch00-preface.xml:546
   9.847 +#: ../en/ch00-preface.xml:547
   9.848  msgid ""
   9.849  "It has a centralised client/server architecture.  It does not group related "
   9.850  "file changes into atomic commits, making it easy for people to <quote>break "
   9.851 @@ -2280,7 +2305,7 @@
   9.852  msgstr ""
   9.853  
   9.854  #. type: Content of: <book><preface><sect1><sect2><para>
   9.855 -#: ../en/ch00-preface.xml:558
   9.856 +#: ../en/ch00-preface.xml:559
   9.857  msgid ""
   9.858  "CVS has a muddled notion of tags and branches that I will not attempt to even "
   9.859  "describe.  It does not support renaming of files or directories well, making "
   9.860 @@ -2291,7 +2316,7 @@
   9.861  msgstr ""
   9.862  
   9.863  #. type: Content of: <book><preface><sect1><sect2><para>
   9.864 -#: ../en/ch00-preface.xml:566
   9.865 +#: ../en/ch00-preface.xml:567
   9.866  msgid ""
   9.867  "Mercurial can import CVS revision history.  However, there are a few caveats "
   9.868  "that apply; these are true of every other revision control tool's CVS "
   9.869 @@ -2306,17 +2331,17 @@
   9.870  msgstr ""
   9.871  
   9.872  #. type: Content of: <book><preface><sect1><sect2><para>
   9.873 -#: ../en/ch00-preface.xml:580
   9.874 +#: ../en/ch00-preface.xml:581
   9.875  msgid "Mercurial can import revision history from a CVS repository."
   9.876  msgstr ""
   9.877  
   9.878  #. type: Content of: <book><preface><sect1><sect2><title>
   9.879 -#: ../en/ch00-preface.xml:586
   9.880 +#: ../en/ch00-preface.xml:587
   9.881  msgid "Commercial tools"
   9.882  msgstr "商业工具"
   9.883  
   9.884  #. type: Content of: <book><preface><sect1><sect2><para>
   9.885 -#: ../en/ch00-preface.xml:588
   9.886 +#: ../en/ch00-preface.xml:589
   9.887  msgid ""
   9.888  "Perforce has a centralised client/server architecture, with no client-side "
   9.889  "caching of any data.  Unlike modern revision control tools, Perforce requires "
   9.890 @@ -2325,7 +2350,7 @@
   9.891  msgstr ""
   9.892  
   9.893  #. type: Content of: <book><preface><sect1><sect2><para>
   9.894 -#: ../en/ch00-preface.xml:594
   9.895 +#: ../en/ch00-preface.xml:595
   9.896  msgid ""
   9.897  "The performance of Perforce is quite good for small teams, but it falls off "
   9.898  "rapidly as the number of users grows beyond a few dozen. Modestly large "
   9.899 @@ -2334,12 +2359,12 @@
   9.900  msgstr ""
   9.901  
   9.902  #. type: Content of: <book><preface><sect1><sect2><title>
   9.903 -#: ../en/ch00-preface.xml:603
   9.904 +#: ../en/ch00-preface.xml:604
   9.905  msgid "Choosing a revision control tool"
   9.906  msgstr "选择版本控制工具"
   9.907  
   9.908  #. type: Content of: <book><preface><sect1><sect2><para>
   9.909 -#: ../en/ch00-preface.xml:605
   9.910 +#: ../en/ch00-preface.xml:606
   9.911  msgid ""
   9.912  "With the exception of CVS, all of the tools listed above have unique "
   9.913  "strengths that suit them to particular styles of work.  There is no single "
   9.914 @@ -2347,14 +2372,14 @@
   9.915  msgstr ""
   9.916  
   9.917  #. type: Content of: <book><preface><sect1><sect2><para>
   9.918 -#: ../en/ch00-preface.xml:610
   9.919 +#: ../en/ch00-preface.xml:611
   9.920  msgid ""
   9.921  "As an example, Subversion is a good choice for working with frequently edited "
   9.922  "binary files, due to its centralised nature and support for file locking."
   9.923  msgstr ""
   9.924  
   9.925  #. type: Content of: <book><preface><sect1><sect2><para>
   9.926 -#: ../en/ch00-preface.xml:614
   9.927 +#: ../en/ch00-preface.xml:615
   9.928  msgid ""
   9.929  "I personally find Mercurial's properties of simplicity, performance, and good "
   9.930  "merge support to be a compelling combination that has served me well for "
   9.931 @@ -2362,12 +2387,12 @@
   9.932  msgstr ""
   9.933  
   9.934  #. type: Content of: <book><preface><sect1><title>
   9.935 -#: ../en/ch00-preface.xml:622
   9.936 +#: ../en/ch00-preface.xml:623
   9.937  msgid "Switching from another tool to Mercurial"
   9.938  msgstr "从其它工具切换到 Mercurial"
   9.939  
   9.940  #. type: Content of: <book><preface><sect1><para>
   9.941 -#: ../en/ch00-preface.xml:624
   9.942 +#: ../en/ch00-preface.xml:625
   9.943  msgid ""
   9.944  "Mercurial is bundled with an extension named <literal role=\"hg-ext"
   9.945  "\">convert</literal>, which can incrementally import revision history from "
   9.946 @@ -2378,19 +2403,19 @@
   9.947  msgstr ""
   9.948  
   9.949  #. type: Content of: <book><preface><sect1><para>
   9.950 -#: ../en/ch00-preface.xml:632
   9.951 +#: ../en/ch00-preface.xml:633
   9.952  msgid ""
   9.953  "The revision control tools supported by <literal role=\"hg-ext\">convert</"
   9.954  "literal> are as follows:"
   9.955  msgstr "<literal role=\"hg-ext\">convert</literal> 支持的版本控制工具有:"
   9.956  
   9.957  #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
   9.958 -#: ../en/ch00-preface.xml:638
   9.959 +#: ../en/ch00-preface.xml:639
   9.960  msgid "Darcs"
   9.961  msgstr ""
   9.962  
   9.963  #. type: Content of: <book><preface><sect1><para>
   9.964 -#: ../en/ch00-preface.xml:640
   9.965 +#: ../en/ch00-preface.xml:641
   9.966  msgid ""
   9.967  "In addition, <literal role=\"hg-ext\">convert</literal> can export changes "
   9.968  "from Mercurial to Subversion.  This makes it possible to try Subversion and "
   9.969 @@ -2399,7 +2424,7 @@
   9.970  msgstr ""
   9.971  
   9.972  #. type: Content of: <book><preface><sect1><para>
   9.973 -#: ../en/ch00-preface.xml:646
   9.974 +#: ../en/ch00-preface.xml:647
   9.975  msgid ""
   9.976  "The <command role=\"hg-ext-convert\">convert</command> command is easy to "
   9.977  "use.  Simply point it at the path or URL of the source repository, optionally "
   9.978 @@ -2409,12 +2434,12 @@
   9.979  msgstr ""
   9.980  
   9.981  #. type: Content of: <book><preface><sect1><title>
   9.982 -#: ../en/ch00-preface.xml:655
   9.983 +#: ../en/ch00-preface.xml:656
   9.984  msgid "A short history of revision control"
   9.985  msgstr "版本控制简史"
   9.986  
   9.987  #. type: Content of: <book><preface><sect1><para>
   9.988 -#: ../en/ch00-preface.xml:657
   9.989 +#: ../en/ch00-preface.xml:658
   9.990  msgid ""
   9.991  "The best known of the old-time revision control tools is SCCS (Source Code "
   9.992  "Control System), which Marc Rochkind wrote at Bell Labs, in the early 1970s.  "
   9.993 @@ -2427,7 +2452,7 @@
   9.994  msgstr ""
   9.995  
   9.996  #. type: Content of: <book><preface><sect1><para>
   9.997 -#: ../en/ch00-preface.xml:668
   9.998 +#: ../en/ch00-preface.xml:669
   9.999  msgid ""
  9.1000  "Walter Tichy developed a free alternative to SCCS in the early 1980s; he "
  9.1001  "called his program RCS (Revision Control System).  Like SCCS, RCS required "
  9.1002 @@ -2436,7 +2461,7 @@
  9.1003  msgstr ""
  9.1004  
  9.1005  #. type: Content of: <book><preface><sect1><para>
  9.1006 -#: ../en/ch00-preface.xml:674
  9.1007 +#: ../en/ch00-preface.xml:675
  9.1008  msgid ""
  9.1009  "Later in the 1980s, Dick Grune used RCS as a building block for a set of "
  9.1010  "shell scripts he initially called cmt, but then renamed to CVS (Concurrent "
  9.1011 @@ -2449,7 +2474,7 @@
  9.1012  msgstr ""
  9.1013  
  9.1014  #. type: Content of: <book><preface><sect1><para>
  9.1015 -#: ../en/ch00-preface.xml:685
  9.1016 +#: ../en/ch00-preface.xml:686
  9.1017  msgid ""
  9.1018  "Brian Berliner took Grune's original scripts and rewrote them in C, releasing "
  9.1019  "in 1989 the code that has since developed into the modern version of CVS.  "
  9.1020 @@ -2463,7 +2488,7 @@
  9.1021  msgstr ""
  9.1022  
  9.1023  #. type: Content of: <book><preface><sect1><para>
  9.1024 -#: ../en/ch00-preface.xml:696
  9.1025 +#: ../en/ch00-preface.xml:697
  9.1026  msgid ""
  9.1027  "In the early 1990s, Sun Microsystems developed an early distributed revision "
  9.1028  "control system, called TeamWare.  A TeamWare workspace contains a complete "
  9.1029 @@ -2473,7 +2498,7 @@
  9.1030  msgstr ""
  9.1031  
  9.1032  #. type: Content of: <book><preface><sect1><para>
  9.1033 -#: ../en/ch00-preface.xml:703
  9.1034 +#: ../en/ch00-preface.xml:704
  9.1035  msgid ""
  9.1036  "As the 1990s progressed, awareness grew of a number of problems with CVS.  It "
  9.1037  "records simultaneous changes to multiple files individually, instead of "
  9.1038 @@ -2485,7 +2510,7 @@
  9.1039  msgstr ""
  9.1040  
  9.1041  #. type: Content of: <book><preface><sect1><para>
  9.1042 -#: ../en/ch00-preface.xml:713
  9.1043 +#: ../en/ch00-preface.xml:714
  9.1044  msgid ""
  9.1045  "In 2001, Jim Blandy and Karl Fogel, two developers who had worked on CVS, "
  9.1046  "started a project to replace it with a tool that would have a better "
  9.1047 @@ -2497,7 +2522,7 @@
  9.1048  msgstr ""
  9.1049  
  9.1050  #. type: Content of: <book><preface><sect1><para>
  9.1051 -#: ../en/ch00-preface.xml:722
  9.1052 +#: ../en/ch00-preface.xml:723
  9.1053  msgid ""
  9.1054  "More or less simultaneously, Graydon Hoare began working on an ambitious "
  9.1055  "distributed revision control system that he named Monotone. While Monotone "
  9.1056 @@ -2508,7 +2533,7 @@
  9.1057  msgstr ""
  9.1058  
  9.1059  #. type: Content of: <book><preface><sect1><para>
  9.1060 -#: ../en/ch00-preface.xml:731
  9.1061 +#: ../en/ch00-preface.xml:732
  9.1062  msgid ""
  9.1063  "Mercurial began life in 2005.  While a few aspects of its design are "
  9.1064  "influenced by Monotone, Mercurial focuses on ease of use, high performance, "
  9.1065 @@ -2516,12 +2541,13 @@
  9.1066  msgstr ""
  9.1067  
  9.1068  #. type: Content of: <book><preface><sect1><title>
  9.1069 -#: ../en/ch00-preface.xml:739
  9.1070 +#: ../en/ch00-preface.xml:740
  9.1071 +#, fuzzy
  9.1072  msgid "Colophon—this book is Free"
  9.1073  msgstr "后记—本书是自由的!"
  9.1074  
  9.1075  #. type: Content of: <book><preface><sect1><para>
  9.1076 -#: ../en/ch00-preface.xml:741
  9.1077 +#: ../en/ch00-preface.xml:742
  9.1078  msgid ""
  9.1079  "This book is licensed under the Open Publication License, and is produced "
  9.1080  "entirely using Free Software tools.  It is typeset with DocBook XML.  "
  9.1081 @@ -2530,7 +2556,7 @@
  9.1082  msgstr ""
  9.1083  
  9.1084  #. type: Content of: <book><preface><sect1><para>
  9.1085 -#: ../en/ch00-preface.xml:746
  9.1086 +#: ../en/ch00-preface.xml:747
  9.1087  msgid ""
  9.1088  "The complete source code for this book is published as a Mercurial "
  9.1089  "repository, at <ulink url=\"http://hg.serpentine.com/mercurial/book\">http://"
  9.1090 @@ -2559,11 +2585,38 @@
  9.1091  
  9.1092  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.1093  #: ../en/ch01-tour-basic.xml:15
  9.1094 +msgid "Windows"
  9.1095 +msgstr ""
  9.1096 +
  9.1097 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1098 +#: ../en/ch01-tour-basic.xml:17
  9.1099 +msgid ""
  9.1100 +"The best version of Mercurial for Windows is TortoiseHg, which can be found "
  9.1101 +"at <ulink url=\"http://bitbucket.org/tortoisehg/stable/wiki/Home\">http://"
  9.1102 +"bitbucket.org/tortoisehg/stable/wiki/Home</ulink>.  This package has no "
  9.1103 +"external dependencies; it <quote>just works</quote>.  It provides both "
  9.1104 +"command line and graphical user interfaces."
  9.1105 +msgstr ""
  9.1106 +
  9.1107 +#. type: Content of: <book><chapter><sect1><sect2><title>
  9.1108 +#: ../en/ch01-tour-basic.xml:27
  9.1109 +msgid "Mac OS X"
  9.1110 +msgstr "Mac OS X"
  9.1111 +
  9.1112 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1113 +#: ../en/ch01-tour-basic.xml:29
  9.1114 +msgid ""
  9.1115 +"Lee Cantey publishes an installer of Mercurial for Mac OS X at <ulink url="
  9.1116 +"\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink>."
  9.1117 +msgstr ""
  9.1118 +
  9.1119 +#. type: Content of: <book><chapter><sect1><sect2><title>
  9.1120 +#: ../en/ch01-tour-basic.xml:35
  9.1121  msgid "Linux"
  9.1122  msgstr "Linux"
  9.1123  
  9.1124  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1125 -#: ../en/ch01-tour-basic.xml:17
  9.1126 +#: ../en/ch01-tour-basic.xml:37
  9.1127  msgid ""
  9.1128  "Because each Linux distribution has its own packaging tools, policies, and "
  9.1129  "rate of development, it's difficult to give a comprehensive set of "
  9.1130 @@ -2576,7 +2629,7 @@
  9.1131  "使用的发行版的 Mercurial 维护者的活跃程度。"
  9.1132  
  9.1133  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1134 -#: ../en/ch01-tour-basic.xml:24
  9.1135 +#: ../en/ch01-tour-basic.xml:44
  9.1136  msgid ""
  9.1137  "To keep things simple, I will focus on installing Mercurial from the command "
  9.1138  "line under the most popular Linux distributions.  Most of these distributions "
  9.1139 @@ -2588,102 +2641,44 @@
  9.1140  "Mercurial;寻找的包名称是 <literal>mercurial</literal>。"
  9.1141  
  9.1142  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  9.1143 -#: ../en/ch01-tour-basic.xml:32
  9.1144 -msgid "Debian:"
  9.1145 -msgstr "Debian:"
  9.1146 +#: ../en/ch01-tour-basic.xml:52
  9.1147 +msgid "Ubuntu and Debian:"
  9.1148 +msgstr ""
  9.1149  
  9.1150  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  9.1151 -#: ../en/ch01-tour-basic.xml:34
  9.1152 -msgid "Fedora Core:"
  9.1153 -msgstr "Fedora Core:"
  9.1154 +#: ../en/ch01-tour-basic.xml:54
  9.1155 +#, fuzzy
  9.1156 +msgid "Fedora and OpenSUSE:"
  9.1157 +msgstr "OpenSUSE:"
  9.1158  
  9.1159  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  9.1160 -#: ../en/ch01-tour-basic.xml:36
  9.1161 +#: ../en/ch01-tour-basic.xml:56
  9.1162  msgid "Gentoo:"
  9.1163  msgstr "Gentoo:"
  9.1164  
  9.1165 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  9.1166 -#: ../en/ch01-tour-basic.xml:38
  9.1167 -msgid "OpenSUSE:"
  9.1168 -msgstr "OpenSUSE:"
  9.1169 -
  9.1170 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  9.1171 -#: ../en/ch01-tour-basic.xml:40
  9.1172 -msgid ""
  9.1173 -"Ubuntu: Ubuntu's Mercurial package is based on Debian's.  To install it, run "
  9.1174 -"the following command."
  9.1175 -msgstr "Ubuntu: Ubuntu 的 Mercurial 包基于 Debian。安装时,使用如下命令:"
  9.1176 -
  9.1177  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.1178 -#: ../en/ch01-tour-basic.xml:48
  9.1179 +#: ../en/ch01-tour-basic.xml:62
  9.1180  msgid "Solaris"
  9.1181  msgstr "Solaris"
  9.1182  
  9.1183  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1184 -#: ../en/ch01-tour-basic.xml:50
  9.1185 +#: ../en/ch01-tour-basic.xml:64
  9.1186 +#, fuzzy
  9.1187  msgid ""
  9.1188  "SunFreeWare, at <ulink url=\"http://www.sunfreeware.com\">http://www."
  9.1189 -"sunfreeware.com</ulink>, is a good source for a large number of pre-built "
  9.1190 -"Solaris packages for 32 and 64 bit Intel and Sparc architectures, including "
  9.1191 -"current versions of Mercurial."
  9.1192 +"sunfreeware.com</ulink>, provides prebuilt packages of Mercurial."
  9.1193  msgstr ""
  9.1194  "位于 <ulink url=\"http://www.sunfreeware.com\">http://www.sunfreeware.com</"
  9.1195  "ulink> 的 SunFreeWare 是很好的二进制安装源,它包含 Intel 和 Sparc 架构的 32 位"
  9.1196  "和 64 位包,包含 Mercurial 的当前版本。"
  9.1197  
  9.1198 -#. type: Content of: <book><chapter><sect1><sect2><title>
  9.1199 -#: ../en/ch01-tour-basic.xml:58
  9.1200 -msgid "Mac OS X"
  9.1201 -msgstr "Mac OS X"
  9.1202 -
  9.1203 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1204 -#: ../en/ch01-tour-basic.xml:60
  9.1205 -msgid ""
  9.1206 -"Lee Cantey publishes an installer of Mercurial for Mac OS X at <ulink url="
  9.1207 -"\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink>.  "
  9.1208 -"This package works on both Intel- and Power-based Macs. Before you can use "
  9.1209 -"it, you must install a compatible version of Universal MacPython "
  9.1210 -"<citation>web:macpython</citation>. This is easy to do; simply follow the "
  9.1211 -"instructions on Lee's site."
  9.1212 -msgstr ""
  9.1213 -
  9.1214 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1215 -#: ../en/ch01-tour-basic.xml:69
  9.1216 -msgid ""
  9.1217 -"It's also possible to install Mercurial using Fink or MacPorts, two popular "
  9.1218 -"free package managers for Mac OS X.  If you have Fink, use <command>sudo apt-"
  9.1219 -"get install mercurial-py25</command>.  If MacPorts, <command>sudo port "
  9.1220 -"install mercurial</command>."
  9.1221 -msgstr ""
  9.1222 -
  9.1223 -#. type: Content of: <book><chapter><sect1><sect2><title>
  9.1224 -#: ../en/ch01-tour-basic.xml:77
  9.1225 -msgid "Windows"
  9.1226 -msgstr ""
  9.1227 -
  9.1228 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1229 -#: ../en/ch01-tour-basic.xml:79
  9.1230 -msgid ""
  9.1231 -"Lee Cantey publishes an installer of Mercurial for Windows at <ulink url="
  9.1232 -"\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink>.  "
  9.1233 -"This package has no external dependencies; it <quote>just works</quote>."
  9.1234 -msgstr ""
  9.1235 -
  9.1236 -#. type: Content of: <book><chapter><sect1><sect2><note><para>
  9.1237 -#: ../en/ch01-tour-basic.xml:86
  9.1238 -msgid ""
  9.1239 -"The Windows version of Mercurial does not automatically convert line endings "
  9.1240 -"between Windows and Unix styles.  If you want to share work with Unix users, "
  9.1241 -"you must do a little additional configuration work. XXX Flesh this out."
  9.1242 -msgstr ""
  9.1243 -
  9.1244  #. type: Content of: <book><chapter><sect1><title>
  9.1245 -#: ../en/ch01-tour-basic.xml:96
  9.1246 +#: ../en/ch01-tour-basic.xml:73
  9.1247  msgid "Getting started"
  9.1248  msgstr "开始"
  9.1249  
  9.1250  #. type: Content of: <book><chapter><sect1><para>
  9.1251 -#: ../en/ch01-tour-basic.xml:98
  9.1252 +#: ../en/ch01-tour-basic.xml:75
  9.1253  msgid ""
  9.1254  "To begin, we'll use the <command role=\"hg-cmd\">hg version</command> command "
  9.1255  "to find out whether Mercurial is actually installed properly.  The actual "
  9.1256 @@ -2692,12 +2687,12 @@
  9.1257  msgstr ""
  9.1258  
  9.1259  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.1260 -#: ../en/ch01-tour-basic.xml:107
  9.1261 +#: ../en/ch01-tour-basic.xml:84
  9.1262  msgid "Built-in help"
  9.1263  msgstr "内置帮助"
  9.1264  
  9.1265  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1266 -#: ../en/ch01-tour-basic.xml:109
  9.1267 +#: ../en/ch01-tour-basic.xml:86
  9.1268  msgid ""
  9.1269  "Mercurial provides a built-in help system.  This is invaluable for those "
  9.1270  "times when you find yourself stuck trying to remember how to run a command.  "
  9.1271 @@ -2708,7 +2703,7 @@
  9.1272  msgstr ""
  9.1273  
  9.1274  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1275 -#: ../en/ch01-tour-basic.xml:120
  9.1276 +#: ../en/ch01-tour-basic.xml:97
  9.1277  msgid ""
  9.1278  "For a more impressive level of detail (which you won't usually need) run "
  9.1279  "<command role=\"hg-cmd\">hg help <option role=\"hg-opt-global\">-v</option></"
  9.1280 @@ -2718,12 +2713,12 @@
  9.1281  msgstr ""
  9.1282  
  9.1283  #. type: Content of: <book><chapter><sect1><title>
  9.1284 -#: ../en/ch01-tour-basic.xml:131
  9.1285 +#: ../en/ch01-tour-basic.xml:108
  9.1286  msgid "Working with a repository"
  9.1287  msgstr "使用版本库"
  9.1288  
  9.1289  #. type: Content of: <book><chapter><sect1><para>
  9.1290 -#: ../en/ch01-tour-basic.xml:133
  9.1291 +#: ../en/ch01-tour-basic.xml:110
  9.1292  msgid ""
  9.1293  "In Mercurial, everything happens inside a <emphasis>repository</emphasis>.  "
  9.1294  "The repository for a project contains all of the files that <quote>belong to</"
  9.1295 @@ -2731,7 +2726,7 @@
  9.1296  msgstr ""
  9.1297  
  9.1298  #. type: Content of: <book><chapter><sect1><para>
  9.1299 -#: ../en/ch01-tour-basic.xml:139
  9.1300 +#: ../en/ch01-tour-basic.xml:116
  9.1301  msgid ""
  9.1302  "There's nothing particularly magical about a repository; it is simply a "
  9.1303  "directory tree in your filesystem that Mercurial treats as special. You can "
  9.1304 @@ -2740,46 +2735,55 @@
  9.1305  msgstr ""
  9.1306  
  9.1307  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.1308 -#: ../en/ch01-tour-basic.xml:146
  9.1309 +#: ../en/ch01-tour-basic.xml:123
  9.1310  msgid "Making a local copy of a repository"
  9.1311  msgstr "创建版本库的工作副本"
  9.1312  
  9.1313  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1314 -#: ../en/ch01-tour-basic.xml:148
  9.1315 +#: ../en/ch01-tour-basic.xml:125
  9.1316  msgid ""
  9.1317  "<emphasis>Copying</emphasis> a repository is just a little bit special.  "
  9.1318  "While you could use a normal file copying command to make a copy of a "
  9.1319  "repository, it's best to use a built-in command that Mercurial provides.  "
  9.1320  "This command is called <command role=\"hg-cmd\">hg clone</command>, because "
  9.1321 -"it creates an identical copy of an existing repository."
  9.1322 -msgstr ""
  9.1323 -
  9.1324 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1325 -#: ../en/ch01-tour-basic.xml:157
  9.1326 +"it makes an identical copy of an existing repository."
  9.1327 +msgstr ""
  9.1328 +
  9.1329 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1330 +#: ../en/ch01-tour-basic.xml:134
  9.1331 +msgid ""
  9.1332 +"One advantage of using <command role=\"hg-cmd\">hg clone</command> is that, "
  9.1333 +"as we can see above, it lets us clone repositories over the network.  Another "
  9.1334 +"is that it remembers where we cloned from, which we'll find useful soon when "
  9.1335 +"we want to fetch new changes from another repository."
  9.1336 +msgstr ""
  9.1337 +
  9.1338 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1339 +#: ../en/ch01-tour-basic.xml:140
  9.1340  msgid ""
  9.1341  "If our clone succeeded, we should now have a local directory called <filename "
  9.1342  "class=\"directory\">hello</filename>.  This directory will contain some files."
  9.1343  msgstr ""
  9.1344  
  9.1345  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1346 -#: ../en/ch01-tour-basic.xml:163
  9.1347 +#: ../en/ch01-tour-basic.xml:146
  9.1348  msgid ""
  9.1349  "These files have the same contents and history in our repository as they do "
  9.1350  "in the repository we cloned."
  9.1351  msgstr ""
  9.1352  
  9.1353  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1354 -#: ../en/ch01-tour-basic.xml:166
  9.1355 +#: ../en/ch01-tour-basic.xml:149
  9.1356  msgid ""
  9.1357  "Every Mercurial repository is complete, self-contained, and independent.  It "
  9.1358 -"contains its own private copy of a project's files and history.  A cloned "
  9.1359 -"repository remembers the location of the repository it was cloned from, but "
  9.1360 -"it does not communicate with that repository, or any other, unless you tell "
  9.1361 -"it to."
  9.1362 -msgstr ""
  9.1363 -
  9.1364 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1365 -#: ../en/ch01-tour-basic.xml:173
  9.1366 +"contains its own private copy of a project's files and history.  As we just "
  9.1367 +"mentioned, a cloned repository remembers the location of the repository it "
  9.1368 +"was cloned from, but Mercurial will not communicate with that repository, or "
  9.1369 +"any other, unless you tell it to."
  9.1370 +msgstr ""
  9.1371 +
  9.1372 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1373 +#: ../en/ch01-tour-basic.xml:156
  9.1374  msgid ""
  9.1375  "What this means for now is that we're free to experiment with our repository, "
  9.1376  "safe in the knowledge that it's a private <quote>sandbox</quote> that won't "
  9.1377 @@ -2787,12 +2791,12 @@
  9.1378  msgstr ""
  9.1379  
  9.1380  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.1381 -#: ../en/ch01-tour-basic.xml:179
  9.1382 +#: ../en/ch01-tour-basic.xml:162
  9.1383  msgid "What's in a repository?"
  9.1384  msgstr "什么是版本库?"
  9.1385  
  9.1386  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1387 -#: ../en/ch01-tour-basic.xml:181
  9.1388 +#: ../en/ch01-tour-basic.xml:164
  9.1389  msgid ""
  9.1390  "When we take a more detailed look inside a repository, we can see that it "
  9.1391  "contains a directory named <filename class=\"directory\">.hg</filename>.  "
  9.1392 @@ -2800,7 +2804,7 @@
  9.1393  msgstr ""
  9.1394  
  9.1395  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1396 -#: ../en/ch01-tour-basic.xml:188
  9.1397 +#: ../en/ch01-tour-basic.xml:171
  9.1398  msgid ""
  9.1399  "The contents of the <filename class=\"directory\">.hg</filename> directory "
  9.1400  "and its subdirectories are private to Mercurial.  Every other file and "
  9.1401 @@ -2808,7 +2812,7 @@
  9.1402  msgstr ""
  9.1403  
  9.1404  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1405 -#: ../en/ch01-tour-basic.xml:194
  9.1406 +#: ../en/ch01-tour-basic.xml:177
  9.1407  msgid ""
  9.1408  "To introduce a little terminology, the <filename class=\"directory\">.hg</"
  9.1409  "filename> directory is the <quote>real</quote> repository, and all of the "
  9.1410 @@ -2821,20 +2825,20 @@
  9.1411  msgstr ""
  9.1412  
  9.1413  #. type: Content of: <book><chapter><sect1><title>
  9.1414 -#: ../en/ch01-tour-basic.xml:209
  9.1415 +#: ../en/ch01-tour-basic.xml:192
  9.1416  msgid "A tour through history"
  9.1417  msgstr "回溯历史"
  9.1418  
  9.1419  #. type: Content of: <book><chapter><sect1><para>
  9.1420 -#: ../en/ch01-tour-basic.xml:211
  9.1421 +#: ../en/ch01-tour-basic.xml:194
  9.1422  msgid ""
  9.1423  "One of the first things we might want to do with a new, unfamiliar repository "
  9.1424  "is understand its history.  The <command role=\"hg-cmd\">hg log</command> "
  9.1425 -"command gives us a view of history."
  9.1426 -msgstr ""
  9.1427 -
  9.1428 -#. type: Content of: <book><chapter><sect1><para>
  9.1429 -#: ../en/ch01-tour-basic.xml:218
  9.1430 +"command gives us a view of the history of changes in the repository."
  9.1431 +msgstr ""
  9.1432 +
  9.1433 +#. type: Content of: <book><chapter><sect1><para>
  9.1434 +#: ../en/ch01-tour-basic.xml:201
  9.1435  msgid ""
  9.1436  "By default, this command prints a brief paragraph of output for each change "
  9.1437  "to the project that was recorded.  In Mercurial terminology, we call each of "
  9.1438 @@ -2843,24 +2847,27 @@
  9.1439  msgstr ""
  9.1440  
  9.1441  #. type: Content of: <book><chapter><sect1><para>
  9.1442 -#: ../en/ch01-tour-basic.xml:224
  9.1443 +#: ../en/ch01-tour-basic.xml:207
  9.1444  msgid ""
  9.1445  "The fields in a record of output from <command role=\"hg-cmd\">hg log</"
  9.1446  "command> are as follows."
  9.1447  msgstr ""
  9.1448  
  9.1449  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1450 -#: ../en/ch01-tour-basic.xml:227
  9.1451 +#: ../en/ch01-tour-basic.xml:211
  9.1452  msgid ""
  9.1453  "<literal>changeset</literal>: This field has the format of a number, followed "
  9.1454 -"by a colon, followed by a hexadecimal string.  These are "
  9.1455 -"<emphasis>identifiers</emphasis> for the changeset.  There are two "
  9.1456 -"identifiers because the number is shorter and easier to type than the hex "
  9.1457 -"string."
  9.1458 +"by a colon, followed by a hexadecimal (or <emphasis>hex</emphasis>)  string.  "
  9.1459 +"These are <emphasis>identifiers</emphasis> for the changeset.  The hex string "
  9.1460 +"is a unique identifier: the same hex string will always refer to the same "
  9.1461 +"changeset. The number is shorter and easier to type than the hex string, but "
  9.1462 +"it isn't unique: the same number in two different clones of a repository may "
  9.1463 +"identify different changesets.  Why provide the number at all, then? For "
  9.1464 +"local convenience."
  9.1465  msgstr ""
  9.1466  
  9.1467  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1468 -#: ../en/ch01-tour-basic.xml:233
  9.1469 +#: ../en/ch01-tour-basic.xml:223
  9.1470  msgid ""
  9.1471  "<literal>user</literal>: The identity of the person who created the "
  9.1472  "changeset.  This is a free-form field, but it most often contains a person's "
  9.1473 @@ -2868,7 +2875,7 @@
  9.1474  msgstr ""
  9.1475  
  9.1476  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1477 -#: ../en/ch01-tour-basic.xml:237
  9.1478 +#: ../en/ch01-tour-basic.xml:227
  9.1479  msgid ""
  9.1480  "<literal>date</literal>: The date and time on which the changeset was "
  9.1481  "created, and the timezone in which it was created.  (The date and time are "
  9.1482 @@ -2877,21 +2884,30 @@
  9.1483  msgstr ""
  9.1484  
  9.1485  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1486 -#: ../en/ch01-tour-basic.xml:242
  9.1487 +#: ../en/ch01-tour-basic.xml:232
  9.1488  msgid ""
  9.1489  "<literal>summary</literal>: The first line of the text message that the "
  9.1490  "creator of the changeset entered to describe the changeset."
  9.1491  msgstr ""
  9.1492  
  9.1493 -#. type: Content of: <book><chapter><sect1><para>
  9.1494 -#: ../en/ch01-tour-basic.xml:245
  9.1495 +#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1496 +#: ../en/ch01-tour-basic.xml:236
  9.1497 +msgid ""
  9.1498 +"Some changesets, such as the first in the list above, have a <literal>tag</"
  9.1499 +"literal> field.  A tag is another way to identify a changeset, by giving it "
  9.1500 +"an easy-to-remember name. (The tag named <literal>tip</literal> is special: "
  9.1501 +"it always refers to the newest change in a repository.)"
  9.1502 +msgstr ""
  9.1503 +
  9.1504 +#. type: Content of: <book><chapter><sect1><para>
  9.1505 +#: ../en/ch01-tour-basic.xml:244
  9.1506  msgid ""
  9.1507  "The default output printed by <command role=\"hg-cmd\">hg log</command> is "
  9.1508  "purely a summary; it is missing a lot of detail."
  9.1509  msgstr ""
  9.1510  
  9.1511  #. type: Content of: <book><chapter><sect1><para>
  9.1512 -#: ../en/ch01-tour-basic.xml:249
  9.1513 +#: ../en/ch01-tour-basic.xml:248
  9.1514  msgid ""
  9.1515  "<xref linkend=\"fig:tour-basic:history\"/> provides a graphical "
  9.1516  "representation of the history of the <filename class=\"directory\">hello</"
  9.1517 @@ -2901,26 +2917,26 @@
  9.1518  msgstr ""
  9.1519  
  9.1520  #. type: Content of: <book><chapter><sect1><figure><title>
  9.1521 -#: ../en/ch01-tour-basic.xml:258
  9.1522 +#: ../en/ch01-tour-basic.xml:257
  9.1523  msgid ""
  9.1524  "Graphical history of the <filename class=\"directory\">hello</filename> "
  9.1525  "repository"
  9.1526  msgstr "版本库 <filename class=\"directory\">hello</filename> 的历史图"
  9.1527  
  9.1528  #. type: Content of: <book><chapter><sect1><figure>
  9.1529 -#: ../en/ch01-tour-basic.xml:260 ../en/ch02-tour-merge.xml:50
  9.1530 +#: ../en/ch01-tour-basic.xml:259 ../en/ch02-tour-merge.xml:50
  9.1531  #: ../en/ch02-tour-merge.xml:181 ../en/ch03-concepts.xml:293
  9.1532  msgid "<placeholder type=\"mediaobject\" id=\"0\"/>"
  9.1533  msgstr ""
  9.1534  
  9.1535  #. type: Content of: <book><chapter><sect1><figure><mediaobject>
  9.1536 -#: ../en/ch01-tour-basic.xml:261
  9.1537 +#: ../en/ch01-tour-basic.xml:260
  9.1538  msgid ""
  9.1539  "<imageobject><imagedata fileref=\"figs/tour-history.png\"/></imageobject>"
  9.1540  msgstr ""
  9.1541  
  9.1542  #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject><textobject><phrase>
  9.1543 -#: ../en/ch01-tour-basic.xml:262 ../en/ch02-tour-merge.xml:52
  9.1544 +#: ../en/ch01-tour-basic.xml:261 ../en/ch02-tour-merge.xml:52
  9.1545  #: ../en/ch02-tour-merge.xml:82 ../en/ch02-tour-merge.xml:129
  9.1546  #: ../en/ch02-tour-merge.xml:183 ../en/ch02-tour-merge.xml:254
  9.1547  #: ../en/ch03-concepts.xml:57 ../en/ch03-concepts.xml:106
  9.1548 @@ -2934,12 +2950,12 @@
  9.1549  msgstr ""
  9.1550  
  9.1551  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.1552 -#: ../en/ch01-tour-basic.xml:267
  9.1553 +#: ../en/ch01-tour-basic.xml:266
  9.1554  msgid "Changesets, revisions, and talking to other people"
  9.1555  msgstr "修改集,版本,与其它用户交互"
  9.1556  
  9.1557  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1558 -#: ../en/ch01-tour-basic.xml:270
  9.1559 +#: ../en/ch01-tour-basic.xml:269
  9.1560  msgid ""
  9.1561  "As English is a notoriously sloppy language, and computer science has a "
  9.1562  "hallowed history of terminological confusion (why use one term when four will "
  9.1563 @@ -2951,7 +2967,7 @@
  9.1564  msgstr ""
  9.1565  
  9.1566  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1567 -#: ../en/ch01-tour-basic.xml:280
  9.1568 +#: ../en/ch01-tour-basic.xml:279
  9.1569  msgid ""
  9.1570  "While it doesn't matter what <emphasis>word</emphasis> you use to refer to "
  9.1571  "the concept of <quote>a changeset</quote>, the <emphasis>identifier</"
  9.1572 @@ -2962,33 +2978,35 @@
  9.1573  msgstr ""
  9.1574  
  9.1575  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  9.1576 -#: ../en/ch01-tour-basic.xml:289
  9.1577 -msgid ""
  9.1578 -"The revision number is <emphasis>only valid in that repository</emphasis>,"
  9.1579 +#: ../en/ch01-tour-basic.xml:288
  9.1580 +msgid ""
  9.1581 +"The revision number is a handy notation that is <emphasis>only valid in that "
  9.1582 +"repository</emphasis>."
  9.1583  msgstr ""
  9.1584  
  9.1585  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  9.1586  #: ../en/ch01-tour-basic.xml:291
  9.1587  msgid ""
  9.1588 -"while the hex string is the <emphasis>permanent, unchanging identifier</"
  9.1589 +"The hexadecimal string is the <emphasis>permanent, unchanging identifier</"
  9.1590  "emphasis> that will always identify that exact changeset in <emphasis>every</"
  9.1591  "emphasis> copy of the repository."
  9.1592  msgstr ""
  9.1593  
  9.1594  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1595 -#: ../en/ch01-tour-basic.xml:296
  9.1596 +#: ../en/ch01-tour-basic.xml:297
  9.1597  msgid ""
  9.1598  "This distinction is important.  If you send someone an email talking about "
  9.1599  "<quote>revision 33</quote>, there's a high likelihood that their revision 33 "
  9.1600  "will <emphasis>not be the same</emphasis> as yours.  The reason for this is "
  9.1601  "that a revision number depends on the order in which changes arrived in a "
  9.1602  "repository, and there is no guarantee that the same changes will happen in "
  9.1603 -"the same order in different repositories. Three changes $a,b,c$ can easily "
  9.1604 -"appear in one repository as $0,1,2$, while in another as $1,0,2$."
  9.1605 -msgstr ""
  9.1606 -
  9.1607 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1608 -#: ../en/ch01-tour-basic.xml:306
  9.1609 +"the same order in different repositories. Three changes <literal>a,b,c</"
  9.1610 +"literal> can easily appear in one repository as <literal>0,1,2</literal>, "
  9.1611 +"while in another as <literal>0,2,1</literal>."
  9.1612 +msgstr ""
  9.1613 +
  9.1614 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1615 +#: ../en/ch01-tour-basic.xml:309
  9.1616  msgid ""
  9.1617  "Mercurial uses revision numbers purely as a convenient shorthand.  If you "
  9.1618  "need to discuss a changeset with someone, or make a record of a changeset for "
  9.1619 @@ -2997,22 +3015,22 @@
  9.1620  msgstr ""
  9.1621  
  9.1622  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.1623 -#: ../en/ch01-tour-basic.xml:314
  9.1624 +#: ../en/ch01-tour-basic.xml:317
  9.1625  msgid "Viewing specific revisions"
  9.1626  msgstr "察看指定版本"
  9.1627  
  9.1628  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1629 -#: ../en/ch01-tour-basic.xml:316
  9.1630 +#: ../en/ch01-tour-basic.xml:319
  9.1631  msgid ""
  9.1632  "To narrow the output of <command role=\"hg-cmd\">hg log</command> down to a "
  9.1633  "single revision, use the <option role=\"hg-opt-log\">-r</option> (or <option "
  9.1634  "role=\"hg-opt-log\">--rev</option>) option.  You can use either a revision "
  9.1635 -"number or a long-form changeset identifier, and you can provide as many "
  9.1636 -"revisions as you want."
  9.1637 -msgstr ""
  9.1638 -
  9.1639 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1640 -#: ../en/ch01-tour-basic.xml:325
  9.1641 +"number or a hexadecimal identifier, and you can provide as many revisions as "
  9.1642 +"you want."
  9.1643 +msgstr ""
  9.1644 +
  9.1645 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1646 +#: ../en/ch01-tour-basic.xml:328
  9.1647  msgid ""
  9.1648  "If you want to see the history of several revisions without having to list "
  9.1649  "each one, you can use <emphasis>range notation</emphasis>; this lets you "
  9.1650 @@ -3021,7 +3039,7 @@
  9.1651  msgstr ""
  9.1652  
  9.1653  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1654 -#: ../en/ch01-tour-basic.xml:333
  9.1655 +#: ../en/ch01-tour-basic.xml:336
  9.1656  msgid ""
  9.1657  "Mercurial also honours the order in which you specify revisions, so <command "
  9.1658  "role=\"hg-cmd\">hg log -r 2:4</command> prints 2, 3, and 4. while <command "
  9.1659 @@ -3029,12 +3047,12 @@
  9.1660  msgstr ""
  9.1661  
  9.1662  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.1663 -#: ../en/ch01-tour-basic.xml:340
  9.1664 +#: ../en/ch01-tour-basic.xml:343
  9.1665  msgid "More detailed information"
  9.1666  msgstr "更详细的信息"
  9.1667  
  9.1668  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1669 -#: ../en/ch01-tour-basic.xml:342
  9.1670 +#: ../en/ch01-tour-basic.xml:345
  9.1671  msgid ""
  9.1672  "While the summary information printed by <command role=\"hg-cmd\">hg log</"
  9.1673  "command> is useful if you already know what you're looking for, you may need "
  9.1674 @@ -3046,7 +3064,7 @@
  9.1675  msgstr ""
  9.1676  
  9.1677  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1678 -#: ../en/ch01-tour-basic.xml:354
  9.1679 +#: ../en/ch01-tour-basic.xml:357
  9.1680  msgid ""
  9.1681  "If you want to see both the description and content of a change, add the "
  9.1682  "<option role=\"hg-opt-log\">-p</option> (or <option role=\"hg-opt-log\">--"
  9.1683 @@ -3055,13 +3073,20 @@
  9.1684  "before, see <xref linkend=\"sec:mq:patch\"/> for an overview)."
  9.1685  msgstr ""
  9.1686  
  9.1687 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.1688 +#: ../en/ch01-tour-basic.xml:367
  9.1689 +msgid ""
  9.1690 +"The <option role=\"hg-opt-log\">-p</option> option is tremendously useful, so "
  9.1691 +"it's well worth remembering."
  9.1692 +msgstr ""
  9.1693 +
  9.1694  #. type: Content of: <book><chapter><sect1><title>
  9.1695 -#: ../en/ch01-tour-basic.xml:367
  9.1696 +#: ../en/ch01-tour-basic.xml:374
  9.1697  msgid "All about command options"
  9.1698  msgstr "命令选项"
  9.1699  
  9.1700  #. type: Content of: <book><chapter><sect1><para>
  9.1701 -#: ../en/ch01-tour-basic.xml:369
  9.1702 +#: ../en/ch01-tour-basic.xml:376
  9.1703  msgid ""
  9.1704  "Let's take a brief break from exploring Mercurial commands to discuss a "
  9.1705  "pattern in the way that they work; you may find this useful to keep in mind "
  9.1706 @@ -3069,7 +3094,7 @@
  9.1707  msgstr ""
  9.1708  
  9.1709  #. type: Content of: <book><chapter><sect1><para>
  9.1710 -#: ../en/ch01-tour-basic.xml:373
  9.1711 +#: ../en/ch01-tour-basic.xml:380
  9.1712  msgid ""
  9.1713  "Mercurial has a consistent and straightforward approach to dealing with the "
  9.1714  "options that you can pass to commands.  It follows the conventions for "
  9.1715 @@ -3077,7 +3102,7 @@
  9.1716  msgstr ""
  9.1717  
  9.1718  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1719 -#: ../en/ch01-tour-basic.xml:378
  9.1720 +#: ../en/ch01-tour-basic.xml:387
  9.1721  msgid ""
  9.1722  "Every option has a long name.  For example, as we've already seen, the "
  9.1723  "<command role=\"hg-cmd\">hg log</command> command accepts a <option role=\"hg-"
  9.1724 @@ -3085,7 +3110,7 @@
  9.1725  msgstr ""
  9.1726  
  9.1727  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1728 -#: ../en/ch01-tour-basic.xml:382
  9.1729 +#: ../en/ch01-tour-basic.xml:393
  9.1730  msgid ""
  9.1731  "Most options have short names, too.  Instead of <option role=\"hg-opt-log\">--"
  9.1732  "rev</option>, we can use <option role=\"hg-opt-log\">-r</option>.  (The "
  9.1733 @@ -3094,15 +3119,15 @@
  9.1734  msgstr ""
  9.1735  
  9.1736  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1737 -#: ../en/ch01-tour-basic.xml:387
  9.1738 -msgid ""
  9.1739 -"Long options start with two dashes (e.g. <option role=\"hg-opt-log\">--rev</"
  9.1740 +#: ../en/ch01-tour-basic.xml:400
  9.1741 +msgid ""
  9.1742 +"Long options start with two dashes (e.g.  <option role=\"hg-opt-log\">--rev</"
  9.1743  "option>), while short options start with one (e.g. <option role=\"hg-opt-log"
  9.1744  "\">-r</option>)."
  9.1745  msgstr ""
  9.1746  
  9.1747  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1748 -#: ../en/ch01-tour-basic.xml:391
  9.1749 +#: ../en/ch01-tour-basic.xml:406
  9.1750  msgid ""
  9.1751  "Option naming and usage is consistent across commands.  For example, every "
  9.1752  "command that lets you specify a changeset ID or revision number accepts both "
  9.1753 @@ -3110,8 +3135,16 @@
  9.1754  "rev</option> arguments."
  9.1755  msgstr ""
  9.1756  
  9.1757 -#. type: Content of: <book><chapter><sect1><para>
  9.1758 -#: ../en/ch01-tour-basic.xml:397
  9.1759 +#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  9.1760 +#: ../en/ch01-tour-basic.xml:413
  9.1761 +msgid ""
  9.1762 +"If you are using short options, you can save typing by running them together. "
  9.1763 +"For example, the command <command role=\"hg-cmd\">hg log -v -p -r 2</command> "
  9.1764 +"can be written as <command role=\"hg-cmd\">hg log -vpr2</command>."
  9.1765 +msgstr ""
  9.1766 +
  9.1767 +#. type: Content of: <book><chapter><sect1><para>
  9.1768 +#: ../en/ch01-tour-basic.xml:420
  9.1769  msgid ""
  9.1770  "In the examples throughout this book, I use short options instead of long.  "
  9.1771  "This just reflects my own preference, so don't read anything significant into "
  9.1772 @@ -3119,7 +3152,7 @@
  9.1773  msgstr ""
  9.1774  
  9.1775  #. type: Content of: <book><chapter><sect1><para>
  9.1776 -#: ../en/ch01-tour-basic.xml:401
  9.1777 +#: ../en/ch01-tour-basic.xml:424
  9.1778  msgid ""
  9.1779  "Most commands that print output of some kind will print more output when "
  9.1780  "passed a <option role=\"hg-opt-global\">-v</option> (or <option role=\"hg-opt-"
  9.1781 @@ -3127,31 +3160,56 @@
  9.1782  "opt-global\">-q</option> (or <option role=\"hg-opt-global\">--quiet</option>)."
  9.1783  msgstr ""
  9.1784  
  9.1785 +#. type: Content of: <book><chapter><sect1><note><title>
  9.1786 +#: ../en/ch01-tour-basic.xml:431
  9.1787 +msgid "Option naming consistency"
  9.1788 +msgstr ""
  9.1789 +
  9.1790 +#. type: Content of: <book><chapter><sect1><note><para>
  9.1791 +#: ../en/ch01-tour-basic.xml:433
  9.1792 +msgid ""
  9.1793 +"Almost always, Mercurial commands use consistent option names to refer to the "
  9.1794 +"same concepts.  For instance, if a command deals with changesets, you'll "
  9.1795 +"always identify them with <option role=\"hg-opt-log\">--rev</option> or "
  9.1796 +"<option role=\"hg-opt-log\">-r</option>.  This consistent use of option names "
  9.1797 +"makes it easier to remember what options a particular command takes."
  9.1798 +msgstr ""
  9.1799 +
  9.1800  #. type: Content of: <book><chapter><sect1><title>
  9.1801 -#: ../en/ch01-tour-basic.xml:409
  9.1802 +#: ../en/ch01-tour-basic.xml:444
  9.1803  msgid "Making and reviewing changes"
  9.1804  msgstr "创建和复审修改"
  9.1805  
  9.1806  #. type: Content of: <book><chapter><sect1><para>
  9.1807 -#: ../en/ch01-tour-basic.xml:411
  9.1808 +#: ../en/ch01-tour-basic.xml:446
  9.1809  msgid ""
  9.1810  "Now that we have a grasp of viewing history in Mercurial, let's take a look "
  9.1811  "at making some changes and examining them."
  9.1812  msgstr ""
  9.1813  
  9.1814  #. type: Content of: <book><chapter><sect1><para>
  9.1815 -#: ../en/ch01-tour-basic.xml:415
  9.1816 +#: ../en/ch01-tour-basic.xml:450
  9.1817  msgid ""
  9.1818  "The first thing we'll do is isolate our experiment in a repository of its "
  9.1819  "own.  We use the <command role=\"hg-cmd\">hg clone</command> command, but we "
  9.1820  "don't need to clone a copy of the remote repository.  Since we already have a "
  9.1821  "copy of it locally, we can just clone that instead.  This is much faster than "
  9.1822  "cloning over the network, and cloning a local repository uses less disk space "
  9.1823 -"in most cases, too."
  9.1824 -msgstr ""
  9.1825 -
  9.1826 -#. type: Content of: <book><chapter><sect1><para>
  9.1827 -#: ../en/ch01-tour-basic.xml:425
  9.1828 +"in most cases, too<placeholder type=\"footnote\" id=\"0\"/>."
  9.1829 +msgstr ""
  9.1830 +
  9.1831 +#. type: Content of: <book><chapter><sect1><para><footnote><para>
  9.1832 +#: ../en/ch01-tour-basic.xml:457
  9.1833 +msgid ""
  9.1834 +"The saving of space arises when source and destination repositories are on "
  9.1835 +"the same filesystem, in which case Mercurial will use hardlinks to do copy-on-"
  9.1836 +"write sharing of its internal metadata.  If that explanation meant nothing to "
  9.1837 +"you, don't worry: everything happens transparently and automatically, and you "
  9.1838 +"don't need to understand it."
  9.1839 +msgstr ""
  9.1840 +
  9.1841 +#. type: Content of: <book><chapter><sect1><para>
  9.1842 +#: ../en/ch01-tour-basic.xml:467
  9.1843  msgid ""
  9.1844  "As an aside, it's often good practice to keep a <quote>pristine</quote> copy "
  9.1845  "of a remote repository around, which you can then make temporary clones of to "
  9.1846 @@ -3163,27 +3221,27 @@
  9.1847  msgstr ""
  9.1848  
  9.1849  #. type: Content of: <book><chapter><sect1><para>
  9.1850 -#: ../en/ch01-tour-basic.xml:434
  9.1851 +#: ../en/ch01-tour-basic.xml:476
  9.1852  msgid ""
  9.1853  "In our <filename class=\"directory\">my-hello</filename> repository, we have "
  9.1854  "a file <filename>hello.c</filename> that contains the classic <quote>hello, "
  9.1855 -"world</quote> program. Let's use the ancient and venerable <command>sed</"
  9.1856 -"command> command to edit this file so that it prints a second line of "
  9.1857 -"output.  (I'm only using <command>sed</command> to do this because it's easy "
  9.1858 -"to write a scripted example this way.  Since you're not under the same "
  9.1859 -"constraint, you probably won't want to use <command>sed</command>; simply use "
  9.1860 -"your preferred text editor to do the same thing.)"
  9.1861 -msgstr ""
  9.1862 -
  9.1863 -#. type: Content of: <book><chapter><sect1><para>
  9.1864 -#: ../en/ch01-tour-basic.xml:447
  9.1865 +"world</quote> program."
  9.1866 +msgstr ""
  9.1867 +
  9.1868 +#. type: Content of: <book><chapter><sect1><para>
  9.1869 +#: ../en/ch01-tour-basic.xml:482
  9.1870 +msgid "Let's edit this file so that it prints a second line of output."
  9.1871 +msgstr ""
  9.1872 +
  9.1873 +#. type: Content of: <book><chapter><sect1><para>
  9.1874 +#: ../en/ch01-tour-basic.xml:487
  9.1875  msgid ""
  9.1876  "Mercurial's <command role=\"hg-cmd\">hg status</command> command will tell us "
  9.1877  "what Mercurial knows about the files in the repository."
  9.1878  msgstr ""
  9.1879  
  9.1880  #. type: Content of: <book><chapter><sect1><para>
  9.1881 -#: ../en/ch01-tour-basic.xml:453
  9.1882 +#: ../en/ch01-tour-basic.xml:493
  9.1883  msgid ""
  9.1884  "The <command role=\"hg-cmd\">hg status</command> command prints no output for "
  9.1885  "some files, but a line starting with <quote><literal>M</literal></quote> for "
  9.1886 @@ -3193,7 +3251,7 @@
  9.1887  msgstr ""
  9.1888  
  9.1889  #. type: Content of: <book><chapter><sect1><para>
  9.1890 -#: ../en/ch01-tour-basic.xml:460
  9.1891 +#: ../en/ch01-tour-basic.xml:500
  9.1892  msgid ""
  9.1893  "The <quote><literal>M</literal></quote> indicates that Mercurial has noticed "
  9.1894  "that we modified <filename>hello.c</filename>.  We didn't need to "
  9.1895 @@ -3203,21 +3261,33 @@
  9.1896  msgstr ""
  9.1897  
  9.1898  #. type: Content of: <book><chapter><sect1><para>
  9.1899 -#: ../en/ch01-tour-basic.xml:468
  9.1900 -msgid ""
  9.1901 -"It's a little bit helpful to know that we've modified <filename>hello.c</"
  9.1902 +#: ../en/ch01-tour-basic.xml:508
  9.1903 +msgid ""
  9.1904 +"It's somewhat helpful to know that we've modified <filename>hello.c</"
  9.1905  "filename>, but we might prefer to know exactly <emphasis>what</emphasis> "
  9.1906  "changes we've made to it.  To do this, we use the <command role=\"hg-cmd\">hg "
  9.1907  "diff</command> command."
  9.1908  msgstr ""
  9.1909  
  9.1910  #. type: Content of: <book><chapter><sect1><title>
  9.1911 -#: ../en/ch01-tour-basic.xml:478
  9.1912 +#: ../en/ch01-tour-basic.xml:517 ../en/ch11-mq.xml:187
  9.1913 +msgid "Understanding patches"
  9.1914 +msgstr "理解补丁"
  9.1915 +
  9.1916 +#. type: Content of: <book><chapter><sect1><tip><para>
  9.1917 +#: ../en/ch01-tour-basic.xml:519
  9.1918 +msgid ""
  9.1919 +"Remember to take a look at <xref linkend=\"sec:mq:patch\"/> if you don't know "
  9.1920 +"how to read output above."
  9.1921 +msgstr ""
  9.1922 +
  9.1923 +#. type: Content of: <book><chapter><sect1><title>
  9.1924 +#: ../en/ch01-tour-basic.xml:525
  9.1925  msgid "Recording changes in a new changeset"
  9.1926  msgstr "在新修改集中记录修改"
  9.1927  
  9.1928  #. type: Content of: <book><chapter><sect1><para>
  9.1929 -#: ../en/ch01-tour-basic.xml:480
  9.1930 +#: ../en/ch01-tour-basic.xml:527
  9.1931  msgid ""
  9.1932  "We can modify files, build and test our changes, and use <command role=\"hg-"
  9.1933  "cmd\">hg status</command> and <command role=\"hg-cmd\">hg diff</command> to "
  9.1934 @@ -3226,7 +3296,7 @@
  9.1935  msgstr ""
  9.1936  
  9.1937  #. type: Content of: <book><chapter><sect1><para>
  9.1938 -#: ../en/ch01-tour-basic.xml:487
  9.1939 +#: ../en/ch01-tour-basic.xml:534
  9.1940  msgid ""
  9.1941  "The <command role=\"hg-cmd\">hg commit</command> command lets us create a new "
  9.1942  "changeset; we'll usually refer to this as <quote>making a commit</quote> or "
  9.1943 @@ -3234,12 +3304,12 @@
  9.1944  msgstr ""
  9.1945  
  9.1946  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.1947 -#: ../en/ch01-tour-basic.xml:493
  9.1948 +#: ../en/ch01-tour-basic.xml:540
  9.1949  msgid "Setting up a username"
  9.1950  msgstr "配置用户名称"
  9.1951  
  9.1952  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.1953 -#: ../en/ch01-tour-basic.xml:495
  9.1954 +#: ../en/ch01-tour-basic.xml:542
  9.1955  msgid ""
  9.1956  "When you try to run <command role=\"hg-cmd\">hg commit</command> for the "
  9.1957  "first time, it is not guaranteed to succeed.  Mercurial records your name and "
  9.1958 @@ -3250,7 +3320,7 @@
  9.1959  msgstr ""
  9.1960  
  9.1961  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  9.1962 -#: ../en/ch01-tour-basic.xml:504
  9.1963 +#: ../en/ch01-tour-basic.xml:551
  9.1964  msgid ""
  9.1965  "If you specify a <option role=\"hg-opt-commit\">-u</option> option to the "
  9.1966  "<command role=\"hg-cmd\">hg commit</command> command on the command line, "
  9.1967 @@ -3258,14 +3328,14 @@
  9.1968  msgstr ""
  9.1969  
  9.1970  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  9.1971 -#: ../en/ch01-tour-basic.xml:509
  9.1972 +#: ../en/ch01-tour-basic.xml:556
  9.1973  msgid ""
  9.1974  "If you have set the <envar>HGUSER</envar> environment variable, this is "
  9.1975  "checked next."
  9.1976  msgstr ""
  9.1977  
  9.1978  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  9.1979 -#: ../en/ch01-tour-basic.xml:512
  9.1980 +#: ../en/ch01-tour-basic.xml:559
  9.1981  msgid ""
  9.1982  "If you create a file in your home directory called <filename role=\"special"
  9.1983  "\">.hgrc</filename>, with a <envar role=\"rc-item-ui\">username</envar> "
  9.1984 @@ -3274,14 +3344,14 @@
  9.1985  msgstr ""
  9.1986  
  9.1987  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  9.1988 -#: ../en/ch01-tour-basic.xml:520
  9.1989 +#: ../en/ch01-tour-basic.xml:567
  9.1990  msgid ""
  9.1991  "If you have set the <envar>EMAIL</envar> environment variable, this will be "
  9.1992  "used next."
  9.1993  msgstr ""
  9.1994  
  9.1995  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  9.1996 -#: ../en/ch01-tour-basic.xml:523
  9.1997 +#: ../en/ch01-tour-basic.xml:570
  9.1998  msgid ""
  9.1999  "Mercurial will query your system to find out your local user name and host "
  9.2000  "name, and construct a username from these components. Since this often "
  9.2001 @@ -3290,7 +3360,7 @@
  9.2002  msgstr ""
  9.2003  
  9.2004  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2005 -#: ../en/ch01-tour-basic.xml:530
  9.2006 +#: ../en/ch01-tour-basic.xml:577
  9.2007  msgid ""
  9.2008  "If all of these mechanisms fail, Mercurial will fail, printing an error "
  9.2009  "message.  In this case, it will not let you commit until you set up a "
  9.2010 @@ -3298,7 +3368,7 @@
  9.2011  msgstr ""
  9.2012  
  9.2013  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2014 -#: ../en/ch01-tour-basic.xml:534
  9.2015 +#: ../en/ch01-tour-basic.xml:581
  9.2016  msgid ""
  9.2017  "You should think of the <envar>HGUSER</envar> environment variable and the "
  9.2018  "<option role=\"hg-opt-commit\">-u</option> option to the <command role=\"hg-"
  9.2019 @@ -3309,12 +3379,12 @@
  9.2020  msgstr ""
  9.2021  
  9.2022  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  9.2023 -#: ../en/ch01-tour-basic.xml:543
  9.2024 +#: ../en/ch01-tour-basic.xml:590
  9.2025  msgid "Creating a Mercurial configuration file"
  9.2026  msgstr "创建 Mercurial 的配置文件"
  9.2027  
  9.2028  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  9.2029 -#: ../en/ch01-tour-basic.xml:545
  9.2030 +#: ../en/ch01-tour-basic.xml:592
  9.2031  msgid ""
  9.2032  "To set a user name, use your favourite editor to create a file called "
  9.2033  "<filename role=\"special\">.hgrc</filename> in your home directory.  "
  9.2034 @@ -3323,8 +3393,13 @@
  9.2035  "filename> should look like this."
  9.2036  msgstr ""
  9.2037  
  9.2038 +#. type: Content of: <book><chapter><sect1><sect2><sect3><remark>
  9.2039 +#: ../en/ch01-tour-basic.xml:600
  9.2040 +msgid "Figure out what the appropriate directory is on Windows."
  9.2041 +msgstr ""
  9.2042 +
  9.2043  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  9.2044 -#: ../en/ch01-tour-basic.xml:557
  9.2045 +#: ../en/ch01-tour-basic.xml:607
  9.2046  msgid ""
  9.2047  "The <quote><literal>[ui]</literal></quote> line begins a <emphasis>section</"
  9.2048  "emphasis> of the config file, so you can read the <quote><literal>username "
  9.2049 @@ -3336,21 +3411,21 @@
  9.2050  msgstr ""
  9.2051  
  9.2052  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  9.2053 -#: ../en/ch01-tour-basic.xml:570
  9.2054 +#: ../en/ch01-tour-basic.xml:620
  9.2055  msgid "Choosing a user name"
  9.2056  msgstr "选择用户名称"
  9.2057  
  9.2058  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  9.2059 -#: ../en/ch01-tour-basic.xml:572
  9.2060 +#: ../en/ch01-tour-basic.xml:622
  9.2061  msgid ""
  9.2062  "You can use any text you like as the value of the <literal>username</literal> "
  9.2063 -"config item, since this information is for reading by other people, but for "
  9.2064 -"interpreting by Mercurial.  The convention that most people follow is to use "
  9.2065 -"their name and email address, as in the example above."
  9.2066 +"config item, since this information is for reading by other people, but will "
  9.2067 +"not be interpreted by Mercurial.  The convention that most people follow is "
  9.2068 +"to use their name and email address, as in the example above."
  9.2069  msgstr ""
  9.2070  
  9.2071  #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para>
  9.2072 -#: ../en/ch01-tour-basic.xml:579
  9.2073 +#: ../en/ch01-tour-basic.xml:629
  9.2074  msgid ""
  9.2075  "Mercurial's built-in web server obfuscates email addresses, to make it more "
  9.2076  "difficult for the email harvesting tools that spammers use. This reduces the "
  9.2077 @@ -3359,12 +3434,12 @@
  9.2078  msgstr ""
  9.2079  
  9.2080  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2081 -#: ../en/ch01-tour-basic.xml:589
  9.2082 +#: ../en/ch01-tour-basic.xml:639
  9.2083  msgid "Writing a commit message"
  9.2084  msgstr "写提交日志"
  9.2085  
  9.2086  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2087 -#: ../en/ch01-tour-basic.xml:591
  9.2088 +#: ../en/ch01-tour-basic.xml:641
  9.2089  msgid ""
  9.2090  "When we commit a change, Mercurial drops us into a text editor, to enter a "
  9.2091  "message that will describe the modifications we've made in this changeset.  "
  9.2092 @@ -3374,15 +3449,15 @@
  9.2093  msgstr ""
  9.2094  
  9.2095  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2096 -#: ../en/ch01-tour-basic.xml:601
  9.2097 +#: ../en/ch01-tour-basic.xml:651
  9.2098  msgid ""
  9.2099  "The editor that the <command role=\"hg-cmd\">hg commit</command> command "
  9.2100 -"drops us into will contain an empty line, followed by a number of lines "
  9.2101 -"starting with <quote><literal>HG:</literal></quote>."
  9.2102 -msgstr ""
  9.2103 -
  9.2104 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.2105 -#: ../en/ch01-tour-basic.xml:608
  9.2106 +"drops us into will contain an empty line or two, followed by a number of "
  9.2107 +"lines starting with <quote><literal>HG:</literal></quote>."
  9.2108 +msgstr ""
  9.2109 +
  9.2110 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.2111 +#: ../en/ch01-tour-basic.xml:665
  9.2112  msgid ""
  9.2113  "Mercurial ignores the lines that start with <quote><literal>HG:</literal></"
  9.2114  "quote>; it uses them only to tell us which files it's recording changes to.  "
  9.2115 @@ -3390,12 +3465,12 @@
  9.2116  msgstr ""
  9.2117  
  9.2118  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2119 -#: ../en/ch01-tour-basic.xml:614
  9.2120 +#: ../en/ch01-tour-basic.xml:671
  9.2121  msgid "Writing a good commit message"
  9.2122  msgstr "写好提交日志"
  9.2123  
  9.2124  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2125 -#: ../en/ch01-tour-basic.xml:616
  9.2126 +#: ../en/ch01-tour-basic.xml:673
  9.2127  msgid ""
  9.2128  "Since <command role=\"hg-cmd\">hg log</command> only prints the first line of "
  9.2129  "a commit message by default, it's best to write a commit message whose first "
  9.2130 @@ -3405,7 +3480,7 @@
  9.2131  msgstr ""
  9.2132  
  9.2133  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2134 -#: ../en/ch01-tour-basic.xml:630
  9.2135 +#: ../en/ch01-tour-basic.xml:687
  9.2136  msgid ""
  9.2137  "As far as the remainder of the contents of the commit message are concerned, "
  9.2138  "there are no hard-and-fast rules.  Mercurial itself doesn't interpret or care "
  9.2139 @@ -3414,7 +3489,7 @@
  9.2140  msgstr ""
  9.2141  
  9.2142  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2143 -#: ../en/ch01-tour-basic.xml:636
  9.2144 +#: ../en/ch01-tour-basic.xml:693
  9.2145  msgid ""
  9.2146  "My personal preference is for short, but informative, commit messages that "
  9.2147  "tell me something that I can't figure out with a quick glance at the output "
  9.2148 @@ -3422,12 +3497,12 @@
  9.2149  msgstr ""
  9.2150  
  9.2151  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2152 -#: ../en/ch01-tour-basic.xml:643
  9.2153 +#: ../en/ch01-tour-basic.xml:700
  9.2154  msgid "Aborting a commit"
  9.2155  msgstr "终止提交"
  9.2156  
  9.2157  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2158 -#: ../en/ch01-tour-basic.xml:645
  9.2159 +#: ../en/ch01-tour-basic.xml:702
  9.2160  msgid ""
  9.2161  "If you decide that you don't want to commit while in the middle of editing a "
  9.2162  "commit message, simply exit from your editor without saving the file that "
  9.2163 @@ -3436,7 +3511,7 @@
  9.2164  msgstr ""
  9.2165  
  9.2166  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2167 -#: ../en/ch01-tour-basic.xml:650
  9.2168 +#: ../en/ch01-tour-basic.xml:707
  9.2169  msgid ""
  9.2170  "If we run the <command role=\"hg-cmd\">hg commit</command> command without "
  9.2171  "any arguments, it records all of the changes we've made, as reported by "
  9.2172 @@ -3445,12 +3520,12 @@
  9.2173  msgstr ""
  9.2174  
  9.2175  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2176 -#: ../en/ch01-tour-basic.xml:657
  9.2177 +#: ../en/ch01-tour-basic.xml:714
  9.2178  msgid "Admiring our new handiwork"
  9.2179  msgstr "欣赏我们的成果"
  9.2180  
  9.2181  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2182 -#: ../en/ch01-tour-basic.xml:659
  9.2183 +#: ../en/ch01-tour-basic.xml:716
  9.2184  msgid ""
  9.2185  "Once we've finished the commit, we can use the <command role=\"hg-cmd\">hg "
  9.2186  "tip</command> command to display the changeset we just created.  This command "
  9.2187 @@ -3459,19 +3534,30 @@
  9.2188  msgstr ""
  9.2189  
  9.2190  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2191 -#: ../en/ch01-tour-basic.xml:668
  9.2192 -msgid ""
  9.2193 -"We refer to the newest revision in the repository as the tip revision, or "
  9.2194 -"simply the tip."
  9.2195 +#: ../en/ch01-tour-basic.xml:725
  9.2196 +msgid ""
  9.2197 +"We refer to the newest revision in the repository as the <emphasis>tip "
  9.2198 +"revision</emphasis>, or simply the <emphasis>tip</emphasis>."
  9.2199 +msgstr ""
  9.2200 +
  9.2201 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.2202 +#: ../en/ch01-tour-basic.xml:729
  9.2203 +msgid ""
  9.2204 +"By the way, the <command role=\"hg-cmd\">hg tip</command> command accepts "
  9.2205 +"many of the same options as <command role=\"hg-cmd\">hg log</command>, so "
  9.2206 +"<option role=\"hg-opt-global\">-v</option> above indicates <quote>be verbose</"
  9.2207 +"quote>, <option role=\"hg-opt-tip\">-p</option> specifies <quote>print a "
  9.2208 +"patch</quote>.  The use of <option role=\"hg-opt-tip\">-p</option> to print "
  9.2209 +"patches is another example of the consistent naming we mentioned earlier."
  9.2210  msgstr ""
  9.2211  
  9.2212  #. type: Content of: <book><chapter><sect1><title>
  9.2213 -#: ../en/ch01-tour-basic.xml:675
  9.2214 +#: ../en/ch01-tour-basic.xml:741
  9.2215  msgid "Sharing changes"
  9.2216  msgstr "共享修改"
  9.2217  
  9.2218  #. type: Content of: <book><chapter><sect1><para>
  9.2219 -#: ../en/ch01-tour-basic.xml:677
  9.2220 +#: ../en/ch01-tour-basic.xml:743
  9.2221  msgid ""
  9.2222  "We mentioned earlier that repositories in Mercurial are self-contained.  This "
  9.2223  "means that the changeset we just created exists only in our <filename class="
  9.2224 @@ -3480,12 +3566,12 @@
  9.2225  msgstr ""
  9.2226  
  9.2227  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2228 -#: ../en/ch01-tour-basic.xml:685
  9.2229 +#: ../en/ch01-tour-basic.xml:751
  9.2230  msgid "Pulling changes from another repository"
  9.2231  msgstr "从其它版本库取得修改"
  9.2232  
  9.2233  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2234 -#: ../en/ch01-tour-basic.xml:686
  9.2235 +#: ../en/ch01-tour-basic.xml:752
  9.2236  msgid ""
  9.2237  "To get started, let's clone our original <filename class=\"directory\">hello</"
  9.2238  "filename> repository, which does not contain the change we just committed.  "
  9.2239 @@ -3494,7 +3580,7 @@
  9.2240  msgstr ""
  9.2241  
  9.2242  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2243 -#: ../en/ch01-tour-basic.xml:694
  9.2244 +#: ../en/ch01-tour-basic.xml:760
  9.2245  msgid ""
  9.2246  "We'll use the <command role=\"hg-cmd\">hg pull</command> command to bring "
  9.2247  "changes from <filename class=\"directory\">my-hello</filename> into <filename "
  9.2248 @@ -3507,16 +3593,18 @@
  9.2249  msgstr ""
  9.2250  
  9.2251  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2252 -#: ../en/ch01-tour-basic.xml:707
  9.2253 -msgid ""
  9.2254 -"(Of course, someone could cause more changesets to appear in the repository "
  9.2255 -"that we ran <command role=\"hg-cmd\">hg incoming</command> in, before we get "
  9.2256 -"a chance to <command role=\"hg-cmd\">hg pull</command> the changes, so that "
  9.2257 -"we could end up pulling changes that we didn't expect.)"
  9.2258 -msgstr ""
  9.2259 -
  9.2260 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.2261 -#: ../en/ch01-tour-basic.xml:714
  9.2262 +#: ../en/ch01-tour-basic.xml:773
  9.2263 +msgid ""
  9.2264 +"Suppose you're pulling changes from a repository on the network somewhere. "
  9.2265 +"While you are looking at the <command role=\"hg-cmd\">hg incoming</command> "
  9.2266 +"output, and before you pull those changes, someone might have committed "
  9.2267 +"something in the remote repository. This means that it's possible to pull "
  9.2268 +"more changes than you saw when using <command role=\"hg-cmd\">hg incoming</"
  9.2269 +"command>."
  9.2270 +msgstr ""
  9.2271 +
  9.2272 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.2273 +#: ../en/ch01-tour-basic.xml:781
  9.2274  msgid ""
  9.2275  "Bringing changes into a repository is a simple matter of running the <command "
  9.2276  "role=\"hg-cmd\">hg pull</command> command, and telling it which repository to "
  9.2277 @@ -3524,7 +3612,7 @@
  9.2278  msgstr ""
  9.2279  
  9.2280  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2281 -#: ../en/ch01-tour-basic.xml:721
  9.2282 +#: ../en/ch01-tour-basic.xml:788
  9.2283  msgid ""
  9.2284  "As you can see from the before-and-after output of <command role=\"hg-cmd"
  9.2285  "\">hg tip</command>, we have successfully pulled changes into our "
  9.2286 @@ -3533,12 +3621,12 @@
  9.2287  msgstr ""
  9.2288  
  9.2289  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2290 -#: ../en/ch01-tour-basic.xml:729
  9.2291 +#: ../en/ch01-tour-basic.xml:796
  9.2292  msgid "Updating the working directory"
  9.2293  msgstr "更新工作目录"
  9.2294  
  9.2295  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2296 -#: ../en/ch01-tour-basic.xml:731
  9.2297 +#: ../en/ch01-tour-basic.xml:798
  9.2298  msgid ""
  9.2299  "We have so far glossed over the relationship between a repository and its "
  9.2300  "working directory.  The <command role=\"hg-cmd\">hg pull</command> command "
  9.2301 @@ -3550,21 +3638,21 @@
  9.2302  msgstr ""
  9.2303  
  9.2304  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2305 -#: ../en/ch01-tour-basic.xml:743
  9.2306 +#: ../en/ch01-tour-basic.xml:810
  9.2307  msgid ""
  9.2308  "It might seem a bit strange that <command role=\"hg-cmd\">hg pull</command> "
  9.2309  "doesn't update the working directory automatically.  There's actually a good "
  9.2310  "reason for this: you can use <command role=\"hg-cmd\">hg update</command> to "
  9.2311  "update the working directory to the state it was in at <emphasis>any "
  9.2312  "revision</emphasis> in the history of the repository.  If you had the working "
  9.2313 -"directory updated to an old revision---to hunt down the origin of a bug, "
  9.2314 -"say---and ran a <command role=\"hg-cmd\">hg pull</command> which "
  9.2315 -"automatically updated the working directory to a new revision, you might not "
  9.2316 -"be terribly happy."
  9.2317 -msgstr ""
  9.2318 -
  9.2319 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.2320 -#: ../en/ch01-tour-basic.xml:754
  9.2321 +"directory updated to an old revision—to hunt down the origin of a bug, say—"
  9.2322 +"and ran a <command role=\"hg-cmd\">hg pull</command> which automatically "
  9.2323 +"updated the working directory to a new revision, you might not be terribly "
  9.2324 +"happy."
  9.2325 +msgstr ""
  9.2326 +
  9.2327 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.2328 +#: ../en/ch01-tour-basic.xml:821
  9.2329  msgid ""
  9.2330  "However, since pull-then-update is such a common thing to do, Mercurial lets "
  9.2331  "you combine the two by passing the <option role=\"hg-opt-pull\">-u</option> "
  9.2332 @@ -3572,7 +3660,7 @@
  9.2333  msgstr ""
  9.2334  
  9.2335  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2336 -#: ../en/ch01-tour-basic.xml:759
  9.2337 +#: ../en/ch01-tour-basic.xml:826
  9.2338  msgid ""
  9.2339  "If you look back at the output of <command role=\"hg-cmd\">hg pull</command> "
  9.2340  "in <xref linkend=\"sec:tour:pull\"/> when we ran it without <option role=\"hg-"
  9.2341 @@ -3581,14 +3669,14 @@
  9.2342  msgstr ""
  9.2343  
  9.2344  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2345 -#: ../en/ch01-tour-basic.xml:768
  9.2346 +#: ../en/ch01-tour-basic.xml:835
  9.2347  msgid ""
  9.2348  "To find out what revision the working directory is at, use the <command role="
  9.2349  "\"hg-cmd\">hg parents</command> command."
  9.2350  msgstr ""
  9.2351  
  9.2352  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2353 -#: ../en/ch01-tour-basic.xml:774
  9.2354 +#: ../en/ch01-tour-basic.xml:841
  9.2355  msgid ""
  9.2356  "If you look back at <xref linkend=\"fig:tour-basic:history\"/>, you'll see "
  9.2357  "arrows connecting each changeset.  The node that the arrow leads "
  9.2358 @@ -3599,7 +3687,7 @@
  9.2359  msgstr ""
  9.2360  
  9.2361  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2362 -#: ../en/ch01-tour-basic.xml:783
  9.2363 +#: ../en/ch01-tour-basic.xml:850
  9.2364  msgid ""
  9.2365  "To update the working directory to a particular revision, give a revision "
  9.2366  "number or changeset ID to the <command role=\"hg-cmd\">hg update</command> "
  9.2367 @@ -3607,7 +3695,7 @@
  9.2368  msgstr ""
  9.2369  
  9.2370  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2371 -#: ../en/ch01-tour-basic.xml:790
  9.2372 +#: ../en/ch01-tour-basic.xml:857
  9.2373  msgid ""
  9.2374  "If you omit an explicit revision, <command role=\"hg-cmd\">hg update</"
  9.2375  "command> will update to the tip revision, as shown by the second call to "
  9.2376 @@ -3615,12 +3703,12 @@
  9.2377  msgstr ""
  9.2378  
  9.2379  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2380 -#: ../en/ch01-tour-basic.xml:798
  9.2381 +#: ../en/ch01-tour-basic.xml:865
  9.2382  msgid "Pushing changes to another repository"
  9.2383  msgstr "发布修改到其它版本库"
  9.2384  
  9.2385  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2386 -#: ../en/ch01-tour-basic.xml:800
  9.2387 +#: ../en/ch01-tour-basic.xml:867
  9.2388  msgid ""
  9.2389  "Mercurial lets us push changes to another repository, from the repository "
  9.2390  "we're currently visiting.  As with the example of <command role=\"hg-cmd\">hg "
  9.2391 @@ -3629,44 +3717,47 @@
  9.2392  msgstr ""
  9.2393  
  9.2394  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2395 -#: ../en/ch01-tour-basic.xml:808
  9.2396 +#: ../en/ch01-tour-basic.xml:875
  9.2397  msgid ""
  9.2398  "The <command role=\"hg-cmd\">hg outgoing</command> command tells us what "
  9.2399  "changes would be pushed into another repository."
  9.2400  msgstr ""
  9.2401  
  9.2402  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2403 -#: ../en/ch01-tour-basic.xml:814
  9.2404 +#: ../en/ch01-tour-basic.xml:881
  9.2405  msgid ""
  9.2406  "And the <command role=\"hg-cmd\">hg push</command> command does the actual "
  9.2407  "push."
  9.2408  msgstr ""
  9.2409  
  9.2410  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2411 -#: ../en/ch01-tour-basic.xml:820
  9.2412 +#: ../en/ch01-tour-basic.xml:887
  9.2413  msgid ""
  9.2414  "As with <command role=\"hg-cmd\">hg pull</command>, the <command role=\"hg-cmd"
  9.2415  "\">hg push</command> command does not update the working directory in the "
  9.2416 -"repository that it's pushing changes into. (Unlike <command role=\"hg-cmd"
  9.2417 -"\">hg pull</command>, <command role=\"hg-cmd\">hg push</command> does not "
  9.2418 -"provide a <literal>-u</literal> option that updates the other repository's "
  9.2419 -"working directory.)"
  9.2420 -msgstr ""
  9.2421 -
  9.2422 -#. type: Content of: <book><chapter><sect1><sect2><para>
  9.2423 -#: ../en/ch01-tour-basic.xml:829
  9.2424 +"repository that it's pushing changes into. Unlike <command role=\"hg-cmd\">hg "
  9.2425 +"pull</command>, <command role=\"hg-cmd\">hg push</command> does not provide a "
  9.2426 +"<literal>-u</literal> option that updates the other repository's working "
  9.2427 +"directory.  This asymmetry is deliberate: the repository we're pushing to "
  9.2428 +"might be on a remote server and shared between several people.  If we were to "
  9.2429 +"update its working directory while someone was working in it, their work "
  9.2430 +"would be disrupted."
  9.2431 +msgstr ""
  9.2432 +
  9.2433 +#. type: Content of: <book><chapter><sect1><sect2><para>
  9.2434 +#: ../en/ch01-tour-basic.xml:899
  9.2435  msgid ""
  9.2436  "What happens if we try to pull or push changes and the receiving repository "
  9.2437  "already has those changes? Nothing too exciting."
  9.2438  msgstr ""
  9.2439  
  9.2440  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2441 -#: ../en/ch01-tour-basic.xml:836
  9.2442 +#: ../en/ch01-tour-basic.xml:906
  9.2443  msgid "Sharing changes over a network"
  9.2444  msgstr "通过网络共享修改"
  9.2445  
  9.2446  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2447 -#: ../en/ch01-tour-basic.xml:838
  9.2448 +#: ../en/ch01-tour-basic.xml:908
  9.2449  msgid ""
  9.2450  "The commands we have covered in the previous few sections are not limited to "
  9.2451  "working with local repositories.  Each works in exactly the same fashion over "
  9.2452 @@ -3674,7 +3765,7 @@
  9.2453  msgstr ""
  9.2454  
  9.2455  #. type: Content of: <book><chapter><sect1><sect2><para>
  9.2456 -#: ../en/ch01-tour-basic.xml:846
  9.2457 +#: ../en/ch01-tour-basic.xml:916
  9.2458  msgid ""
  9.2459  "In this example, we can see what changes we could push to the remote "
  9.2460  "repository, but the repository is understandably not set up to let anonymous "
  9.2461 @@ -5393,6 +5484,7 @@
  9.2462  
  9.2463  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2464  #: ../en/ch04-daily.xml:198
  9.2465 +#, fuzzy
  9.2466  msgid "Useful shorthand—adding and removing files in one step"
  9.2467  msgstr "有用的速记—一个步骤添加和删除文件"
  9.2468  
  9.2469 @@ -8521,6 +8613,7 @@
  9.2470  
  9.2471  #. type: Content of: <book><chapter><sect1><title>
  9.2472  #: ../en/ch07-branch.xml:228
  9.2473 +#, fuzzy
  9.2474  msgid "The flow of changes—big picture vs. little"
  9.2475  msgstr "修改流程—宏观与微观"
  9.2476  
  9.2477 @@ -11185,6 +11278,7 @@
  9.2478  
  9.2479  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2480  #: ../en/ch09-hook.xml:716
  9.2481 +#, fuzzy
  9.2482  msgid ""
  9.2483  "<literal role=\"hg-ext\">acl</literal>—access control for parts of a "
  9.2484  "repository"
  9.2485 @@ -11333,6 +11427,7 @@
  9.2486  
  9.2487  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2488  #: ../en/ch09-hook.xml:844
  9.2489 +#, fuzzy
  9.2490  msgid "<literal role=\"hg-ext\">bugzilla</literal>—integration with Bugzilla"
  9.2491  msgstr "<literal role=\"hg-ext\">bugzilla</literal>—与 Bugzilla 的集成"
  9.2492  
  9.2493 @@ -11665,6 +11760,7 @@
  9.2494  
  9.2495  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2496  #: ../en/ch09-hook.xml:1150
  9.2497 +#, fuzzy
  9.2498  msgid "<literal role=\"hg-ext\">notify</literal>—send email notifications"
  9.2499  msgstr "<literal role=\"hg-ext\">notify</literal>—邮件通知"
  9.2500  
  9.2501 @@ -11989,6 +12085,7 @@
  9.2502  
  9.2503  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  9.2504  #: ../en/ch09-hook.xml:1431
  9.2505 +#, fuzzy
  9.2506  msgid "Where changes are going—remote repository URLs"
  9.2507  msgstr "修改集要到哪里—远程版本库的地址"
  9.2508  
  9.2509 @@ -12038,6 +12135,7 @@
  9.2510  
  9.2511  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2512  #: ../en/ch09-hook.xml:1473
  9.2513 +#, fuzzy
  9.2514  msgid ""
  9.2515  "<literal role=\"hook\">changegroup</literal>—after remote changesets added"
  9.2516  msgstr "<literal role=\"hook\">changegroup</literal>—增加远程修改集之后"
  9.2517 @@ -12106,6 +12204,7 @@
  9.2518  
  9.2519  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2520  #: ../en/ch09-hook.xml:1526
  9.2521 +#, fuzzy
  9.2522  msgid "<literal role=\"hook\">commit</literal>—after a new changeset is created"
  9.2523  msgstr "<literal role=\"hook\">commit</literal>—创建新修改集之后"
  9.2524  
  9.2525 @@ -12145,6 +12244,7 @@
  9.2526  
  9.2527  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2528  #: ../en/ch09-hook.xml:1559
  9.2529 +#, fuzzy
  9.2530  msgid ""
  9.2531  "<literal role=\"hook\">incoming</literal>—after one remote changeset is added"
  9.2532  msgstr "<literal role=\"hook\">incoming</literal>—增加远程修改集之后"
  9.2533 @@ -12185,6 +12285,7 @@
  9.2534  
  9.2535  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2536  #: ../en/ch09-hook.xml:1605
  9.2537 +#, fuzzy
  9.2538  msgid ""
  9.2539  "<literal role=\"hook\">outgoing</literal>—after changesets are propagated"
  9.2540  msgstr "<literal role=\"hook\">outgoing</literal>—传播修改集之后"
  9.2541 @@ -12232,6 +12333,7 @@
  9.2542  
  9.2543  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2544  #: ../en/ch09-hook.xml:1652
  9.2545 +#, fuzzy
  9.2546  msgid ""
  9.2547  "<literal role=\"hook\">prechangegroup</literal>—before starting to add remote "
  9.2548  "changesets"
  9.2549 @@ -12272,6 +12374,7 @@
  9.2550  
  9.2551  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2552  #: ../en/ch09-hook.xml:1698
  9.2553 +#, fuzzy
  9.2554  msgid ""
  9.2555  "<literal role=\"hook\">precommit</literal>—before starting to commit a "
  9.2556  "changeset"
  9.2557 @@ -12324,6 +12427,7 @@
  9.2558  
  9.2559  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2560  #: ../en/ch09-hook.xml:1738
  9.2561 +#, fuzzy
  9.2562  msgid ""
  9.2563  "<literal role=\"hook\">preoutgoing</literal>—before starting to propagate "
  9.2564  "changesets"
  9.2565 @@ -12362,6 +12466,7 @@
  9.2566  
  9.2567  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2568  #: ../en/ch09-hook.xml:1775
  9.2569 +#, fuzzy
  9.2570  msgid "<literal role=\"hook\">pretag</literal>—before tagging a changeset"
  9.2571  msgstr "<literal role=\"hook\">pretag</literal>—创建标签之前"
  9.2572  
  9.2573 @@ -12411,6 +12516,7 @@
  9.2574  
  9.2575  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2576  #: ../en/ch09-hook.xml:1815
  9.2577 +#, fuzzy
  9.2578  msgid ""
  9.2579  "<literal role=\"hook\">pretxnchangegroup</literal>—before completing addition "
  9.2580  "of remote changesets"
  9.2581 @@ -12463,6 +12569,7 @@
  9.2582  
  9.2583  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2584  #: ../en/ch09-hook.xml:1881
  9.2585 +#, fuzzy
  9.2586  msgid ""
  9.2587  "<literal role=\"hook\">pretxncommit</literal>—before completing commit of new "
  9.2588  "changeset"
  9.2589 @@ -12505,6 +12612,7 @@
  9.2590  
  9.2591  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2592  #: ../en/ch09-hook.xml:1929
  9.2593 +#, fuzzy
  9.2594  msgid ""
  9.2595  "<literal role=\"hook\">preupdate</literal>—before updating or merging working "
  9.2596  "directory"
  9.2597 @@ -12544,6 +12652,7 @@
  9.2598  
  9.2599  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2600  #: ../en/ch09-hook.xml:1961
  9.2601 +#, fuzzy
  9.2602  msgid "<literal role=\"hook\">tag</literal>—after tagging a changeset"
  9.2603  msgstr "<literal role=\"hook\">tag</literal>—创建标签之后"
  9.2604  
  9.2605 @@ -12592,6 +12701,7 @@
  9.2606  
  9.2607  #. type: Content of: <book><chapter><sect1><sect2><title>
  9.2608  #: ../en/ch09-hook.xml:1998
  9.2609 +#, fuzzy
  9.2610  msgid ""
  9.2611  "<literal role=\"hook\">update</literal>—after updating or merging working "
  9.2612  "directory"
  9.2613 @@ -13787,11 +13897,6 @@
  9.2614  "particular line of a source file.  And so on."
  9.2615  msgstr ""
  9.2616  
  9.2617 -#. type: Content of: <book><chapter><sect1><title>
  9.2618 -#: ../en/ch11-mq.xml:187
  9.2619 -msgid "Understanding patches"
  9.2620 -msgstr "理解补丁"
  9.2621 -
  9.2622  #. type: Content of: <book><chapter><sect1><para>
  9.2623  #: ../en/ch11-mq.xml:189
  9.2624  msgid ""
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/web/hgbook/admin.py	Thu Apr 02 09:24:36 2009 +0800
    10.3 @@ -0,0 +1,23 @@
    10.4 +from django.contrib import admin
    10.5 +from hgbook.comments.models import Comment, Element
    10.6 +
    10.7 +class CommentAdmin(admin.ModelAdmin):
    10.8 +    list_display = ['element', 'submitter_name', 'comment', 'reviewed',
    10.9 +                    'hidden', 'date']
   10.10 +    search_fields = ['comment']
   10.11 +    date_hierarchy = 'date'
   10.12 +    list_filter = ['date', 'submitter_name']
   10.13 +    search_fields = ['title', 'submitter_name', 'submitter_url']
   10.14 +    fields = (
   10.15 +        (None, {'fields': ('submitter_name', 'element', 'comment')}),
   10.16 +        ('Review and presentation state',
   10.17 +         {'fields': ('reviewed', 'hidden')}),
   10.18 +        ('Other info', {'fields': ('date', 'submitter_url', 'ip')}),
   10.19 +        )
   10.20 +
   10.21 +class ElementAdmin(admin.ModelAdmin):
   10.22 +    search_fields = ['id', 'chapter']
   10.23 +    list_filter = ['chapter', 'title']
   10.24 +
   10.25 +admin.site.register(Comment, CommentAdmin)
   10.26 +admin.site.register(Element, ElementAdmin)
    11.1 --- a/web/hgbook/comments/models.py	Tue Mar 31 21:17:59 2009 +0800
    11.2 +++ b/web/hgbook/comments/models.py	Thu Apr 02 09:24:36 2009 +0800
    11.3 @@ -4,10 +4,6 @@
    11.4  mutable = True
    11.5  
    11.6  class Element(models.Model):
    11.7 -    class Admin:
    11.8 -        search_fields = ['id', 'chapter']
    11.9 -        list_filter = ['chapter', 'title']
   11.10 -
   11.11      id = models.CharField('ID attribute', max_length=64, editable=False,
   11.12                            primary_key=True)
   11.13      chapter = models.CharField('Chapter ID', max_length=64, editable=False,
   11.14 @@ -18,20 +14,6 @@
   11.15          return self.id
   11.16      
   11.17  class Comment(models.Model):
   11.18 -    class Admin:
   11.19 -        list_display = ['element', 'submitter_name', 'comment', 'reviewed',
   11.20 -                        'hidden', 'date']
   11.21 -        search_fields = ['comment']
   11.22 -        date_hierarchy = 'date'
   11.23 -        list_filter = ['date', 'submitter_name']
   11.24 -        search_fields = ['title', 'submitter_name', 'submitter_url']
   11.25 -        fields = (
   11.26 -            (None, {'fields': ('submitter_name', 'element', 'comment')}),
   11.27 -            ('Review and presentation state',
   11.28 -             {'fields': ('reviewed', 'hidden')}),
   11.29 -            ('Other info', {'fields': ('date', 'submitter_url', 'ip')}),
   11.30 -            )
   11.31 -            
   11.32      element = models.ForeignKey(Element,
   11.33          help_text='ID of paragraph that was commented on')
   11.34      comment = models.TextField(editable=mutable,
    12.1 --- a/web/hgbook/urls.py	Tue Mar 31 21:17:59 2009 +0800
    12.2 +++ b/web/hgbook/urls.py	Thu Apr 02 09:24:36 2009 +0800
    12.3 @@ -1,6 +1,9 @@
    12.4  import os
    12.5  from django.conf.urls.defaults import *
    12.6  import hgbook.comments.feeds as feeds
    12.7 +from django.contrib import admin
    12.8 +
    12.9 +admin.autodiscover()
   12.10  
   12.11  feeds = {
   12.12      'comments': feeds.Comments,
   12.13 @@ -18,5 +21,5 @@
   12.14      #    sys.modules[__name__].__file__) + '/../../en/html'),
   12.15  
   12.16      # Uncomment this for admin:
   12.17 -    (r'^admin/', include('django.contrib.admin.urls')),
   12.18 +    (r'^admin/(.*)', admin.site.root),
   12.19  )