Commits

Anonymous committed 8613844

Update po files with source xml files

Comments (0)

Files changed (1)

 msgid ""
 msgstr ""
 "Project-Id-Version: hgbook 1.2\n"
-"POT-Creation-Date: 2009-04-05 11:48+0800\n"
+"POT-Creation-Date: 2009-04-18 10:05+0800\n"
 "PO-Revision-Date: 2009-04-05 12:10+0800\n"
 "Last-Translator: 宋冬生 <songdonogsheng@live.cn>\n"
 "Language-Team: Simplified Chinese <i18n-zh@googlegroups.com >\n"
 "If <command role=\"hg-ext-mq\">qnew</command> finds modified files in the "
 "working directory, it will refuse to create a new patch unless the <option "
 "role=\"hg-ext-mq-cmd-qnew-opt\">-f</option> option is used (see below).  This "
-"behaviour allows you to <command role=\"hg-ext-mq\">qrefresh</command> your "
+"behavior allows you to <command role=\"hg-ext-mq\">qrefresh</command> your "
 "topmost applied patch before you apply a new patch on top of it."
 msgstr ""
 
 msgid ""
 "By default, the <command role=\"hg-ext-mq\">qpop</command> command will not "
 "pop any patches if the working directory has been modified.  You can override "
-"this behaviour using the <option role=\"hg-ext-mq-cmd-qpop-opt\">-f</option> "
+"this behavior using the <option role=\"hg-ext-mq-cmd-qpop-opt\">-f</option> "
 "option, which reverts all modifications in the working directory."
 msgstr ""
 
 #: ../en/ch00-preface.xml:153
 msgid ""
 "The advantage of this approach is that the examples are always accurate; they "
-"describe <emphasis>exactly</emphasis> the behaviour of the version of "
+"describe <emphasis>exactly</emphasis> the behavior of the version of "
 "Mercurial that's mentioned at the front of the book.  If I update the version "
 "of Mercurial that I'm documenting, and the output of some command changes, "
 "the build fails."
 msgid ""
 "So when you're reading examples, don't place too much weight on the dates or "
 "times you see in the output of commands.  But <emphasis>do</emphasis> be "
-"confident that the behaviour you're seeing is consistent and reproducible."
+"confident that the behavior you're seeing is consistent and reproducible."
 msgstr ""
 
 #. type: Content of: <book><preface><sect1><title>
 
 #. type: Content of: <book><chapter><sect1><figure>
 #: ../en/ch01-tour-basic.xml:259 ../en/ch02-tour-merge.xml:50
-#: ../en/ch02-tour-merge.xml:181 ../en/ch03-concepts.xml:293
+#: ../en/ch02-tour-merge.xml:188 ../en/ch03-concepts.xml:295
 msgid "<placeholder type=\"mediaobject\" id=\"0\"/>"
 msgstr ""
 
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject><textobject><phrase>
 #: ../en/ch01-tour-basic.xml:261 ../en/ch02-tour-merge.xml:52
-#: ../en/ch02-tour-merge.xml:82 ../en/ch02-tour-merge.xml:129
-#: ../en/ch02-tour-merge.xml:183 ../en/ch02-tour-merge.xml:254
-#: ../en/ch03-concepts.xml:57 ../en/ch03-concepts.xml:106
-#: ../en/ch03-concepts.xml:191 ../en/ch03-concepts.xml:295
-#: ../en/ch03-concepts.xml:346 ../en/ch03-concepts.xml:361
-#: ../en/ch03-concepts.xml:402 ../en/ch03-concepts.xml:422
-#: ../en/ch03-concepts.xml:465 ../en/ch05-collab.xml:276
+#: ../en/ch02-tour-merge.xml:82 ../en/ch02-tour-merge.xml:163
+#: ../en/ch02-tour-merge.xml:190 ../en/ch02-tour-merge.xml:260
+#: ../en/ch03-concepts.xml:59 ../en/ch03-concepts.xml:108
+#: ../en/ch03-concepts.xml:193 ../en/ch03-concepts.xml:297
+#: ../en/ch03-concepts.xml:348 ../en/ch03-concepts.xml:363
+#: ../en/ch03-concepts.xml:404 ../en/ch03-concepts.xml:424
+#: ../en/ch03-concepts.xml:467 ../en/ch05-collab.xml:322
 #: ../en/ch08-undo.xml:365 ../en/ch08-undo.xml:412 ../en/ch08-undo.xml:477
 #: ../en/ch08-undo.xml:515 ../en/ch11-mq.xml:412
 msgid "XXX add text"
 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 #: ../en/ch01-tour-basic.xml:592
 msgid ""
-"To set a user name, use your favourite editor to create a file called "
+"To set a user name, use your favorite editor to create a file called "
 "<filename role=\"special\">.hgrc</filename> in your home directory.  "
 "Mercurial will use this file to look up your personalised configuration "
 "settings.  The initial contents of your <filename role=\"special\">.hgrc</"
 "\"directory\">my-new-hello</filename> 之后版本库的内容"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure>
-#: ../en/ch02-tour-merge.xml:78 ../en/ch02-tour-merge.xml:125
-#: ../en/ch02-tour-merge.xml:250 ../en/ch03-concepts.xml:55
-#: ../en/ch03-concepts.xml:104 ../en/ch03-concepts.xml:189
-#: ../en/ch03-concepts.xml:344 ../en/ch03-concepts.xml:359
-#: ../en/ch03-concepts.xml:400 ../en/ch03-concepts.xml:420
-#: ../en/ch03-concepts.xml:461 ../en/ch05-collab.xml:274
+#: ../en/ch02-tour-merge.xml:78 ../en/ch02-tour-merge.xml:159
+#: ../en/ch02-tour-merge.xml:256 ../en/ch03-concepts.xml:57
+#: ../en/ch03-concepts.xml:106 ../en/ch03-concepts.xml:191
+#: ../en/ch03-concepts.xml:346 ../en/ch03-concepts.xml:361
+#: ../en/ch03-concepts.xml:402 ../en/ch03-concepts.xml:422
+#: ../en/ch03-concepts.xml:463 ../en/ch05-collab.xml:320
 #: ../en/ch08-undo.xml:363 ../en/ch08-undo.xml:410 ../en/ch08-undo.xml:475
 #: ../en/ch08-undo.xml:513 ../en/ch11-mq.xml:410
 msgid "  <placeholder type=\"mediaobject\" id=\"0\"/>"
 msgid ""
 "Mercurial is telling us that the <command role=\"hg-cmd\">hg update</command> "
 "command won't do a merge; it won't update the working directory when it "
-"thinks we might be wanting to do a merge, unless we force it to do so.  "
-"Instead, we use the <command role=\"hg-cmd\">hg merge</command> command to "
-"merge the two heads."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch02-tour-merge.xml:123
-msgid "Working directory and repository during merge, and following commit"
-msgstr "在合并期间,以及提交之后的工作目录与版本库"
-
-#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch02-tour-merge.xml:126
-msgid ""
-"<imageobject> <imagedata fileref=\"figs/tour-merge-merge.png\"/> </"
-"imageobject>"
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:133
+"thinks we might want to do a merge, unless we force it to do so.  Instead, we "
+"use the <command role=\"hg-cmd\">hg merge</command> command to merge the two "
+"heads."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch02-tour-merge.xml:122
 msgid ""
 "This updates the working directory so that it contains changes from "
 "<emphasis>both</emphasis> heads, which is reflected in both the output of "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch02-tour-merge.xml:143
+#: ../en/ch02-tour-merge.xml:132
 msgid "Committing the results of the merge"
 msgstr "提交合并结果"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:145
+#: ../en/ch02-tour-merge.xml:134
 msgid ""
 "Whenever we've done a merge, <command role=\"hg-cmd\">hg parents</command> "
 "will display two parents until we <command role=\"hg-cmd\">hg commit</"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:152
+#: ../en/ch02-tour-merge.xml:141
 msgid ""
 "We now have a new tip revision; notice that it has <emphasis>both</emphasis> "
 "of our former heads as its parents.  These are the same revisions that were "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:159
+#: ../en/ch02-tour-merge.xml:148
 msgid ""
 "In <xref linkend=\"fig:tour-merge:merge\"/>, you can see a representation of "
 "what happens to the working directory during the merge, and how this affects "
 "changeset."
 msgstr ""
 
-#. type: Content of: <book><chapter><sect1><title>
-#: ../en/ch02-tour-merge.xml:170
+#. type: Content of: <book><chapter><sect1><sect2><figure><title>
+#: ../en/ch02-tour-merge.xml:157
+msgid "Working directory and repository during merge, and following commit"
+msgstr "在合并期间,以及提交之后的工作目录与版本库"
+
+#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
+#: ../en/ch02-tour-merge.xml:160
+msgid ""
+"<imageobject> <imagedata fileref=\"figs/tour-merge-merge.png\"/> </"
+"imageobject>"
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch02-tour-merge.xml:167
+msgid ""
+"We sometimes talk about a merge having <emphasis>sides</emphasis>: the left "
+"side is the first parent in the output of <command role=\"hg-cmd\">hg "
+"parents</command>, and the right side is the second.  If the working "
+"directory was at e.g. revision 5 before we began a merge, that revision will "
+"become the left side of the merge."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><title>
+#: ../en/ch02-tour-merge.xml:177
 msgid "Merging conflicting changes"
 msgstr "合并有冲突的改变"
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch02-tour-merge.xml:172
+#: ../en/ch02-tour-merge.xml:179
 msgid ""
 "Most merges are simple affairs, but sometimes you'll find yourself merging "
-"changes where each modifies the same portions of the same files.  Unless both "
-"modifications are identical, this results in a <emphasis>conflict</emphasis>, "
-"where you have to decide how to reconcile the different changes into "
-"something coherent."
+"changes where each side modifies the same portions of the same files.  Unless "
+"both modifications are identical, this results in a <emphasis>conflict</"
+"emphasis>, where you have to decide how to reconcile the different changes "
+"into something coherent."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><figure><title>
-#: ../en/ch02-tour-merge.xml:180
+#: ../en/ch02-tour-merge.xml:187
 msgid "Conflicting changes to a document"
 msgstr "冲突的修改"
 
 #. type: Content of: <book><chapter><sect1><figure><mediaobject>
-#: ../en/ch02-tour-merge.xml:182
+#: ../en/ch02-tour-merge.xml:189
 msgid ""
 "<imageobject><imagedata fileref=\"figs/tour-merge-conflict.png\"/></"
 "imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch02-tour-merge.xml:187
+#: ../en/ch02-tour-merge.xml:194
 msgid ""
 "<xref linkend=\"fig:tour-merge:conflict\"/> illustrates an instance of two "
 "conflicting changes to a document.  We started with a single version of the "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch02-tour-merge.xml:194
+#: ../en/ch02-tour-merge.xml:201
 msgid ""
 "Mercurial doesn't have a built-in facility for handling conflicts. Instead, "
-"it runs an external program called <command>hgmerge</command>.  This is a "
-"shell script that is bundled with Mercurial; you can change it to behave "
-"however you please.  What it does by default is try to find one of several "
-"different merging tools that are likely to be installed on your system.  It "
-"first tries a few fully automatic merging tools; if these don't succeed "
-"(because the resolution process requires human guidance) or aren't present, "
-"the script tries a few different graphical merging tools."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch02-tour-merge.xml:205
+"it runs an external program, usually one that displays some kind of graphical "
+"conflict resolution interface.  By default, Mercurial tries to find one of "
+"several different merging tools that are likely to be installed on your "
+"system.  It first tries a few fully automatic merging tools; if these don't "
+"succeed (because the resolution process requires human guidance) or aren't "
+"present, it tries a few different graphical merging tools."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch02-tour-merge.xml:211
 msgid ""
 "It's also possible to get Mercurial to run another program or script instead "
 "of <command>hgmerge</command>, by setting the <envar>HGMERGE</envar> "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch02-tour-merge.xml:211
+#: ../en/ch02-tour-merge.xml:217
 msgid "Using a graphical merge tool"
 msgstr "使用图形合并工具"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:213
+#: ../en/ch02-tour-merge.xml:219
 msgid ""
 "My preferred graphical merge tool is <command>kdiff3</command>, which I'll "
 "use to describe the features that are common to graphical file merging "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
-#: ../en/ch02-tour-merge.xml:223
+#: ../en/ch02-tour-merge.xml:229
 msgid ""
 "At the left is the <emphasis>base</emphasis> version of the file, i.e. the "
 "most recent version from which the two versions we're trying to merge are "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
-#: ../en/ch02-tour-merge.xml:228
+#: ../en/ch02-tour-merge.xml:234
 msgid ""
 "In the middle is <quote>our</quote> version of the file, with the contents "
 "that we modified."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
-#: ../en/ch02-tour-merge.xml:231
+#: ../en/ch02-tour-merge.xml:237
 msgid ""
 "On the right is <quote>their</quote> version of the file, the one that from "
 "the changeset that we're trying to merge with."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:235
+#: ../en/ch02-tour-merge.xml:241
 msgid ""
 "In the pane below these is the current <emphasis>result</emphasis> of the "
 "merge. Our task is to replace all of the red text, which indicates unresolved "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:242
+#: ../en/ch02-tour-merge.xml:248
 msgid ""
 "All four of these panes are <emphasis>locked together</emphasis>; if we "
 "scroll vertically or horizontally in any of them, the others are updated to "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch02-tour-merge.xml:248
+#: ../en/ch02-tour-merge.xml:254
 msgid "Using <command>kdiff3</command> to merge versions of a file"
 msgstr "使用 <command>kdiff3</command> 合并文件的不同版本"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch02-tour-merge.xml:251
+#: ../en/ch02-tour-merge.xml:257
 msgid ""
 "<imageobject> <imagedata width=\"100%\" fileref=\"figs/kdiff3.png\"/></"
 "imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:259
+#: ../en/ch02-tour-merge.xml:265
 msgid ""
 "For each conflicting portion of the file, we can choose to resolve the "
 "conflict using some combination of text from the base version, ours, or "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:265
+#: ../en/ch02-tour-merge.xml:271
 msgid ""
 "There are <emphasis>many</emphasis> file merging tools available, too many to "
 "cover here.  They vary in which platforms they are available for, and in "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch02-tour-merge.xml:274
+#: ../en/ch02-tour-merge.xml:280
 msgid "A worked example"
 msgstr "合并实例"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:276
+#: ../en/ch02-tour-merge.xml:282
 msgid ""
 "In this example, we will reproduce the file modification history of <xref "
 "linkend=\"fig:tour-merge:conflict\"/> above.  Let's begin by creating a "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:283
+#: ../en/ch02-tour-merge.xml:289
 msgid "We'll clone the repository and make a change to the file."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:288
+#: ../en/ch02-tour-merge.xml:294
 msgid ""
 "And another clone, to simulate someone else making a change to the file. "
 "(This hints at the idea that it's not all that unusual to merge with yourself "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:296
+#: ../en/ch02-tour-merge.xml:302
 msgid ""
 "Having created two different versions of the file, we'll set up an "
 "environment suitable for running our merge."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:302
-msgid ""
-"In this example, I won't use Mercurial's normal <command>hgmerge</command> "
-"program to do the merge, because it would drop my nice automated example-"
-"running tool into a graphical user interface.  Instead, I'll set "
-"<envar>HGMERGE</envar> to tell Mercurial to use the non-interactive "
-"<command>merge</command> command.  This is bundled with many Unix-like "
-"systems. If you're following this example on your computer, don't bother "
-"setting <envar>HGMERGE</envar>."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch02-tour-merge.xml:312
-msgid "<emphasis role=\"bold\">XXX FIX THIS EXAMPLE.</emphasis>"
+#: ../en/ch02-tour-merge.xml:308
+msgid ""
+"In this example, I'll set <envar>HGMERGE</envar> to tell Mercurial to use the "
+"non-interactive <command>merge</command> command.  This is bundled with many "
+"Unix-like systems. (If you're following this example on your computer, don't "
+"bother setting <envar>HGMERGE</envar>.)"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 msgid ""
 "The <literal role=\"hg-ext\">fetch</literal> extension adds a new command "
 "called, not surprisingly, <command role=\"hg-cmd\">hg fetch</command>.  This "
-"extension acts as a combination of <command role=\"hg-cmd\">hg pull</"
-"command>, <command role=\"hg-cmd\">hg update</command> and <command role=\"hg-"
-"cmd\">hg merge</command>.  It begins by pulling changes from another "
+"extension acts as a combination of <command role=\"hg-cmd\">hg pull -u</"
+"command>, <command role=\"hg-cmd\">hg merge</command> and <command role=\"hg-"
+"cmd\">hg commit</command>.  It begins by pulling changes from another "
 "repository into the current repository.  If it finds that the changes added a "
-"new head to the repository, it begins a merge, then commits the result of the "
-"merge with an automatically-generated commit message.  If no new heads were "
-"added, it updates the working directory to the new tip changeset."
+"new head to the repository, it begins a merge, then (if the merge succeeded) "
+"commits the result of the merge with an automatically-generated commit "
+"message.  If no new heads were added, it updates the working directory to the "
+"new tip changeset."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-merge.xml:376
 msgid ""
 "Enabling the <literal role=\"hg-ext\">fetch</literal> extension is easy.  "
-"Edit your <filename role=\"special\">.hgrc</filename>, and either go to the "
-"<literal role=\"rc-extensions\">extensions</literal> section or create an "
-"<literal role=\"rc-extensions\">extensions</literal> section. Then add a line "
-"that simply reads <quote><literal>fetch </literal></quote>."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch02-tour-merge.xml:385
-msgid ""
-"(Normally, on the right-hand side of the <quote><literal>=</literal></quote> "
-"would appear the location of the extension, but since the <literal role=\"hg-"
+"Edit the <filename role=\"special\">.hgrc</filename> file in your home "
+"directory, and either go to the <literal role=\"rc-extensions\">extensions</"
+"literal> section or create an <literal role=\"rc-extensions\">extensions</"
+"literal> section. Then add a line that simply reads <quote><literal>fetch=</"
+"literal></quote>."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch02-tour-merge.xml:388
+msgid ""
+"(Normally, the right-hand side of the <quote><literal>=</literal></quote> "
+"would indicate where to find the extension, but since the <literal role=\"hg-"
 "ext\">fetch</literal> extension is in the standard distribution, Mercurial "
 "knows where to search for it.)"
 msgstr ""
 msgid ""
 "Unlike many revision control systems, the concepts upon which Mercurial is "
 "built are simple enough that it's easy to understand how the software really "
-"works.  Knowing this certainly isn't necessary, but I find it useful to have "
-"a <quote>mental model</quote> of what's going on."
+"works.  Knowing these details certainly isn't necessary, so it is certainly "
+"safe to skip this chapter.  However, I think you will get more out of the "
+"software with a <quote>mental model</quote> of what's going on."
 msgstr ""
 
 #. type: Content of: <book><chapter><para>
-#: ../en/ch03-concepts.xml:13
-msgid ""
-"This understanding gives me confidence that Mercurial has been carefully "
-"designed to be both <emphasis>safe</emphasis> and <emphasis>efficient</"
-"emphasis>.  And just as importantly, if it's easy for me to retain a good "
-"idea of what the software is doing when I perform a revision control task, "
-"I'm less likely to be surprised by its behaviour."
+#: ../en/ch03-concepts.xml:14
+msgid ""
+"Being able to understand what's going on behind the scenes gives me "
+"confidence that Mercurial has been carefully designed to be both "
+"<emphasis>safe</emphasis> and <emphasis>efficient</emphasis>.  And just as "
+"importantly, if it's easy for me to retain a good idea of what the software "
+"is doing when I perform a revision control task, I'm less likely to be "
+"surprised by its behavior."
 msgstr ""
 
 #. type: Content of: <book><chapter><para>
-#: ../en/ch03-concepts.xml:20
+#: ../en/ch03-concepts.xml:22
 msgid ""
 "In this chapter, we'll initially cover the core concepts behind Mercurial's "
 "design, then continue to discuss some of the interesting details of its "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><title>
-#: ../en/ch03-concepts.xml:25
+#: ../en/ch03-concepts.xml:27
 msgid "Mercurial's historical record"
 msgstr "Mercurial 的历史记录"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:28
+#: ../en/ch03-concepts.xml:30
 msgid "Tracking the history of a single file"
 msgstr "跟踪单一文件的历史"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:30
+#: ../en/ch03-concepts.xml:32
 msgid ""
 "When Mercurial tracks modifications to a file, it stores the history of that "
 "file in a metadata object called a <emphasis>filelog</emphasis>.  Each entry "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:41
+#: ../en/ch03-concepts.xml:43
 msgid ""
 "A file that is large, or has a lot of history, has its filelog stored in "
 "separate data (<quote><literal>.d</literal></quote> suffix) and index "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch03-concepts.xml:53
+#: ../en/ch03-concepts.xml:55
 msgid ""
 "Relationships between files in working directory and filelogs in repository"
 msgstr "工作目录中的文件与版本库中的文件日志之间的关系"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch03-concepts.xml:56
+#: ../en/ch03-concepts.xml:58
 msgid "<imageobject><imagedata fileref=\"figs/filelog.png\"/></imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:63
+#: ../en/ch03-concepts.xml:65
 msgid "Managing tracked files"
 msgstr "管理跟踪的文件"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:65
+#: ../en/ch03-concepts.xml:67
 msgid ""
 "Mercurial uses a structure called a <emphasis>manifest</emphasis> to collect "
 "together information about the files that it tracks.  Each entry in the "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:75
+#: ../en/ch03-concepts.xml:77
 msgid "Recording changeset information"
 msgstr "记录修改集信息"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:77
+#: ../en/ch03-concepts.xml:79
 msgid ""
 "The <emphasis>changelog</emphasis> contains information about each "
 "changeset.  Each revision records who committed a change, the changeset "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:85
+#: ../en/ch03-concepts.xml:87
 msgid "Relationships between revisions"
 msgstr "版本之间的关系"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:87
+#: ../en/ch03-concepts.xml:89
 msgid ""
 "Within a changelog, a manifest, or a filelog, each revision stores a pointer "
 "to its immediate parent (or to its two parents, if it's a merge revision).  "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:94
+#: ../en/ch03-concepts.xml:96
 msgid ""
 "For every changeset in a repository, there is exactly one revision stored in "
 "the changelog.  Each revision of the changelog contains a pointer to a single "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch03-concepts.xml:103
+#: ../en/ch03-concepts.xml:105
 msgid "Metadata relationships"
 msgstr "元数据之间的关系"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch03-concepts.xml:105
+#: ../en/ch03-concepts.xml:107
 msgid "<imageobject><imagedata fileref=\"figs/metadata.png\"/></imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:110
+#: ../en/ch03-concepts.xml:112
 msgid ""
 "As the illustration shows, there is <emphasis>not</emphasis> a <quote>one to "
 "one</quote> relationship between revisions in the changelog, manifest, or "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><title>
-#: ../en/ch03-concepts.xml:123
+#: ../en/ch03-concepts.xml:125
 msgid "Safe, efficient storage"
 msgstr "安全,高效的存储"
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch03-concepts.xml:125
+#: ../en/ch03-concepts.xml:127
 msgid ""
 "The underpinnings of changelogs, manifests, and filelogs are provided by a "
 "single structure called the <emphasis>revlog</emphasis>."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:130
+#: ../en/ch03-concepts.xml:132
 msgid "Efficient storage"
 msgstr "高效存储"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:132
+#: ../en/ch03-concepts.xml:134
 msgid ""
 "The revlog provides efficient storage of revisions using a <emphasis>delta</"
 "emphasis> mechanism.  Instead of storing a complete copy of a file for each "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:140
+#: ../en/ch03-concepts.xml:142
 msgid ""
 "Some obsolete revision control systems can only work with deltas of text "
 "files.  They must either store binary files as complete snapshots or encoded "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:149
+#: ../en/ch03-concepts.xml:151
 msgid "Safe operation"
 msgstr "安全操作"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:151
+#: ../en/ch03-concepts.xml:153
 msgid ""
 "Mercurial only ever <emphasis>appends</emphasis> data to the end of a revlog "
 "file. It never modifies a section of a file after it has written it.  This is "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:157
+#: ../en/ch03-concepts.xml:159
 msgid ""
 "In addition, Mercurial treats every write as part of a <emphasis>transaction</"
 "emphasis> that can span a number of files.  A transaction is "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:167
+#: ../en/ch03-concepts.xml:169
 msgid ""
 "The fact that Mercurial only appends to files makes it easier to provide this "
 "transactional guarantee.  The easier it is to do stuff like this, the more "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:174
+#: ../en/ch03-concepts.xml:176
 msgid "Fast retrieval"
 msgstr "快速检索"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:176
+#: ../en/ch03-concepts.xml:178
 msgid ""
 "Mercurial cleverly avoids a pitfall common to all earlier revision control "
 "systems: the problem of <emphasis>inefficient retrieval</emphasis>. Most "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch03-concepts.xml:188
+#: ../en/ch03-concepts.xml:190
 msgid "Snapshot of a revlog, with incremental deltas"
 msgstr "版本日志的快照,以及增量差异"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch03-concepts.xml:190
+#: ../en/ch03-concepts.xml:192
 msgid "<imageobject><imagedata fileref=\"figs/snapshot.png\"/></imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:195
+#: ../en/ch03-concepts.xml:197
 msgid ""
 "The innovation that Mercurial applies to this problem is simple but "
 "effective.  Once the cumulative amount of delta information stored since the "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:204
+#: ../en/ch03-concepts.xml:206
 msgid ""
 "<xref linkend=\"fig:concepts:snapshot\"/> illustrates the idea.  In an entry "
 "in a revlog's index file, Mercurial stores the range of entries from the data "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
-#: ../en/ch03-concepts.xml:210
+#: ../en/ch03-concepts.xml:212
 msgid "Aside: the influence of video compression"
 msgstr "旁白: 视频压缩的影响"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
-#: ../en/ch03-concepts.xml:212
+#: ../en/ch03-concepts.xml:214
 msgid ""
 "If you're familiar with video compression or have ever watched a TV feed "
 "through a digital cable or satellite service, you may know that most video "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
-#: ../en/ch03-concepts.xml:221
+#: ../en/ch03-concepts.xml:223
 msgid ""
 "Because it's possible for a video stream to <quote>drop out</quote> "
 "occasionally due to signal glitches, and to limit the accumulation of "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:235
+#: ../en/ch03-concepts.xml:237
 msgid "Identification and strong integrity"
 msgstr "鉴别和强完整性"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:237
+#: ../en/ch03-concepts.xml:239
 msgid ""
 "Along with delta or snapshot information, a revlog entry contains a "
 "cryptographic hash of the data that it represents.  This makes it difficult "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:242
+#: ../en/ch03-concepts.xml:244
 msgid ""
 "Hashes provide more than a mere check against corruption; they are used as "
 "the identifiers for revisions.  The changeset identification hashes that you "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:249
+#: ../en/ch03-concepts.xml:251
 msgid ""
 "Mercurial verifies that hashes are correct when it retrieves file revisions "
 "and when it pulls changes from another repository.  If it encounters an "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:254
+#: ../en/ch03-concepts.xml:256
 msgid ""
 "In addition to the effect it has on retrieval efficiency, Mercurial's use of "
 "periodic snapshots makes it more robust against partial data corruption.  If "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><title>
-#: ../en/ch03-concepts.xml:266
+#: ../en/ch03-concepts.xml:268
 msgid "Revision history, branching, and merging"
 msgstr "修订历史,分支与合并"
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch03-concepts.xml:268
+#: ../en/ch03-concepts.xml:270
 msgid ""
 "Every entry in a Mercurial revlog knows the identity of its immediate "
 "ancestor revision, usually referred to as its <emphasis>parent</emphasis>.  "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch03-concepts.xml:276
+#: ../en/ch03-concepts.xml:278
 msgid ""
 "In <xref linkend=\"fig:concepts:revlog\"/>, you can see an example of the "
 "conceptual structure of a revlog.  Filelogs, manifests, and changelogs all "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch03-concepts.xml:282
+#: ../en/ch03-concepts.xml:284
 msgid ""
 "The first revision in a revlog (at the bottom of the image)  has the null ID "
 "in both of its parent slots.  For a <quote>normal</quote> revision, its first "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><figure><title>
-#: ../en/ch03-concepts.xml:292
+#: ../en/ch03-concepts.xml:294
 msgid "The conceptual structure of a revlog"
 msgstr "版本日志的设计结构"
 
 #. type: Content of: <book><chapter><sect1><figure><mediaobject>
-#: ../en/ch03-concepts.xml:294
+#: ../en/ch03-concepts.xml:296
 msgid "<imageobject><imagedata fileref=\"figs/revlog.png\"/></imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><title>
-#: ../en/ch03-concepts.xml:301
+#: ../en/ch03-concepts.xml:303
 msgid "The working directory"
 msgstr "工作目录"
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch03-concepts.xml:303
+#: ../en/ch03-concepts.xml:305
 msgid ""
 "In the working directory, Mercurial stores a snapshot of the files from the "
 "repository as of a particular changeset."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch03-concepts.xml:306
+#: ../en/ch03-concepts.xml:308
 msgid ""
 "The working directory <quote>knows</quote> which changeset it contains.  When "
 "you update the working directory to contain a particular changeset, Mercurial "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch03-concepts.xml:315
+#: ../en/ch03-concepts.xml:317
 msgid ""
 "The <emphasis>dirstate</emphasis> contains Mercurial's knowledge of the "
 "working directory.  This details which changeset the working directory is "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch03-concepts.xml:321
+#: ../en/ch03-concepts.xml:323
 msgid ""
 "Just as a revision of a revlog has room for two parents, so that it can "
 "represent either a normal revision (with one parent)  or a merge of two "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:335
+#: ../en/ch03-concepts.xml:337
 msgid "What happens when you commit"
 msgstr "当你提交时发生的事情"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:337
+#: ../en/ch03-concepts.xml:339
 msgid ""
 "The dirstate stores parent information for more than just book-keeping "
 "purposes.  Mercurial uses the parents of the dirstate as <emphasis>the "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch03-concepts.xml:343
+#: ../en/ch03-concepts.xml:345
 msgid "The working directory can have two parents"
 msgstr "工作目录可以有两个父亲"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch03-concepts.xml:345
+#: ../en/ch03-concepts.xml:347
 msgid "<imageobject><imagedata fileref=\"figs/wdir.png\"/></imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:350
+#: ../en/ch03-concepts.xml:352
 msgid ""
 "<xref linkend=\"fig:concepts:wdir\"/> shows the normal state of the working "
 "directory, where it has a single changeset as parent.  That changeset is the "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch03-concepts.xml:357
+#: ../en/ch03-concepts.xml:359
 msgid "The working directory gains new parents after a commit"
 msgstr "提交之后,工作目录的父亲就改变了"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch03-concepts.xml:360
+#: ../en/ch03-concepts.xml:362
 msgid ""
 "<imageobject><imagedata fileref=\"figs/wdir-after-commit.png\"/></imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:365
+#: ../en/ch03-concepts.xml:367
 msgid ""
 "It's useful to think of the working directory as <quote>the changeset I'm "
 "about to commit</quote>.  Any files that you tell Mercurial that you've "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:373
+#: ../en/ch03-concepts.xml:375
 msgid ""
 "After a commit, Mercurial will update the parents of the working directory, "
 "so that the first parent is the ID of the new changeset, and the second is "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:384
+#: ../en/ch03-concepts.xml:386
 msgid "Creating a new head"
 msgstr "创建新顶点"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:386
+#: ../en/ch03-concepts.xml:388
 msgid ""
 "It's perfectly normal to update the working directory to a changeset other "
 "than the current tip.  For example, you might want to know what your project "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch03-concepts.xml:398
+#: ../en/ch03-concepts.xml:400
 msgid "The working directory, updated to an older changeset"
 msgstr "同步到旧修改集的工作目录"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch03-concepts.xml:401
+#: ../en/ch03-concepts.xml:403
 msgid ""
 "<imageobject><imagedata fileref=\"figs/wdir-pre-branch.png\"/></imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:406
+#: ../en/ch03-concepts.xml:408
 msgid ""
 "Having updated the working directory to an older changeset, what happens if "
 "you make some changes, and then commit? Mercurial behaves in the same way as "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch03-concepts.xml:418
+#: ../en/ch03-concepts.xml:420
 msgid "After a commit made while synced to an older changeset"
 msgstr "对同步到旧修改集的工作目录提交之后"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch03-concepts.xml:421
+#: ../en/ch03-concepts.xml:423
 msgid "<imageobject><imagedata fileref=\"figs/wdir-branch.png\"/></imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><note><para>
-#: ../en/ch03-concepts.xml:427
+#: ../en/ch03-concepts.xml:429
 msgid ""
 "If you're new to Mercurial, you should keep in mind a common <quote>error</"
 "quote>, which is to use the <command role=\"hg-cmd\">hg pull</command> "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><note><para>
-#: ../en/ch03-concepts.xml:439
+#: ../en/ch03-concepts.xml:441
 msgid ""
 "I put the word <quote>error</quote> in quotes because all that you need to do "
 "to rectify this situation is <command role=\"hg-cmd\">hg merge</command>, "
 "then <command role=\"hg-cmd\">hg commit</command>.  In other words, this "
-"almost never has negative consequences; it just surprises people.  I'll "
-"discuss other ways to avoid this behaviour, and why Mercurial behaves in this "
-"initially surprising way, later on."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:451
-msgid "Merging heads"
-msgstr "合并顶点"
-
-#. type: Content of: <book><chapter><sect1><sect2><para>
+"almost never has negative consequences; it's just something of a surprise for "
+"newcomers.  I'll discuss other ways to avoid this behavior, and why Mercurial "
+"behaves in this initially surprising way, later on."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch03-concepts.xml:453
+#, fuzzy
+msgid "Merging changes"
+msgstr "共享修改"
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch03-concepts.xml:455
 msgid ""
 "When you run the <command role=\"hg-cmd\">hg merge</command> command, "
 "Mercurial leaves the first parent of the working directory unchanged, and "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
-#: ../en/ch03-concepts.xml:460
+#: ../en/ch03-concepts.xml:462
 msgid "Merging two heads"
 msgstr "合并两个顶点"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
-#: ../en/ch03-concepts.xml:462
+#: ../en/ch03-concepts.xml:464
 msgid ""
 "<imageobject> <imagedata fileref=\"figs/wdir-merge.png\"/> </imageobject>"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:469
+#: ../en/ch03-concepts.xml:471
 msgid ""
 "Mercurial also has to modify the working directory, to merge the files "
 "managed in the two changesets.  Simplified a little, the merging process goes "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
-#: ../en/ch03-concepts.xml:474
+#: ../en/ch03-concepts.xml:476
 msgid "If neither changeset has modified a file, do nothing with that file."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
-#: ../en/ch03-concepts.xml:477
+#: ../en/ch03-concepts.xml:479
 msgid ""
 "If one changeset has modified a file, and the other hasn't, create the "
 "modified copy of the file in the working directory."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
-#: ../en/ch03-concepts.xml:481
+#: ../en/ch03-concepts.xml:483
 msgid ""
 "If one changeset has removed a file, and the other hasn't (or has also "
 "deleted it), delete the file from the working directory."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
-#: ../en/ch03-concepts.xml:485
+#: ../en/ch03-concepts.xml:487
 msgid ""
 "If one changeset has removed a file, but the other has modified the file, ask "
 "the user what to do: keep the modified file, or remove it?"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
-#: ../en/ch03-concepts.xml:489
+#: ../en/ch03-concepts.xml:491
 msgid ""
 "If both changesets have modified a file, invoke an external merge program to "
 "choose the new contents for the merged file.  This may require input from the "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
-#: ../en/ch03-concepts.xml:494
+#: ../en/ch03-concepts.xml:496
 msgid ""
 "If one changeset has modified a file, and the other has renamed or copied the "
 "file, make sure that the changes follow the new name of the file."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:498
+#: ../en/ch03-concepts.xml:500
 msgid ""
 "There are more details&emdash;merging has plenty of corner cases&emdash;but "
 "these are the most common choices that are involved in a merge.  As you can "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:505
+#: ../en/ch03-concepts.xml:507
 msgid ""
 "When you're thinking about what happens when you commit after a merge, once "
 "again the working directory is <quote>the changeset I'm about to commit</"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:512
+#: ../en/ch03-concepts.xml:514
 msgid ""
 "Mercurial lets you perform multiple merges, but you must commit the results "
 "of each individual merge as you go.  This is necessary because Mercurial only "
 "becomes overwhelming."
 msgstr ""
 
-#. type: Content of: <book><chapter><sect1><title>
-#: ../en/ch03-concepts.xml:523
+#. type: Content of: <book><chapter><sect1><sect2><title>
+#: ../en/ch03-concepts.xml:525
+#, fuzzy
+msgid "Merging and renames"
+msgstr "合并顶点"
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch03-concepts.xml:527
+msgid ""
+"A surprising number of revision control systems pay little or no attention to "
+"a file's <emphasis>name</emphasis> over time.  For instance, it used to be "
+"common that if a file got renamed on one side of a merge, the changes from "
+"the other side would be silently dropped."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch03-concepts.xml:533
+msgid ""
+"Mercurial records metadata when you tell it to perform a rename or copy. It "
+"uses this metadata during a merge to do the right thing in the case of a "
+"merge.  For instance, if I rename a file, and you edit it without renaming "
+"it, when we merge our work the file will be renamed and have your edits "
+"applied."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><title>
+#: ../en/ch03-concepts.xml:543
 msgid "Other interesting design features"
 msgstr "其它有趣的设计特性"
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch03-concepts.xml:525
+#: ../en/ch03-concepts.xml:545
 msgid ""
 "In the sections above, I've tried to highlight some of the most important "
 "aspects of Mercurial's design, to illustrate that it pays careful attention "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:536
+#: ../en/ch03-concepts.xml:556
 msgid "Clever compression"
 msgstr "智能压缩"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:538
+#: ../en/ch03-concepts.xml:558
 msgid ""
 "When appropriate, Mercurial will store both snapshots and deltas in "
 "compressed form.  It does this by always <emphasis>trying to</emphasis> "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:544
+#: ../en/ch03-concepts.xml:564
 msgid ""
 "This means that Mercurial does <quote>the right thing</quote> when storing a "
 "file whose native form is compressed, such as a <literal>zip</literal> "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:552
+#: ../en/ch03-concepts.xml:572
 msgid ""
 "Deltas between revisions of a compressed file are usually larger than "
 "snapshots of the file, and Mercurial again does <quote>the right thing</"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
-#: ../en/ch03-concepts.xml:561
+#: ../en/ch03-concepts.xml:581
 msgid "Network recompression"
 msgstr "网络重新压缩"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
-#: ../en/ch03-concepts.xml:563
+#: ../en/ch03-concepts.xml:583
 msgid ""
 "When storing revisions on disk, Mercurial uses the <quote>deflate</quote> "
 "compression algorithm (the same one used by the popular <literal>zip</"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
-#: ../en/ch03-concepts.xml:571
+#: ../en/ch03-concepts.xml:591
 msgid ""
 "If the connection is over HTTP, Mercurial recompresses the entire stream of "
 "data using a compression algorithm that gives a better compression ratio (the "
 "compression package).  This combination of algorithm and compression of the "
 "entire stream (instead of a revision at a time) substantially reduces the "
 "number of bytes to be transferred, yielding better network performance over "
-"almost all kinds of network."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><sect3><para>
-#: ../en/ch03-concepts.xml:581
+"most kinds of network."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><sect3><para>
+#: ../en/ch03-concepts.xml:601
 msgid ""
 "(If the connection is over <command>ssh</command>, Mercurial "
 "<emphasis>doesn't</emphasis> recompress the stream, because <command>ssh</"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:589
+#: ../en/ch03-concepts.xml:609
 msgid "Read/write ordering and atomicity"
 msgstr "读写顺序与原子性"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:591
+#: ../en/ch03-concepts.xml:611
 msgid ""
 "Appending to files isn't the whole story when it comes to guaranteeing that a "
 "reader won't see a partial write.  If you recall <xref linkend=\"fig:concepts:"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:599
+#: ../en/ch03-concepts.xml:619
 msgid ""
 "A writer starts a transaction by writing filelog and manifest data, and "
 "doesn't write any changelog data until those are finished.  A reader starts "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:604
+#: ../en/ch03-concepts.xml:624
 msgid ""
 "Since the writer has always finished writing filelog and manifest data before "
 "it writes to the changelog, a reader will never read a pointer to a partially "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:612
+#: ../en/ch03-concepts.xml:632
 msgid "Concurrent access"
 msgstr "并发访问"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:614
+#: ../en/ch03-concepts.xml:634
 msgid ""
 "The read/write ordering and atomicity guarantees mean that Mercurial never "
 "needs to <emphasis>lock</emphasis> a repository when it's reading data, even "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:623
+#: ../en/ch03-concepts.xml:643
 msgid ""
 "The lockless nature of reading means that if you're sharing a repository on a "
 "multi-user system, you don't need to grant other local users permission to "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:636
+#: ../en/ch03-concepts.xml:656
 msgid ""
 "Mercurial uses locks to ensure that only one process can write to a "
 "repository at a time (the locking mechanism is safe even over filesystems "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
-#: ../en/ch03-concepts.xml:648
+#: ../en/ch03-concepts.xml:668
 msgid "Safe dirstate access"
 msgstr "安全的目录状态访问"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
-#: ../en/ch03-concepts.xml:650
+#: ../en/ch03-concepts.xml:670
 msgid ""
 "As with revision data, Mercurial doesn't take a lock to read the dirstate "
 "file; it does acquire a lock to write it.  To avoid the possibility of "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:663
+#: ../en/ch03-concepts.xml:683
 msgid "Avoiding seeks"
 msgstr "避免查找"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:665
+#: ../en/ch03-concepts.xml:685
 msgid ""
 "Critical to Mercurial's performance is the avoidance of seeks of the disk "
 "head, since any seek is far more expensive than even a comparatively large "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:669
+#: ../en/ch03-concepts.xml:689
 msgid ""
 "This is why, for example, the dirstate is stored in a single file.  If there "
 "were a dirstate file per directory that Mercurial tracked, the disk would "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:675
+#: ../en/ch03-concepts.xml:695
 msgid ""
 "Mercurial also uses a <quote>copy on write</quote> scheme when cloning a "
 "repository on local storage.  Instead of copying every revlog file from the "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:686
+#: ../en/ch03-concepts.xml:706
 msgid ""
 "A few revision control developers have pointed out that this idea of making a "
 "complete private copy of a file is not very efficient in its use of storage.  "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch03-concepts.xml:698
+#: ../en/ch03-concepts.xml:718
 msgid "Other contents of the dirstate"
 msgstr "目录状态的其它内容"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:700
+#: ../en/ch03-concepts.xml:720
 msgid ""
 "Because Mercurial doesn't force you to tell it when you're modifying a file, "
 "it uses the dirstate to store some extra information so it can determine "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:707
+#: ../en/ch03-concepts.xml:727
 msgid ""
 "When you explicitly <command role=\"hg-cmd\">hg add</command>, <command role="
 "\"hg-cmd\">hg remove</command>, <command role=\"hg-cmd\">hg rename</command> "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch03-concepts.xml:714
+#: ../en/ch03-concepts.xml:734
 msgid ""
 "When Mercurial is checking the states of files in the working directory, it "
 "first checks a file's modification time.  If that has not changed, the file "
 msgid ""
 "After you run a <command role=\"hg-cmd\">hg commit</command>, the files that "
 "you added before the commit will no longer be listed in the output of "
-"<command role=\"hg-cmd\">hg status</command>.  The reason for this is that "
-"<command role=\"hg-cmd\">hg status</command> only tells you about "
-"<quote>interesting</quote> files&emdash;those that you have modified or told "
-"Mercurial to do something with&emdash;by default.  If you have a repository "
-"that contains thousands of files, you will rarely want to know about files "
-"that Mercurial is tracking, but that have not changed.  (You can still get "
-"this information; we'll return to this later.)"
+"<command role=\"hg-cmd\">hg status</command>.  The reason for this is that by "
+"default, <command role=\"hg-cmd\">hg status</command> only tells you about "
+"<quote>interesting</quote> files&emdash;those that you have (for example) "
+"modified, removed, or renamed.  If you have a repository that contains "
+"thousands of files, you will rarely want to know about files that Mercurial "
+"is tracking, but that have not changed.  (You can still get this information; "
+"we'll return to this later.)"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch04-daily.xml:47
 msgid ""
-"A useful behaviour that Mercurial has is that if you pass the name of a "
+"A useful behavior that Mercurial has is that if you pass the name of a "
 "directory to a command, every Mercurial command will treat this as <quote>I "
 "want to operate on every file in this directory and its subdirectories</"
 "quote>."
 #: ../en/ch04-daily.xml:54
 msgid ""
 "Notice in this example that Mercurial printed the names of the files it "
-"added, whereas it didn't do so when we added the file named <filename>a</"
-"filename> in the earlier example."
+"added, whereas it didn't do so when we added the file named <filename>myfile."
+"txt</filename> in the earlier example."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch04-daily.xml:59
 msgid ""
 "What's going on is that in the former case, we explicitly named the file to "
-"add on the command line, so the assumption that Mercurial makes in such cases "
-"is that you know what you were doing, and it doesn't print any output."
+"add on the command line.  The assumption that Mercurial makes in such cases "
+"is that we know what we are doing, and it doesn't print any output."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 "name of a directory, Mercurial takes the extra step of printing the name of "
 "each file that it does something with.  This makes it more clear what is "
 "happening, and reduces the likelihood of a silent and nasty surprise.  This "
-"behaviour is common to most Mercurial commands."
+"behavior is common to most Mercurial commands."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch04-daily.xml:73
-msgid "Aside: Mercurial tracks files, not directories"
+#, fuzzy
+msgid "Mercurial tracks files, not directories"
 msgstr "旁白: Mercurial 只跟踪文件,不跟踪目录"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 msgid "How to stop tracking a file"
 msgstr "如何停止跟踪文件"
 
-#
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch04-daily.xml:111
 msgid ""
 "Once you decide that a file no longer belongs in your repository, use the "
-"<command role=\"hg-cmd\">hg remove</command> command; this deletes the file, "
+"<command role=\"hg-cmd\">hg remove</command> command. This deletes the file, "
 "and tells Mercurial to stop tracking it.  A removed file is represented in "
 "the output of <command role=\"hg-cmd\">hg status</command> with a "
 "<quote><literal>R</literal></quote>."
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch04-daily.xml:143
 msgid ""
-"If you update the working directory to a changeset in which a file that you "
-"have removed was still tracked, it will reappear in the working directory, "
-"with the contents it had when you committed that changeset.  If you then "
-"update the working directory to a later changeset, in which the file had been "
-"removed, Mercurial will once again remove the file from the working directory."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:153
+"If you update the working directory to a changeset that was committed when it "
+"was still tracking a file that you later removed, the file will reappear in "
+"the working directory, with the contents it had when you committed that "
+"changeset.  If you then update the working directory to a later changeset, in "
+"which the file had been removed, Mercurial will once again remove the file "
+"from the working directory."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><title>
+#: ../en/ch04-daily.xml:154
 msgid "Missing files"
 msgstr "丢失的文件"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:155
+#: ../en/ch04-daily.xml:156
 msgid ""
 "Mercurial considers a file that you have deleted, but not used <command role="
 "\"hg-cmd\">hg remove</command> to delete, to be <emphasis>missing</"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:165
+#: ../en/ch04-daily.xml:166
 msgid ""
 "If your repository contains a file that <command role=\"hg-cmd\">hg status</"
 "command> reports as missing, and you want the file to stay gone, you can run "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:175
+#: ../en/ch04-daily.xml:176
 msgid ""
 "On the other hand, if you deleted the missing file by accident, give <command "
 "role=\"hg-cmd\">hg revert</command> the name of the file to recover.  It will "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:184
+#: ../en/ch04-daily.xml:185
 msgid "Aside: why tell Mercurial explicitly to remove a file?"
 msgstr "旁白: 为什么要明确告诉 Mercurial 删除文件?"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:187
+#: ../en/ch04-daily.xml:188
 msgid ""
 "You might wonder why Mercurial requires you to explicitly tell it that you "
 "are deleting a file.  Early during the development of Mercurial, it let you "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:198
+#: ../en/ch04-daily.xml:199
 msgid "Useful shorthand&emdash;adding and removing files in one step"
 msgstr "有用的速记—一个步骤添加和删除文件"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:201
+#: ../en/ch04-daily.xml:202
 msgid ""
 "Mercurial offers a combination command, <command role=\"hg-cmd\">hg "
 "addremove</command>, that adds untracked files and marks missing files as "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:207
+#: ../en/ch04-daily.xml:208
 msgid ""
 "The <command role=\"hg-cmd\">hg commit</command> command also provides a "
 "<option role=\"hg-opt-commit\">-A</option> option that performs this same add-"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><title>
-#: ../en/ch04-daily.xml:217
+#: ../en/ch04-daily.xml:218
 msgid "Copying files"
 msgstr "复制文件"
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:219
+#: ../en/ch04-daily.xml:220
 msgid ""
 "Mercurial provides a <command role=\"hg-cmd\">hg copy</command> command that "
 "lets you make a new copy of a file.  When you copy a file using this command, "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:227
+#: ../en/ch04-daily.xml:228
 msgid "The results of copying during a merge"
 msgstr "合并期间的复制结果"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:229
+#: ../en/ch04-daily.xml:230
 msgid ""
 "What happens during a merge is that changes <quote>follow</quote> a copy.  To "
 "best illustrate what this means, let's create an example.  We'll start with "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:236
+#: ../en/ch04-daily.xml:237
 msgid ""
 "We need to do some work in parallel, so that we'll have something to merge.  "
 "So let's clone our repository."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:242
+#: ../en/ch04-daily.xml:243
 msgid ""
 "Back in our initial repository, let's use the <command role=\"hg-cmd\">hg "
 "copy</command> command to make a copy of the first file we created."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:248
+#: ../en/ch04-daily.xml:249
 msgid ""
 "If we look at the output of the <command role=\"hg-cmd\">hg status</command> "
 "command afterwards, the copied file looks just like a normal added file."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:254
+#: ../en/ch04-daily.xml:255
 msgid ""
 "But if we pass the <option role=\"hg-opt-status\">-C</option> option to "
 "<command role=\"hg-cmd\">hg status</command>, it prints another line of "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:262
+#: ../en/ch04-daily.xml:263
 msgid ""
 "Now, back in the repository we cloned, let's make a change in parallel.  "
 "We'll add a line of content to the original file that we created."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:268
+#: ../en/ch04-daily.xml:269
 msgid ""
 "Now we have a modified <filename>file</filename> in this repository.  When we "
 "pull the changes from the first repository, and merge the two heads, "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:278
+#: ../en/ch04-daily.xml:279
 msgid "Why should changes follow copies?"
 msgstr "为什么复制后需要后续修改?"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:280
-msgid ""
-"This behaviour, of changes to a file propagating out to copies of the file, "
-"might seem esoteric, but in most cases it's highly desirable."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:284
+#: ../en/ch04-daily.xml:281
+msgid ""
+"This behavior&emdash;of changes to a file propagating out to copies of the "
+"file&emdash;might seem esoteric, but in most cases it's highly desirable."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch04-daily.xml:285
 msgid ""
 "First of all, remember that this propagation <emphasis>only</emphasis> "
 "happens when you merge.  So if you <command role=\"hg-cmd\">hg copy</command> "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:290
+#: ../en/ch04-daily.xml:291
 msgid ""
 "The second thing to know is that modifications will only propagate across a "
-"copy as long as the repository that you're pulling changes from "
-"<emphasis>doesn't know</emphasis> about the copy."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:295
+"copy as long as the changeset that you're merging changes from "
+"<emphasis>hasn't yet seen</emphasis> the copy."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch04-daily.xml:296
 msgid ""
 "The reason that Mercurial does this is as follows.  Let's say I make an "
 "important bug fix in a source file, and commit my changes. Meanwhile, you've "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:302
+#: ../en/ch04-daily.xml:303
 msgid ""
 "If you pulled and merged my changes, and Mercurial <emphasis>didn't</"
-"emphasis> propagate changes across copies, your source file would now contain "
-"the bug, and unless you remembered to propagate the bug fix by hand, the bug "
-"would <emphasis>remain</emphasis> in your copy of the file."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:308
+"emphasis> propagate changes across copies, your new source file would now "
+"contain the bug, and unless you knew to propagate the bug fix by hand, the "
+"bug would <emphasis>remain</emphasis> in your copy of the file."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch04-daily.xml:309
 msgid ""
 "By automatically propagating the change that fixed the bug from the original "
 "file to the copy, Mercurial prevents this class of problem. To my knowledge, "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:314
+#: ../en/ch04-daily.xml:315
 msgid ""
 "Once your change history has a record that the copy and subsequent merge "
 "occurred, there's usually no further need to propagate changes from the "
 "original file to the copied file, and that's why Mercurial only propagates "
-"changes across copies until this point, and no further."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:322
+"changes across copies at the first merge, and not afterwards."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><title>
+#: ../en/ch04-daily.xml:323
 msgid "How to make changes <emphasis>not</emphasis> follow a copy"
 msgstr "如何让复制后<emphasis>不</emphasis>修改?"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:325
+#: ../en/ch04-daily.xml:326
 msgid ""
 "If, for some reason, you decide that this business of automatically "
 "propagating changes across copies is not for you, simply use your system's "
 "normal file copy command (on Unix-like systems, that's <command>cp</command>) "
 "to make a copy of a file, then <command role=\"hg-cmd\">hg add</command> the "
 "new copy by hand.  Before you do so, though, please do reread <xref linkend="
-"\"sec:daily:why-copy\"/>, and make an informed decision that this behaviour "
-"is not appropriate to your specific case."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:338
-msgid "Behaviour of the <command role=\"hg-cmd\">hg copy</command> command"
+"\"sec:daily:why-copy\"/>, and make an informed decision that this behavior is "
+"not appropriate to your specific case."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><title>
+#: ../en/ch04-daily.xml:339
+#, fuzzy
+msgid "Behavior of the <command role=\"hg-cmd\">hg copy</command> command"
 msgstr "命令 <command role=\"hg-cmd\">hg copy</command> 的特性"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:341
+#: ../en/ch04-daily.xml:342
 msgid ""
 "When you use the <command role=\"hg-cmd\">hg copy</command> command, "
 "Mercurial makes a copy of each source file as it currently stands in the "
 "working directory.  This means that if you make some modifications to a file, "
 "then <command role=\"hg-cmd\">hg copy</command> it without first having "
 "committed those changes, the new copy will also contain the modifications you "
-"have made up until that point.  (I find this behaviour a little "
+"have made up until that point.  (I find this behavior a little "
 "counterintuitive, which is why I mention it here.)"
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:351
+#: ../en/ch04-daily.xml:352
 msgid ""
 "The <command role=\"hg-cmd\">hg copy</command> command acts similarly to the "
 "Unix <command>cp</command> command (you can use the <command role=\"hg-cmd"
-"\">hg cp</command> alias if you prefer).  The last argument is the "
-"<emphasis>destination</emphasis>, and all prior arguments are "
-"<emphasis>sources</emphasis>.  If you pass it a single file as the source, "
-"and the destination does not exist, it creates a new file with that name."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:362
+"\">hg cp</command> alias if you prefer).  We must supply two or more "
+"arguments, of which the last is treated as the <emphasis>destination</"
+"emphasis>, and all others are <emphasis>sources</emphasis>."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch04-daily.xml:360
+msgid ""
+"If you pass <command role=\"hg-cmd\">hg copy</command> a single file as the "
+"source, and the destination does not exist, it creates a new file with that "
+"name."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch04-daily.xml:366
 msgid ""
 "If the destination is a directory, Mercurial copies its sources into that "
 "directory."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:367
+#: ../en/ch04-daily.xml:371
 msgid ""
 "Copying a directory is recursive, and preserves the directory structure of "
 "the source."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:373
+#: ../en/ch04-daily.xml:377
 msgid ""
 "If the source and destination are both directories, the source tree is "
 "recreated in the destination directory."
 msgstr ""
 
-#
-#. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:378
-msgid ""
-"As with the <command role=\"hg-cmd\">hg rename</command> command, if you copy "
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch04-daily.xml:382
+msgid ""
+"As with the <command role=\"hg-cmd\">hg remove</command> command, if you copy "
 "a file manually and then want Mercurial to know that you've copied the file, "
 "simply use the <option role=\"hg-opt-copy\">--after</option> option to "
 "<command role=\"hg-cmd\">hg copy</command>."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><title>
-#: ../en/ch04-daily.xml:389
+#: ../en/ch04-daily.xml:393
 msgid "Renaming files"
 msgstr "改名文件"
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:391
+#: ../en/ch04-daily.xml:395
 msgid ""
 "It's rather more common to need to rename a file than to make a copy of it.  "
 "The reason I discussed the <command role=\"hg-cmd\">hg copy</command> command "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:399
+#: ../en/ch04-daily.xml:403
 msgid ""
 "When you use the <command role=\"hg-cmd\">hg rename</command> command, "
 "Mercurial makes a copy of each source file, then deletes it and marks the "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:405
+#: ../en/ch04-daily.xml:409
 msgid ""
 "The <command role=\"hg-cmd\">hg status</command> command shows the newly "
 "copied file as added, and the copied-from file as removed."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:411
+#: ../en/ch04-daily.xml:415
 msgid ""
 "As with the results of a <command role=\"hg-cmd\">hg copy</command>, we must "
 "use the <option role=\"hg-opt-status\">-C</option> option to <command role="
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:420
+#: ../en/ch04-daily.xml:424
 msgid ""
 "As with <command role=\"hg-cmd\">hg remove</command> and <command role=\"hg-"
 "cmd\">hg copy</command>, you can tell Mercurial about a rename after the fact "
 "using the <option role=\"hg-opt-rename\">--after</option> option.  In most "
-"other respects, the behaviour of the <command role=\"hg-cmd\">hg rename</"
+"other respects, the behavior of the <command role=\"hg-cmd\">hg rename</"
 "command> command, and the options it accepts, are similar to the <command "
 "role=\"hg-cmd\">hg copy</command> command."
 msgstr ""
 
-#. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:430
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch04-daily.xml:433
+msgid ""
+"If you're familiar with the Unix command line, you'll be glad to know that "
+"<command role=\"hg-cmd\">hg rename</command> command can be invoked as "
+"<command role=\"hg-cmd\">hg mv</command>."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><title>
+#: ../en/ch04-daily.xml:439
 msgid "Renaming files and merging changes"
 msgstr "改名文件与合并修改"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:432
+#: ../en/ch04-daily.xml:441
 msgid ""
 "Since Mercurial's rename is implemented as copy-and-remove, the same "
 "propagation of changes happens when you merge after a rename as after a copy."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:436
+#: ../en/ch04-daily.xml:445
 msgid ""
 "If I modify a file, and you rename it to a new name, and then we merge our "
 "respective changes, my modifications to the file under its original name will "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:443
+#: ../en/ch04-daily.xml:452
 msgid ""
 "Whereas having changes follow a copy is a feature where you can perhaps nod "
 "and say <quote>yes, that might be useful,</quote> it should be clear that "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:452
+#: ../en/ch04-daily.xml:461
 msgid "Divergent renames and merging"
 msgstr "改名与合并的分歧"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:454
+#: ../en/ch04-daily.xml:463
 msgid ""
 "The case of diverging names occurs when two developers start with a "
 "file&emdash;let's call it <filename>foo</filename>&emdash;in their respective "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:461
+#: ../en/ch04-daily.xml:470
 msgid "Anne renames the file to <filename>bar</filename>."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:465
-msgid "Meanwhile, Bob renames it to <filename>quux</filename>."
-msgstr ""
-
-#. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:470
+#: ../en/ch04-daily.xml:474
+msgid ""
+"Meanwhile, Bob renames it to <filename>quux</filename>. (Remember that "
+"<command role=\"hg-cmd\">hg mv</command> is an alias for <command role=\"hg-"
+"cmd\">hg rename</command>.)"
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch04-daily.xml:481
 msgid ""
 "I like to think of this as a conflict because each developer has expressed "
 "different intentions about what the file ought to be named."
 msgstr ""
 
-#
-#. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:474
+#. type: Content of: <book><chapter><sect1><sect2><para>
+#: ../en/ch04-daily.xml:485
 msgid ""
 "What do you think should happen when they merge their work? Mercurial's "
-"actual behaviour is that it always preserves <emphasis>both</emphasis> names "
+"actual behavior is that it always preserves <emphasis>both</emphasis> names "
 "when it merges changesets that contain divergent renames."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:481
-msgid ""
-"Notice that Mercurial does warn about the divergent renames, but it leaves it "
+#: ../en/ch04-daily.xml:492
+msgid ""
+"Notice that while Mercurial warns about the divergent renames, it leaves it "
 "up to you to do something about the divergence after the merge."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:487
+#: ../en/ch04-daily.xml:498
 msgid "Convergent renames and merging"
 msgstr "收敛改名与合并"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:489
+#: ../en/ch04-daily.xml:500
 msgid ""
 "Another kind of rename conflict occurs when two people choose to rename "
 "different <emphasis>source</emphasis> files to the same "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
-#: ../en/ch04-daily.xml:497
+#: ../en/ch04-daily.xml:508
 msgid "Other name-related corner cases"
 msgstr "其它名称相关的角落"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
-#: ../en/ch04-daily.xml:499
+#: ../en/ch04-daily.xml:510
 msgid ""
 "Mercurial has a longstanding bug in which it fails to handle a merge where "
 "one side has a file with a given name, while another has a directory with the "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><title>
-#: ../en/ch04-daily.xml:511
+#: ../en/ch04-daily.xml:523
 msgid "Recovering from mistakes"
 msgstr "从错误恢复"
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:513
+#: ../en/ch04-daily.xml:525
 msgid ""
 "Mercurial has some useful commands that will help you to recover from some "
 "common mistakes."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:516
+#: ../en/ch04-daily.xml:528
 msgid ""
 "The <command role=\"hg-cmd\">hg revert</command> command lets you undo "
 "changes that you have made to your working directory.  For example, if you "
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:526
-msgid ""
-"It's useful to remember that the <command role=\"hg-cmd\">hg revert</command> "
+#: ../en/ch04-daily.xml:538
+msgid ""
+"It's good to remember that the <command role=\"hg-cmd\">hg revert</command> "
 "command is useful for changes that you have not yet committed.  Once you've "
 "committed a change, if you decide it was a mistake, you can still do "
 "something about it, though your options may be more limited."
 msgstr ""
 
 #. type: Content of: <book><chapter><sect1><para>
-#: ../en/ch04-daily.xml:532
+#: ../en/ch04-daily.xml:544
 msgid ""
 "For more information about the <command role=\"hg-cmd\">hg revert</command> "
 "command, and details about how to deal with changes you have already "
 "committed, see <xref linkend=\"chap:undo\"/>."
 msgstr ""
 
+#. type: Content of: <book><chapter><sect1><title>
+#: ../en/ch04-daily.xml:551
+#, fuzzy
+msgid "Dealing with tricky merges"
+msgstr "处理已经提交的修改"
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch04-daily.xml:553
+msgid ""
+"In a complicated or large project, it's not unusual for a merge of two "
+"changesets to result in some headaches.  Suppose there's a big source file "
+"that's been extensively edited by each side of a merge: this is almost "
+"inevitably going to result in conflicts, some of which can take a few tries "
+"to sort out."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch04-daily.xml:560
+msgid ""
+"Let's develop a simple case of this and see how to deal with it.  We'll start "
+"off with a repository containing one file, and clone it twice."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch04-daily.xml:566
+msgid "In one clone, we'll modify the file in one way."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch04-daily.xml:570
+msgid "In another, we'll modify the file differently."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch04-daily.xml:574
+msgid "Next, we'll pull each set of changes into our original repo."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch04-daily.xml:579
+msgid "We expect our repository to now contain two heads."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch04-daily.xml:583
+msgid ""
+"Normally, if we run <command role=\"hg-cmd\">hg merge</command> at this "
+"point, it will drop us into a GUI that will let us manually resolve the "
+"conflicting edits to <filename>myfile.txt</filename>.  However, to simplify "
+"things for presentation here, we'd like the merge to fail immediately "
+"instead.  Here's one way we can do so."
+msgstr ""
+
+#. type: Content of: <book><chapter><sect1><para>
+#: ../en/ch04-daily.xml:592
+msgid ""
+"We've told Mercurial's merge machinery to run the command <command>false</"
+"command> (which, as we desire, fails immediately) if it detects a merge that "
+"it can't sort out automatically."
+msgstr ""