hgbook

changeset 658:433040113eaf

Update file location in po files
author Dongsheng Song <songdongsheng@live.cn>
date Mon Mar 30 21:37:52 2009 +0800 (2009-03-30)
parents 1e020cb7d417
children 8d130de70ebe
files po/zh.po
line diff
     1.1 --- a/po/zh.po	Mon Mar 30 21:36:31 2009 +0800
     1.2 +++ b/po/zh.po	Mon Mar 30 21:37:52 2009 +0800
     1.3 @@ -41,7 +41,7 @@
     1.4  msgid ""
     1.5  msgstr ""
     1.6  "Project-Id-Version: hgbook 1.2\n"
     1.7 -"POT-Creation-Date: 2009-03-20 17:12+0800\n"
     1.8 +"POT-Creation-Date: 2009-03-30 21:36+0800\n"
     1.9  "PO-Revision-Date: 2009-03-20 17:12+0800\n"
    1.10  "Last-Translator: \n"
    1.11  "Language-Team: Simplified Chinese <i18n-zh@googlegroups.com >\n"
    1.12 @@ -84,32 +84,32 @@
    1.13  "year> <holder>Bryan O'Sullivan</holder> </copyright>"
    1.14  
    1.15  #. type: Content of: <book><appendix><title>
    1.16 -#: ../en/appA-cmdref.xml:4
    1.17 +#: ../en/appA-cmdref.xml:5
    1.18  msgid "Command reference"
    1.19  msgstr "命令参考"
    1.20  
    1.21  #. type: Content of: <book><appendix><para>
    1.22 -#: ../en/appA-cmdref.xml:6
    1.23 +#: ../en/appA-cmdref.xml:7
    1.24  msgid ""
    1.25  "\\cmdref{add}{add files at the next commit} \\optref{add}{I}{include} \\optref"
    1.26  "{add}{X}{exclude} \\optref{add}{n}{dry-run}"
    1.27  msgstr ""
    1.28  
    1.29  #. type: Content of: <book><appendix><para>
    1.30 -#: ../en/appA-cmdref.xml:11
    1.31 +#: ../en/appA-cmdref.xml:12
    1.32  msgid "\\cmdref{diff}{print changes in history or working directory}"
    1.33  msgstr ""
    1.34  
    1.35  #. type: Content of: <book><appendix><para>
    1.36 -#: ../en/appA-cmdref.xml:13
    1.37 +#: ../en/appA-cmdref.xml:14
    1.38  msgid ""
    1.39  "Show differences between revisions for the specified files or directories, "
    1.40  "using the unified diff format.  For a description of the unified diff format, "
    1.41 -"see section <xref linkend=\"sec.mq.patch\"/>."
    1.42 +"see <xref linkend=\"sec:mq:patch\"/>."
    1.43  msgstr ""
    1.44  
    1.45  #. type: Content of: <book><appendix><para>
    1.46 -#: ../en/appA-cmdref.xml:17
    1.47 +#: ../en/appA-cmdref.xml:18
    1.48  msgid ""
    1.49  "By default, this command does not print diffs for files that Mercurial "
    1.50  "considers to contain binary data.  To control this behaviour, see the <option "
    1.51 @@ -118,59 +118,59 @@
    1.52  msgstr ""
    1.53  
    1.54  #. type: Content of: <book><appendix><sect2><title>
    1.55 -#: ../en/appA-cmdref.xml:22
    1.56 +#: ../en/appA-cmdref.xml:23
    1.57  msgid "Options"
    1.58  msgstr "选项"
    1.59  
    1.60  #. type: Content of: <book><appendix><sect2><para>
    1.61 -#: ../en/appA-cmdref.xml:24
    1.62 +#: ../en/appA-cmdref.xml:25
    1.63  msgid "\\loptref{diff}{nodates}"
    1.64  msgstr ""
    1.65  
    1.66  #. type: Content of: <book><appendix><sect2><para>
    1.67 -#: ../en/appA-cmdref.xml:26
    1.68 +#: ../en/appA-cmdref.xml:27
    1.69  msgid "Omit date and time information when printing diff headers."
    1.70  msgstr ""
    1.71  
    1.72  #. type: Content of: <book><appendix><sect2><para>
    1.73 -#: ../en/appA-cmdref.xml:28
    1.74 +#: ../en/appA-cmdref.xml:29
    1.75  msgid "\\optref{diff}{B}{ignore-blank-lines}"
    1.76  msgstr ""
    1.77  
    1.78  #. type: Content of: <book><appendix><sect2><para>
    1.79 -#: ../en/appA-cmdref.xml:30
    1.80 +#: ../en/appA-cmdref.xml:31
    1.81  msgid ""
    1.82  "Do not print changes that only insert or delete blank lines.  A line that "
    1.83  "contains only whitespace is not considered blank."
    1.84  msgstr ""
    1.85  
    1.86  #. type: Content of: <book><appendix><sect2><para>
    1.87 -#: ../en/appA-cmdref.xml:34
    1.88 +#: ../en/appA-cmdref.xml:35
    1.89  msgid "\\optref{diff}{I}{include}"
    1.90  msgstr ""
    1.91  
    1.92  #. type: Content of: <book><appendix><sect2><para>
    1.93 -#: ../en/appA-cmdref.xml:37
    1.94 +#: ../en/appA-cmdref.xml:38
    1.95  msgid "Include files and directories whose names match the given patterns."
    1.96  msgstr ""
    1.97  
    1.98  #. type: Content of: <book><appendix><sect2><para>
    1.99 -#: ../en/appA-cmdref.xml:40
   1.100 +#: ../en/appA-cmdref.xml:41
   1.101  msgid "\\optref{diff}{X}{exclude}"
   1.102  msgstr ""
   1.103  
   1.104  #. type: Content of: <book><appendix><sect2><para>
   1.105 -#: ../en/appA-cmdref.xml:43
   1.106 +#: ../en/appA-cmdref.xml:44
   1.107  msgid "Exclude files and directories whose names match the given patterns."
   1.108  msgstr ""
   1.109  
   1.110  #. type: Content of: <book><appendix><sect2><para>
   1.111 -#: ../en/appA-cmdref.xml:46
   1.112 +#: ../en/appA-cmdref.xml:47
   1.113  msgid "\\optref{diff}{a}{text}"
   1.114  msgstr ""
   1.115  
   1.116  #. type: Content of: <book><appendix><sect2><para>
   1.117 -#: ../en/appA-cmdref.xml:49
   1.118 +#: ../en/appA-cmdref.xml:50
   1.119  msgid ""
   1.120  "If this option is not specified, <command role=\"hg-cmd\">hg diff</command> "
   1.121  "will refuse to print diffs for files that it detects as binary. Specifying "
   1.122 @@ -179,7 +179,7 @@
   1.123  msgstr ""
   1.124  
   1.125  #. type: Content of: <book><appendix><sect2><para>
   1.126 -#: ../en/appA-cmdref.xml:55
   1.127 +#: ../en/appA-cmdref.xml:56
   1.128  msgid ""
   1.129  "This option is useful for files that are <quote>mostly text</quote> but have "
   1.130  "a few embedded NUL characters.  If you use it on files that contain a lot of "
   1.131 @@ -187,36 +187,36 @@
   1.132  msgstr ""
   1.133  
   1.134  #. type: Content of: <book><appendix><sect2><para>
   1.135 -#: ../en/appA-cmdref.xml:60
   1.136 +#: ../en/appA-cmdref.xml:61
   1.137  msgid "\\optref{diff}{b}{ignore-space-change}"
   1.138  msgstr ""
   1.139  
   1.140  #. type: Content of: <book><appendix><sect2><para>
   1.141 -#: ../en/appA-cmdref.xml:63
   1.142 +#: ../en/appA-cmdref.xml:64
   1.143  msgid ""
   1.144  "Do not print a line if the only change to that line is in the amount of white "
   1.145  "space it contains."
   1.146  msgstr ""
   1.147  
   1.148  #. type: Content of: <book><appendix><sect2><para>
   1.149 -#: ../en/appA-cmdref.xml:67
   1.150 +#: ../en/appA-cmdref.xml:68
   1.151  msgid "\\optref{diff}{g}{git}"
   1.152  msgstr ""
   1.153  
   1.154  #. type: Content of: <book><appendix><sect2><para>
   1.155 -#: ../en/appA-cmdref.xml:70
   1.156 +#: ../en/appA-cmdref.xml:71
   1.157  msgid ""
   1.158  "Print <command>git</command>-compatible diffs.  XXX reference a format "
   1.159  "description."
   1.160  msgstr ""
   1.161  
   1.162  #. type: Content of: <book><appendix><sect2><para>
   1.163 -#: ../en/appA-cmdref.xml:74
   1.164 +#: ../en/appA-cmdref.xml:75
   1.165  msgid "\\optref{diff}{p}{show-function}"
   1.166  msgstr ""
   1.167  
   1.168  #. type: Content of: <book><appendix><sect2><para>
   1.169 -#: ../en/appA-cmdref.xml:77
   1.170 +#: ../en/appA-cmdref.xml:78
   1.171  msgid ""
   1.172  "Display the name of the enclosing function in a hunk header, using a simple "
   1.173  "heuristic.  This functionality is enabled by default, so the <option role="
   1.174 @@ -226,12 +226,12 @@
   1.175  msgstr ""
   1.176  
   1.177  #. type: Content of: <book><appendix><sect2><para>
   1.178 -#: ../en/appA-cmdref.xml:84
   1.179 +#: ../en/appA-cmdref.xml:85
   1.180  msgid "\\optref{diff}{r}{rev}"
   1.181  msgstr ""
   1.182  
   1.183  #. type: Content of: <book><appendix><sect2><para>
   1.184 -#: ../en/appA-cmdref.xml:87
   1.185 +#: ../en/appA-cmdref.xml:88
   1.186  msgid ""
   1.187  "Specify one or more revisions to compare.  The <command role=\"hg-cmd\">hg "
   1.188  "diff</command> command accepts up to two <option role=\"hg-opt-diff\">-r</"
   1.189 @@ -239,26 +239,26 @@
   1.190  msgstr ""
   1.191  
   1.192  #. type: Content of: <book><appendix><sect2><orderedlist><listitem><para>
   1.193 -#: ../en/appA-cmdref.xml:93
   1.194 +#: ../en/appA-cmdref.xml:94
   1.195  msgid ""
   1.196  "Display the differences between the parent revision of the working directory "
   1.197  "and the working directory."
   1.198  msgstr ""
   1.199  
   1.200  #. type: Content of: <book><appendix><sect2><orderedlist><listitem><para>
   1.201 -#: ../en/appA-cmdref.xml:97
   1.202 +#: ../en/appA-cmdref.xml:98
   1.203  msgid ""
   1.204  "Display the differences between the specified changeset and the working "
   1.205  "directory."
   1.206  msgstr ""
   1.207  
   1.208  #. type: Content of: <book><appendix><sect2><orderedlist><listitem><para>
   1.209 -#: ../en/appA-cmdref.xml:101
   1.210 +#: ../en/appA-cmdref.xml:102
   1.211  msgid "Display the differences between the two specified changesets."
   1.212  msgstr ""
   1.213  
   1.214  #. type: Content of: <book><appendix><sect2><para>
   1.215 -#: ../en/appA-cmdref.xml:105
   1.216 +#: ../en/appA-cmdref.xml:106
   1.217  msgid ""
   1.218  "You can specify two revisions using either two <option role=\"hg-opt-diff\">-"
   1.219  "r</option> options or revision range notation.  For example, the two revision "
   1.220 @@ -266,7 +266,7 @@
   1.221  msgstr ""
   1.222  
   1.223  #. type: Content of: <book><appendix><sect2><para>
   1.224 -#: ../en/appA-cmdref.xml:112
   1.225 +#: ../en/appA-cmdref.xml:113
   1.226  msgid ""
   1.227  "When you provide two revisions, Mercurial treats the order of those revisions "
   1.228  "as significant.  Thus, <command role=\"hg-cmd\">hg diff -r10:20</command> "
   1.229 @@ -279,24 +279,24 @@
   1.230  msgstr ""
   1.231  
   1.232  #. type: Content of: <book><appendix><sect2><para>
   1.233 -#: ../en/appA-cmdref.xml:122
   1.234 +#: ../en/appA-cmdref.xml:123
   1.235  msgid "\\optref{diff}{w}{ignore-all-space}"
   1.236  msgstr ""
   1.237  
   1.238  #. type: Content of: <book><appendix><sect2><para>
   1.239 -#: ../en/appA-cmdref.xml:125
   1.240 +#: ../en/appA-cmdref.xml:126
   1.241  msgid "\\cmdref{version}{print version and copyright information}"
   1.242  msgstr ""
   1.243  
   1.244  #. type: Content of: <book><appendix><sect2><para>
   1.245 -#: ../en/appA-cmdref.xml:128
   1.246 +#: ../en/appA-cmdref.xml:129
   1.247  msgid ""
   1.248  "This command displays the version of Mercurial you are running, and its "
   1.249  "copyright license.  There are four kinds of version string that you may see."
   1.250  msgstr ""
   1.251  
   1.252  #. type: Content of: <book><appendix><sect2><itemizedlist><listitem><para>
   1.253 -#: ../en/appA-cmdref.xml:133
   1.254 +#: ../en/appA-cmdref.xml:134
   1.255  msgid ""
   1.256  "The string <quote><literal>unknown</literal></quote>. This version of "
   1.257  "Mercurial was not built in a Mercurial repository, and cannot determine its "
   1.258 @@ -304,7 +304,7 @@
   1.259  msgstr ""
   1.260  
   1.261  #. type: Content of: <book><appendix><sect2><itemizedlist><listitem><para>
   1.262 -#: ../en/appA-cmdref.xml:138
   1.263 +#: ../en/appA-cmdref.xml:139
   1.264  msgid ""
   1.265  "A short numeric string, such as <quote><literal>1.1</literal></quote>. This "
   1.266  "is a build of a revision of Mercurial that was identified by a specific tag "
   1.267 @@ -314,14 +314,14 @@
   1.268  msgstr ""
   1.269  
   1.270  #. type: Content of: <book><appendix><sect2><itemizedlist><listitem><para>
   1.271 -#: ../en/appA-cmdref.xml:146
   1.272 +#: ../en/appA-cmdref.xml:147
   1.273  msgid ""
   1.274  "A hexadecimal string, such as <quote><literal>875489e31abe</literal></"
   1.275  "quote>.  This is a build of the given revision of Mercurial."
   1.276  msgstr ""
   1.277  
   1.278  #. type: Content of: <book><appendix><sect2><itemizedlist><listitem><para>
   1.279 -#: ../en/appA-cmdref.xml:150
   1.280 +#: ../en/appA-cmdref.xml:151
   1.281  msgid ""
   1.282  "A hexadecimal string followed by a date, such as <quote><literal>875489e31abe"
   1.283  "+20070205</literal></quote>.  This is a build of the given revision of "
   1.284 @@ -330,12 +330,12 @@
   1.285  msgstr ""
   1.286  
   1.287  #. type: Content of: <book><appendix><sect2><title>
   1.288 -#: ../en/appA-cmdref.xml:159
   1.289 +#: ../en/appA-cmdref.xml:160
   1.290  msgid "Tips and tricks"
   1.291  msgstr ""
   1.292  
   1.293  #. type: Content of: <book><appendix><sect2><sect3><title>
   1.294 -#: ../en/appA-cmdref.xml:162
   1.295 +#: ../en/appA-cmdref.xml:163
   1.296  msgid ""
   1.297  "Why do the results of <command role=\"hg-cmd\">hg diff</command> and <command "
   1.298  "role=\"hg-cmd\">hg status</command> differ?"
   1.299 @@ -344,7 +344,7 @@
   1.300  "\">hg status</command> 的结果不同 ?"
   1.301  
   1.302  #. type: Content of: <book><appendix><sect2><sect3><para>
   1.303 -#: ../en/appA-cmdref.xml:164
   1.304 +#: ../en/appA-cmdref.xml:165
   1.305  msgid ""
   1.306  "When you run the <command role=\"hg-cmd\">hg status</command> command, you'll "
   1.307  "see a list of files that Mercurial will record changes for the next time you "
   1.308 @@ -355,7 +355,7 @@
   1.309  msgstr ""
   1.310  
   1.311  #. type: Content of: <book><appendix><sect2><sect3><para>
   1.312 -#: ../en/appA-cmdref.xml:171
   1.313 +#: ../en/appA-cmdref.xml:172
   1.314  msgid ""
   1.315  "The first is that <command role=\"hg-cmd\">hg status</command> prints some "
   1.316  "kinds of modifications that <command role=\"hg-cmd\">hg diff</command> "
   1.317 @@ -367,7 +367,7 @@
   1.318  msgstr ""
   1.319  
   1.320  #. type: Content of: <book><appendix><sect2><sect3><para>
   1.321 -#: ../en/appA-cmdref.xml:179
   1.322 +#: ../en/appA-cmdref.xml:180
   1.323  msgid ""
   1.324  "If you use the <option role=\"hg-opt-diff\">--git</option> option to <command "
   1.325  "role=\"hg-cmd\">hg diff</command>, it will display <command>git</command>-"
   1.326 @@ -375,7 +375,7 @@
   1.327  msgstr ""
   1.328  
   1.329  #. type: Content of: <book><appendix><sect2><sect3><para>
   1.330 -#: ../en/appA-cmdref.xml:184
   1.331 +#: ../en/appA-cmdref.xml:185
   1.332  msgid ""
   1.333  "The second possible reason that <command role=\"hg-cmd\">hg diff</command> "
   1.334  "might be printing diffs for a subset of the files displayed by <command role="
   1.335 @@ -394,12 +394,12 @@
   1.336  msgstr ""
   1.337  
   1.338  #. type: Content of: <book><appendix><sect2><sect3><title>
   1.339 -#: ../en/appA-cmdref.xml:200
   1.340 +#: ../en/appA-cmdref.xml:201
   1.341  msgid "Generating safe binary diffs"
   1.342  msgstr "生成安全的二进制差异"
   1.343  
   1.344  #. type: Content of: <book><appendix><sect2><sect3><para>
   1.345 -#: ../en/appA-cmdref.xml:202
   1.346 +#: ../en/appA-cmdref.xml:203
   1.347  msgid ""
   1.348  "If you use the <option role=\"hg-opt-diff\">-a</option> option to force "
   1.349  "Mercurial to print diffs of files that are either <quote>mostly text</quote> "
   1.350 @@ -409,7 +409,7 @@
   1.351  msgstr ""
   1.352  
   1.353  #. type: Content of: <book><appendix><sect2><sect3><para>
   1.354 -#: ../en/appA-cmdref.xml:209
   1.355 +#: ../en/appA-cmdref.xml:210
   1.356  msgid ""
   1.357  "If you want to generate a diff of a binary file that is safe to use as input "
   1.358  "for <command role=\"hg-cmd\">hg import</command>, use the <command role=\"hg-"
   1.359 @@ -1318,8 +1318,8 @@
   1.360  #: ../en/appD-license.xml:33
   1.361  msgid ""
   1.362  "The reference must be immediately followed with any options elected by the "
   1.363 -"author(s) and/or publisher of the document (see section <xref linkend=\"sec."
   1.364 -"opl.options\"/>)."
   1.365 +"author(s) and/or publisher of the document (see <xref linkend=\"sec:opl:"
   1.366 +"options\"/>)."
   1.367  msgstr ""
   1.368  
   1.369  #. type: Content of: <book><appendix><sect1><para>
   1.370 @@ -1607,7 +1607,7 @@
   1.371  "turns out to be in error, you can revert to an earlier version of one or more "
   1.372  "files.  In fact, a <emphasis>really</emphasis> good revision control tool "
   1.373  "will even help you to efficiently figure out exactly when a problem was "
   1.374 -"introduced (see section <xref linkend=\"sec.undo.bisect\"/> for details)."
   1.375 +"introduced (see <xref linkend=\"sec:undo:bisect\"/> for details)."
   1.376  msgstr ""
   1.377  
   1.378  #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
   1.379 @@ -1773,8 +1773,8 @@
   1.380  msgid ""
   1.381  "As an instance of this, several consecutive commits in an example can show up "
   1.382  "as having occurred during the same second.  You can see this occur in the "
   1.383 -"<literal role=\"hg-ext\">bisect</literal> example in section <xref linkend="
   1.384 -"\"sec.undo.bisect\"/>, for instance."
   1.385 +"<literal role=\"hg-ext\">bisect</literal> example in <xref linkend=\"sec:undo:"
   1.386 +"bisect\"/>, for instance."
   1.387  msgstr ""
   1.388  
   1.389  #. type: Content of: <book><preface><sect1><para>
   1.390 @@ -2907,48 +2907,53 @@
   1.391  #. type: Content of: <book><chapter><sect1><para>
   1.392  #: ../en/ch01-tour-basic.xml:249
   1.393  msgid ""
   1.394 -"Figure <xref endterm=\"fig.tour-basic.history.caption\" linkend=\"fig.tour-"
   1.395 -"basic.history\"/> provides a graphical representation of the history of the "
   1.396 -"<filename class=\"directory\">hello</filename> repository, to make it a "
   1.397 -"little easier to see which direction history is <quote>flowing</quote> in.  "
   1.398 -"We'll be returning to this figure several times in this chapter and the "
   1.399 -"chapter that follows."
   1.400 -msgstr ""
   1.401 -
   1.402 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
   1.403 -#: ../en/ch01-tour-basic.xml:260
   1.404 -msgid ""
   1.405 -"<imageobject><imagedata fileref=\"images/tour-history.png\"/></imageobject>"
   1.406 -msgstr ""
   1.407 -
   1.408 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><textobject><phrase>
   1.409 -#: ../en/ch01-tour-basic.xml:261 ../en/ch02-tour-merge.xml:48
   1.410 -#: ../en/ch02-tour-merge.xml:78 ../en/ch02-tour-merge.xml:126
   1.411 -#: ../en/ch02-tour-merge.xml:182 ../en/ch02-tour-merge.xml:254
   1.412 -#: ../en/ch03-concepts.xml:56 ../en/ch03-concepts.xml:108
   1.413 -#: ../en/ch03-concepts.xml:194 ../en/ch03-concepts.xml:301
   1.414 -#: ../en/ch03-concepts.xml:353 ../en/ch03-concepts.xml:370
   1.415 -#: ../en/ch03-concepts.xml:414 ../en/ch03-concepts.xml:436
   1.416 -#: ../en/ch03-concepts.xml:480 ../en/ch05-collab.xml:277
   1.417 -#: ../en/ch08-undo.xml:366 ../en/ch08-undo.xml:417 ../en/ch08-undo.xml:485
   1.418 -#: ../en/ch08-undo.xml:527 ../en/ch11-mq.xml:410
   1.419 -msgid "XXX add text"
   1.420 -msgstr ""
   1.421 -
   1.422 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
   1.423 -#: ../en/ch01-tour-basic.xml:262
   1.424 +"<xref linkend=\"fig:tour-basic:history\"/> provides a graphical "
   1.425 +"representation of the history of the <filename class=\"directory\">hello</"
   1.426 +"filename> repository, to make it a little easier to see which direction "
   1.427 +"history is <quote>flowing</quote> in.  We'll be returning to this figure "
   1.428 +"several times in this chapter and the chapter that follows."
   1.429 +msgstr ""
   1.430 +
   1.431 +#. type: Content of: <book><chapter><sect1><figure><title>
   1.432 +#: ../en/ch01-tour-basic.xml:258
   1.433  msgid ""
   1.434  "Graphical history of the <filename class=\"directory\">hello</filename> "
   1.435  "repository"
   1.436  msgstr ""
   1.437  
   1.438 +#. type: Content of: <book><chapter><sect1><figure>
   1.439 +#: ../en/ch01-tour-basic.xml:260 ../en/ch02-tour-merge.xml:50
   1.440 +#: ../en/ch02-tour-merge.xml:181 ../en/ch03-concepts.xml:293
   1.441 +msgid "<placeholder type=\"mediaobject\" id=\"0\"/>"
   1.442 +msgstr ""
   1.443 +
   1.444 +#. type: Content of: <book><chapter><sect1><figure><mediaobject>
   1.445 +#: ../en/ch01-tour-basic.xml:261
   1.446 +msgid ""
   1.447 +"<imageobject><imagedata fileref=\"figs/tour-history.png\"/></imageobject>"
   1.448 +msgstr ""
   1.449 +
   1.450 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject><textobject><phrase>
   1.451 +#: ../en/ch01-tour-basic.xml:262 ../en/ch02-tour-merge.xml:52
   1.452 +#: ../en/ch02-tour-merge.xml:82 ../en/ch02-tour-merge.xml:129
   1.453 +#: ../en/ch02-tour-merge.xml:183 ../en/ch02-tour-merge.xml:254
   1.454 +#: ../en/ch03-concepts.xml:57 ../en/ch03-concepts.xml:106
   1.455 +#: ../en/ch03-concepts.xml:191 ../en/ch03-concepts.xml:295
   1.456 +#: ../en/ch03-concepts.xml:346 ../en/ch03-concepts.xml:361
   1.457 +#: ../en/ch03-concepts.xml:402 ../en/ch03-concepts.xml:422
   1.458 +#: ../en/ch03-concepts.xml:465 ../en/ch05-collab.xml:276
   1.459 +#: ../en/ch08-undo.xml:365 ../en/ch08-undo.xml:412 ../en/ch08-undo.xml:477
   1.460 +#: ../en/ch08-undo.xml:515 ../en/ch11-mq.xml:412
   1.461 +msgid "XXX add text"
   1.462 +msgstr ""
   1.463 +
   1.464  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.465 -#: ../en/ch01-tour-basic.xml:269
   1.466 +#: ../en/ch01-tour-basic.xml:267
   1.467  msgid "Changesets, revisions, and talking to other people"
   1.468  msgstr "改变集,版本,与其它用户交互"
   1.469  
   1.470  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.471 -#: ../en/ch01-tour-basic.xml:272
   1.472 +#: ../en/ch01-tour-basic.xml:270
   1.473  msgid ""
   1.474  "As English is a notoriously sloppy language, and computer science has a "
   1.475  "hallowed history of terminological confusion (why use one term when four will "
   1.476 @@ -2960,7 +2965,7 @@
   1.477  msgstr ""
   1.478  
   1.479  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.480 -#: ../en/ch01-tour-basic.xml:282
   1.481 +#: ../en/ch01-tour-basic.xml:280
   1.482  msgid ""
   1.483  "While it doesn't matter what <emphasis>word</emphasis> you use to refer to "
   1.484  "the concept of <quote>a changeset</quote>, the <emphasis>identifier</"
   1.485 @@ -2971,21 +2976,21 @@
   1.486  msgstr ""
   1.487  
   1.488  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.489 +#: ../en/ch01-tour-basic.xml:289
   1.490 +msgid ""
   1.491 +"The revision number is <emphasis>only valid in that repository</emphasis>,"
   1.492 +msgstr ""
   1.493 +
   1.494 +#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.495  #: ../en/ch01-tour-basic.xml:291
   1.496  msgid ""
   1.497 -"The revision number is <emphasis>only valid in that repository</emphasis>,"
   1.498 -msgstr ""
   1.499 -
   1.500 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.501 -#: ../en/ch01-tour-basic.xml:293
   1.502 -msgid ""
   1.503  "while the hex string is the <emphasis>permanent, unchanging identifier</"
   1.504  "emphasis> that will always identify that exact changeset in <emphasis>every</"
   1.505  "emphasis> copy of the repository."
   1.506  msgstr ""
   1.507  
   1.508  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.509 -#: ../en/ch01-tour-basic.xml:298
   1.510 +#: ../en/ch01-tour-basic.xml:296
   1.511  msgid ""
   1.512  "This distinction is important.  If you send someone an email talking about "
   1.513  "<quote>revision 33</quote>, there's a high likelihood that their revision 33 "
   1.514 @@ -2997,7 +3002,7 @@
   1.515  msgstr ""
   1.516  
   1.517  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.518 -#: ../en/ch01-tour-basic.xml:308
   1.519 +#: ../en/ch01-tour-basic.xml:306
   1.520  msgid ""
   1.521  "Mercurial uses revision numbers purely as a convenient shorthand.  If you "
   1.522  "need to discuss a changeset with someone, or make a record of a changeset for "
   1.523 @@ -3006,12 +3011,12 @@
   1.524  msgstr ""
   1.525  
   1.526  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.527 -#: ../en/ch01-tour-basic.xml:316
   1.528 +#: ../en/ch01-tour-basic.xml:314
   1.529  msgid "Viewing specific revisions"
   1.530  msgstr "察看指定版本"
   1.531  
   1.532  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.533 -#: ../en/ch01-tour-basic.xml:318
   1.534 +#: ../en/ch01-tour-basic.xml:316
   1.535  msgid ""
   1.536  "To narrow the output of <command role=\"hg-cmd\">hg log</command> down to a "
   1.537  "single revision, use the <option role=\"hg-opt-log\">-r</option> (or <option "
   1.538 @@ -3021,7 +3026,7 @@
   1.539  msgstr ""
   1.540  
   1.541  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.542 -#: ../en/ch01-tour-basic.xml:327
   1.543 +#: ../en/ch01-tour-basic.xml:325
   1.544  msgid ""
   1.545  "If you want to see the history of several revisions without having to list "
   1.546  "each one, you can use <emphasis>range notation</emphasis>; this lets you "
   1.547 @@ -3030,7 +3035,7 @@
   1.548  msgstr ""
   1.549  
   1.550  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.551 -#: ../en/ch01-tour-basic.xml:335
   1.552 +#: ../en/ch01-tour-basic.xml:333
   1.553  msgid ""
   1.554  "Mercurial also honours the order in which you specify revisions, so <command "
   1.555  "role=\"hg-cmd\">hg log -r 2:4</command> prints 2, 3, and 4. while <command "
   1.556 @@ -3038,12 +3043,12 @@
   1.557  msgstr ""
   1.558  
   1.559  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.560 -#: ../en/ch01-tour-basic.xml:342
   1.561 +#: ../en/ch01-tour-basic.xml:340
   1.562  msgid "More detailed information"
   1.563  msgstr "更详细的信息"
   1.564  
   1.565  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.566 -#: ../en/ch01-tour-basic.xml:344
   1.567 +#: ../en/ch01-tour-basic.xml:342
   1.568  msgid ""
   1.569  "While the summary information printed by <command role=\"hg-cmd\">hg log</"
   1.570  "command> is useful if you already know what you're looking for, you may need "
   1.571 @@ -3055,22 +3060,22 @@
   1.572  msgstr ""
   1.573  
   1.574  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.575 -#: ../en/ch01-tour-basic.xml:356
   1.576 +#: ../en/ch01-tour-basic.xml:354
   1.577  msgid ""
   1.578  "If you want to see both the description and content of a change, add the "
   1.579  "<option role=\"hg-opt-log\">-p</option> (or <option role=\"hg-opt-log\">--"
   1.580  "patch</option>) option.  This displays the content of a change as a "
   1.581  "<emphasis>unified diff</emphasis> (if you've never seen a unified diff "
   1.582 -"before, see section <xref linkend=\"sec.mq.patch\"/> for an overview)."
   1.583 +"before, see <xref linkend=\"sec:mq:patch\"/> for an overview)."
   1.584  msgstr ""
   1.585  
   1.586  #. type: Content of: <book><chapter><sect1><title>
   1.587 -#: ../en/ch01-tour-basic.xml:369
   1.588 +#: ../en/ch01-tour-basic.xml:367
   1.589  msgid "All about command options"
   1.590  msgstr "命令选项"
   1.591  
   1.592  #. type: Content of: <book><chapter><sect1><para>
   1.593 -#: ../en/ch01-tour-basic.xml:371
   1.594 +#: ../en/ch01-tour-basic.xml:369
   1.595  msgid ""
   1.596  "Let's take a brief break from exploring Mercurial commands to discuss a "
   1.597  "pattern in the way that they work; you may find this useful to keep in mind "
   1.598 @@ -3078,7 +3083,7 @@
   1.599  msgstr ""
   1.600  
   1.601  #. type: Content of: <book><chapter><sect1><para>
   1.602 -#: ../en/ch01-tour-basic.xml:375
   1.603 +#: ../en/ch01-tour-basic.xml:373
   1.604  msgid ""
   1.605  "Mercurial has a consistent and straightforward approach to dealing with the "
   1.606  "options that you can pass to commands.  It follows the conventions for "
   1.607 @@ -3086,7 +3091,7 @@
   1.608  msgstr ""
   1.609  
   1.610  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
   1.611 -#: ../en/ch01-tour-basic.xml:380
   1.612 +#: ../en/ch01-tour-basic.xml:378
   1.613  msgid ""
   1.614  "Every option has a long name.  For example, as we've already seen, the "
   1.615  "<command role=\"hg-cmd\">hg log</command> command accepts a <option role=\"hg-"
   1.616 @@ -3094,7 +3099,7 @@
   1.617  msgstr ""
   1.618  
   1.619  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
   1.620 -#: ../en/ch01-tour-basic.xml:384
   1.621 +#: ../en/ch01-tour-basic.xml:382
   1.622  msgid ""
   1.623  "Most options have short names, too.  Instead of <option role=\"hg-opt-log\">--"
   1.624  "rev</option>, we can use <option role=\"hg-opt-log\">-r</option>.  (The "
   1.625 @@ -3103,7 +3108,7 @@
   1.626  msgstr ""
   1.627  
   1.628  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
   1.629 -#: ../en/ch01-tour-basic.xml:389
   1.630 +#: ../en/ch01-tour-basic.xml:387
   1.631  msgid ""
   1.632  "Long options start with two dashes (e.g. <option role=\"hg-opt-log\">--rev</"
   1.633  "option>), while short options start with one (e.g. <option role=\"hg-opt-log"
   1.634 @@ -3111,7 +3116,7 @@
   1.635  msgstr ""
   1.636  
   1.637  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
   1.638 -#: ../en/ch01-tour-basic.xml:393
   1.639 +#: ../en/ch01-tour-basic.xml:391
   1.640  msgid ""
   1.641  "Option naming and usage is consistent across commands.  For example, every "
   1.642  "command that lets you specify a changeset ID or revision number accepts both "
   1.643 @@ -3120,7 +3125,7 @@
   1.644  msgstr ""
   1.645  
   1.646  #. type: Content of: <book><chapter><sect1><para>
   1.647 -#: ../en/ch01-tour-basic.xml:399
   1.648 +#: ../en/ch01-tour-basic.xml:397
   1.649  msgid ""
   1.650  "In the examples throughout this book, I use short options instead of long.  "
   1.651  "This just reflects my own preference, so don't read anything significant into "
   1.652 @@ -3128,7 +3133,7 @@
   1.653  msgstr ""
   1.654  
   1.655  #. type: Content of: <book><chapter><sect1><para>
   1.656 -#: ../en/ch01-tour-basic.xml:403
   1.657 +#: ../en/ch01-tour-basic.xml:401
   1.658  msgid ""
   1.659  "Most commands that print output of some kind will print more output when "
   1.660  "passed a <option role=\"hg-opt-global\">-v</option> (or <option role=\"hg-opt-"
   1.661 @@ -3137,19 +3142,19 @@
   1.662  msgstr ""
   1.663  
   1.664  #. type: Content of: <book><chapter><sect1><title>
   1.665 -#: ../en/ch01-tour-basic.xml:411
   1.666 +#: ../en/ch01-tour-basic.xml:409
   1.667  msgid "Making and reviewing changes"
   1.668  msgstr "创建和复审修改"
   1.669  
   1.670  #. type: Content of: <book><chapter><sect1><para>
   1.671 -#: ../en/ch01-tour-basic.xml:413
   1.672 +#: ../en/ch01-tour-basic.xml:411
   1.673  msgid ""
   1.674  "Now that we have a grasp of viewing history in Mercurial, let's take a look "
   1.675  "at making some changes and examining them."
   1.676  msgstr ""
   1.677  
   1.678  #. type: Content of: <book><chapter><sect1><para>
   1.679 -#: ../en/ch01-tour-basic.xml:417
   1.680 +#: ../en/ch01-tour-basic.xml:415
   1.681  msgid ""
   1.682  "The first thing we'll do is isolate our experiment in a repository of its "
   1.683  "own.  We use the <command role=\"hg-cmd\">hg clone</command> command, but we "
   1.684 @@ -3160,7 +3165,7 @@
   1.685  msgstr ""
   1.686  
   1.687  #. type: Content of: <book><chapter><sect1><para>
   1.688 -#: ../en/ch01-tour-basic.xml:427
   1.689 +#: ../en/ch01-tour-basic.xml:425
   1.690  msgid ""
   1.691  "As an aside, it's often good practice to keep a <quote>pristine</quote> copy "
   1.692  "of a remote repository around, which you can then make temporary clones of to "
   1.693 @@ -3172,7 +3177,7 @@
   1.694  msgstr ""
   1.695  
   1.696  #. type: Content of: <book><chapter><sect1><para>
   1.697 -#: ../en/ch01-tour-basic.xml:436
   1.698 +#: ../en/ch01-tour-basic.xml:434
   1.699  msgid ""
   1.700  "In our <filename class=\"directory\">my-hello</filename> repository, we have "
   1.701  "a file <filename>hello.c</filename> that contains the classic <quote>hello, "
   1.702 @@ -3185,14 +3190,14 @@
   1.703  msgstr ""
   1.704  
   1.705  #. type: Content of: <book><chapter><sect1><para>
   1.706 -#: ../en/ch01-tour-basic.xml:449
   1.707 +#: ../en/ch01-tour-basic.xml:447
   1.708  msgid ""
   1.709  "Mercurial's <command role=\"hg-cmd\">hg status</command> command will tell us "
   1.710  "what Mercurial knows about the files in the repository."
   1.711  msgstr ""
   1.712  
   1.713  #. type: Content of: <book><chapter><sect1><para>
   1.714 -#: ../en/ch01-tour-basic.xml:455
   1.715 +#: ../en/ch01-tour-basic.xml:453
   1.716  msgid ""
   1.717  "The <command role=\"hg-cmd\">hg status</command> command prints no output for "
   1.718  "some files, but a line starting with <quote><literal>M</literal></quote> for "
   1.719 @@ -3202,7 +3207,7 @@
   1.720  msgstr ""
   1.721  
   1.722  #. type: Content of: <book><chapter><sect1><para>
   1.723 -#: ../en/ch01-tour-basic.xml:462
   1.724 +#: ../en/ch01-tour-basic.xml:460
   1.725  msgid ""
   1.726  "The <quote><literal>M</literal></quote> indicates that Mercurial has noticed "
   1.727  "that we modified <filename>hello.c</filename>.  We didn't need to "
   1.728 @@ -3212,7 +3217,7 @@
   1.729  msgstr ""
   1.730  
   1.731  #. type: Content of: <book><chapter><sect1><para>
   1.732 -#: ../en/ch01-tour-basic.xml:470
   1.733 +#: ../en/ch01-tour-basic.xml:468
   1.734  msgid ""
   1.735  "It's a little bit helpful to know that we've modified <filename>hello.c</"
   1.736  "filename>, but we might prefer to know exactly <emphasis>what</emphasis> "
   1.737 @@ -3221,12 +3226,12 @@
   1.738  msgstr ""
   1.739  
   1.740  #. type: Content of: <book><chapter><sect1><title>
   1.741 -#: ../en/ch01-tour-basic.xml:480
   1.742 +#: ../en/ch01-tour-basic.xml:478
   1.743  msgid "Recording changes in a new changeset"
   1.744  msgstr "在新修改集中记录修改"
   1.745  
   1.746  #. type: Content of: <book><chapter><sect1><para>
   1.747 -#: ../en/ch01-tour-basic.xml:482
   1.748 +#: ../en/ch01-tour-basic.xml:480
   1.749  msgid ""
   1.750  "We can modify files, build and test our changes, and use <command role=\"hg-"
   1.751  "cmd\">hg status</command> and <command role=\"hg-cmd\">hg diff</command> to "
   1.752 @@ -3235,7 +3240,7 @@
   1.753  msgstr ""
   1.754  
   1.755  #. type: Content of: <book><chapter><sect1><para>
   1.756 -#: ../en/ch01-tour-basic.xml:489
   1.757 +#: ../en/ch01-tour-basic.xml:487
   1.758  msgid ""
   1.759  "The <command role=\"hg-cmd\">hg commit</command> command lets us create a new "
   1.760  "changeset; we'll usually refer to this as <quote>making a commit</quote> or "
   1.761 @@ -3243,12 +3248,12 @@
   1.762  msgstr ""
   1.763  
   1.764  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.765 -#: ../en/ch01-tour-basic.xml:495
   1.766 +#: ../en/ch01-tour-basic.xml:493
   1.767  msgid "Setting up a username"
   1.768  msgstr "配置用户名称"
   1.769  
   1.770  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.771 -#: ../en/ch01-tour-basic.xml:497
   1.772 +#: ../en/ch01-tour-basic.xml:495
   1.773  msgid ""
   1.774  "When you try to run <command role=\"hg-cmd\">hg commit</command> for the "
   1.775  "first time, it is not guaranteed to succeed.  Mercurial records your name and "
   1.776 @@ -3259,7 +3264,7 @@
   1.777  msgstr ""
   1.778  
   1.779  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.780 -#: ../en/ch01-tour-basic.xml:506
   1.781 +#: ../en/ch01-tour-basic.xml:504
   1.782  msgid ""
   1.783  "If you specify a <option role=\"hg-opt-commit\">-u</option> option to the "
   1.784  "<command role=\"hg-cmd\">hg commit</command> command on the command line, "
   1.785 @@ -3267,30 +3272,30 @@
   1.786  msgstr ""
   1.787  
   1.788  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.789 -#: ../en/ch01-tour-basic.xml:511
   1.790 +#: ../en/ch01-tour-basic.xml:509
   1.791  msgid ""
   1.792  "If you have set the <envar>HGUSER</envar> environment variable, this is "
   1.793  "checked next."
   1.794  msgstr ""
   1.795  
   1.796  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.797 -#: ../en/ch01-tour-basic.xml:514
   1.798 +#: ../en/ch01-tour-basic.xml:512
   1.799  msgid ""
   1.800  "If you create a file in your home directory called <filename role=\"special"
   1.801  "\">.hgrc</filename>, with a <envar role=\"rc-item-ui\">username</envar> "
   1.802  "entry, that will be used next.  To see what the contents of this file should "
   1.803 -"look like, refer to section <xref linkend=\"sec.tour-basic.username\"/> below."
   1.804 +"look like, refer to <xref linkend=\"sec:tour-basic:username\"/> below."
   1.805  msgstr ""
   1.806  
   1.807  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.808 -#: ../en/ch01-tour-basic.xml:521
   1.809 +#: ../en/ch01-tour-basic.xml:520
   1.810  msgid ""
   1.811  "If you have set the <envar>EMAIL</envar> environment variable, this will be "
   1.812  "used next."
   1.813  msgstr ""
   1.814  
   1.815  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.816 -#: ../en/ch01-tour-basic.xml:524
   1.817 +#: ../en/ch01-tour-basic.xml:523
   1.818  msgid ""
   1.819  "Mercurial will query your system to find out your local user name and host "
   1.820  "name, and construct a username from these components. Since this often "
   1.821 @@ -3299,7 +3304,7 @@
   1.822  msgstr ""
   1.823  
   1.824  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.825 -#: ../en/ch01-tour-basic.xml:531
   1.826 +#: ../en/ch01-tour-basic.xml:530
   1.827  msgid ""
   1.828  "If all of these mechanisms fail, Mercurial will fail, printing an error "
   1.829  "message.  In this case, it will not let you commit until you set up a "
   1.830 @@ -3307,7 +3312,7 @@
   1.831  msgstr ""
   1.832  
   1.833  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.834 -#: ../en/ch01-tour-basic.xml:535
   1.835 +#: ../en/ch01-tour-basic.xml:534
   1.836  msgid ""
   1.837  "You should think of the <envar>HGUSER</envar> environment variable and the "
   1.838  "<option role=\"hg-opt-commit\">-u</option> option to the <command role=\"hg-"
   1.839 @@ -3318,12 +3323,12 @@
   1.840  msgstr ""
   1.841  
   1.842  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
   1.843 -#: ../en/ch01-tour-basic.xml:544
   1.844 +#: ../en/ch01-tour-basic.xml:543
   1.845  msgid "Creating a Mercurial configuration file"
   1.846  msgstr "创建 Mercurial 的配置文件"
   1.847  
   1.848  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
   1.849 -#: ../en/ch01-tour-basic.xml:546
   1.850 +#: ../en/ch01-tour-basic.xml:545
   1.851  msgid ""
   1.852  "To set a user name, use your favourite editor to create a file called "
   1.853  "<filename role=\"special\">.hgrc</filename> in your home directory.  "
   1.854 @@ -3333,7 +3338,7 @@
   1.855  msgstr ""
   1.856  
   1.857  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
   1.858 -#: ../en/ch01-tour-basic.xml:558
   1.859 +#: ../en/ch01-tour-basic.xml:557
   1.860  msgid ""
   1.861  "The <quote><literal>[ui]</literal></quote> line begins a <emphasis>section</"
   1.862  "emphasis> of the config file, so you can read the <quote><literal>username "
   1.863 @@ -3345,12 +3350,12 @@
   1.864  msgstr ""
   1.865  
   1.866  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
   1.867 -#: ../en/ch01-tour-basic.xml:571
   1.868 +#: ../en/ch01-tour-basic.xml:570
   1.869  msgid "Choosing a user name"
   1.870  msgstr "选择用户名称"
   1.871  
   1.872  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
   1.873 -#: ../en/ch01-tour-basic.xml:573
   1.874 +#: ../en/ch01-tour-basic.xml:572
   1.875  msgid ""
   1.876  "You can use any text you like as the value of the <literal>username</literal> "
   1.877  "config item, since this information is for reading by other people, but for "
   1.878 @@ -3359,7 +3364,7 @@
   1.879  msgstr ""
   1.880  
   1.881  #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para>
   1.882 -#: ../en/ch01-tour-basic.xml:580
   1.883 +#: ../en/ch01-tour-basic.xml:579
   1.884  msgid ""
   1.885  "Mercurial's built-in web server obfuscates email addresses, to make it more "
   1.886  "difficult for the email harvesting tools that spammers use. This reduces the "
   1.887 @@ -3368,12 +3373,12 @@
   1.888  msgstr ""
   1.889  
   1.890  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.891 -#: ../en/ch01-tour-basic.xml:590
   1.892 +#: ../en/ch01-tour-basic.xml:589
   1.893  msgid "Writing a commit message"
   1.894  msgstr "写提交日志"
   1.895  
   1.896  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.897 -#: ../en/ch01-tour-basic.xml:592
   1.898 +#: ../en/ch01-tour-basic.xml:591
   1.899  msgid ""
   1.900  "When we commit a change, Mercurial drops us into a text editor, to enter a "
   1.901  "message that will describe the modifications we've made in this changeset.  "
   1.902 @@ -3383,7 +3388,7 @@
   1.903  msgstr ""
   1.904  
   1.905  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.906 -#: ../en/ch01-tour-basic.xml:602
   1.907 +#: ../en/ch01-tour-basic.xml:601
   1.908  msgid ""
   1.909  "The editor that the <command role=\"hg-cmd\">hg commit</command> command "
   1.910  "drops us into will contain an empty line, followed by a number of lines "
   1.911 @@ -3391,7 +3396,7 @@
   1.912  msgstr ""
   1.913  
   1.914  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.915 -#: ../en/ch01-tour-basic.xml:609
   1.916 +#: ../en/ch01-tour-basic.xml:608
   1.917  msgid ""
   1.918  "Mercurial ignores the lines that start with <quote><literal>HG:</literal></"
   1.919  "quote>; it uses them only to tell us which files it's recording changes to.  "
   1.920 @@ -3399,12 +3404,12 @@
   1.921  msgstr ""
   1.922  
   1.923  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.924 -#: ../en/ch01-tour-basic.xml:615
   1.925 +#: ../en/ch01-tour-basic.xml:614
   1.926  msgid "Writing a good commit message"
   1.927  msgstr "写好提交日志"
   1.928  
   1.929  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.930 -#: ../en/ch01-tour-basic.xml:617
   1.931 +#: ../en/ch01-tour-basic.xml:616
   1.932  msgid ""
   1.933  "Since <command role=\"hg-cmd\">hg log</command> only prints the first line of "
   1.934  "a commit message by default, it's best to write a commit message whose first "
   1.935 @@ -3414,7 +3419,7 @@
   1.936  msgstr ""
   1.937  
   1.938  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.939 -#: ../en/ch01-tour-basic.xml:631
   1.940 +#: ../en/ch01-tour-basic.xml:630
   1.941  msgid ""
   1.942  "As far as the remainder of the contents of the commit message are concerned, "
   1.943  "there are no hard-and-fast rules.  Mercurial itself doesn't interpret or care "
   1.944 @@ -3423,7 +3428,7 @@
   1.945  msgstr ""
   1.946  
   1.947  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.948 -#: ../en/ch01-tour-basic.xml:637
   1.949 +#: ../en/ch01-tour-basic.xml:636
   1.950  msgid ""
   1.951  "My personal preference is for short, but informative, commit messages that "
   1.952  "tell me something that I can't figure out with a quick glance at the output "
   1.953 @@ -3431,12 +3436,12 @@
   1.954  msgstr ""
   1.955  
   1.956  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.957 -#: ../en/ch01-tour-basic.xml:644
   1.958 +#: ../en/ch01-tour-basic.xml:643
   1.959  msgid "Aborting a commit"
   1.960  msgstr "终止提交"
   1.961  
   1.962  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.963 -#: ../en/ch01-tour-basic.xml:646
   1.964 +#: ../en/ch01-tour-basic.xml:645
   1.965  msgid ""
   1.966  "If you decide that you don't want to commit while in the middle of editing a "
   1.967  "commit message, simply exit from your editor without saving the file that "
   1.968 @@ -3445,7 +3450,7 @@
   1.969  msgstr ""
   1.970  
   1.971  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.972 -#: ../en/ch01-tour-basic.xml:651
   1.973 +#: ../en/ch01-tour-basic.xml:650
   1.974  msgid ""
   1.975  "If we run the <command role=\"hg-cmd\">hg commit</command> command without "
   1.976  "any arguments, it records all of the changes we've made, as reported by "
   1.977 @@ -3454,12 +3459,12 @@
   1.978  msgstr ""
   1.979  
   1.980  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.981 -#: ../en/ch01-tour-basic.xml:658
   1.982 +#: ../en/ch01-tour-basic.xml:657
   1.983  msgid "Admiring our new handiwork"
   1.984  msgstr "欣赏我们的新手艺"
   1.985  
   1.986  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.987 -#: ../en/ch01-tour-basic.xml:660
   1.988 +#: ../en/ch01-tour-basic.xml:659
   1.989  msgid ""
   1.990  "Once we've finished the commit, we can use the <command role=\"hg-cmd\">hg "
   1.991  "tip</command> command to display the changeset we just created.  This command "
   1.992 @@ -3468,19 +3473,19 @@
   1.993  msgstr ""
   1.994  
   1.995  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.996 -#: ../en/ch01-tour-basic.xml:669
   1.997 +#: ../en/ch01-tour-basic.xml:668
   1.998  msgid ""
   1.999  "We refer to the newest revision in the repository as the tip revision, or "
  1.1000  "simply the tip."
  1.1001  msgstr ""
  1.1002  
  1.1003  #. type: Content of: <book><chapter><sect1><title>
  1.1004 -#: ../en/ch01-tour-basic.xml:676
  1.1005 +#: ../en/ch01-tour-basic.xml:675
  1.1006  msgid "Sharing changes"
  1.1007  msgstr "共享修改"
  1.1008  
  1.1009  #. type: Content of: <book><chapter><sect1><para>
  1.1010 -#: ../en/ch01-tour-basic.xml:678
  1.1011 +#: ../en/ch01-tour-basic.xml:677
  1.1012  msgid ""
  1.1013  "We mentioned earlier that repositories in Mercurial are self-contained.  This "
  1.1014  "means that the changeset we just created exists only in our <filename class="
  1.1015 @@ -3489,12 +3494,12 @@
  1.1016  msgstr ""
  1.1017  
  1.1018  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1019 -#: ../en/ch01-tour-basic.xml:686
  1.1020 +#: ../en/ch01-tour-basic.xml:685
  1.1021  msgid "Pulling changes from another repository"
  1.1022  msgstr "从其它版本库取得修改"
  1.1023  
  1.1024  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1025 -#: ../en/ch01-tour-basic.xml:687
  1.1026 +#: ../en/ch01-tour-basic.xml:686
  1.1027  msgid ""
  1.1028  "To get started, let's clone our original <filename class=\"directory\">hello</"
  1.1029  "filename> repository, which does not contain the change we just committed.  "
  1.1030 @@ -3503,7 +3508,7 @@
  1.1031  msgstr ""
  1.1032  
  1.1033  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1034 -#: ../en/ch01-tour-basic.xml:695
  1.1035 +#: ../en/ch01-tour-basic.xml:694
  1.1036  msgid ""
  1.1037  "We'll use the <command role=\"hg-cmd\">hg pull</command> command to bring "
  1.1038  "changes from <filename class=\"directory\">my-hello</filename> into <filename "
  1.1039 @@ -3516,7 +3521,7 @@
  1.1040  msgstr ""
  1.1041  
  1.1042  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1043 -#: ../en/ch01-tour-basic.xml:708
  1.1044 +#: ../en/ch01-tour-basic.xml:707
  1.1045  msgid ""
  1.1046  "(Of course, someone could cause more changesets to appear in the repository "
  1.1047  "that we ran <command role=\"hg-cmd\">hg incoming</command> in, before we get "
  1.1048 @@ -3525,7 +3530,7 @@
  1.1049  msgstr ""
  1.1050  
  1.1051  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1052 -#: ../en/ch01-tour-basic.xml:715
  1.1053 +#: ../en/ch01-tour-basic.xml:714
  1.1054  msgid ""
  1.1055  "Bringing changes into a repository is a simple matter of running the <command "
  1.1056  "role=\"hg-cmd\">hg pull</command> command, and telling it which repository to "
  1.1057 @@ -3533,7 +3538,7 @@
  1.1058  msgstr ""
  1.1059  
  1.1060  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1061 -#: ../en/ch01-tour-basic.xml:722
  1.1062 +#: ../en/ch01-tour-basic.xml:721
  1.1063  msgid ""
  1.1064  "As you can see from the before-and-after output of <command role=\"hg-cmd"
  1.1065  "\">hg tip</command>, we have successfully pulled changes into our "
  1.1066 @@ -3542,24 +3547,24 @@
  1.1067  msgstr ""
  1.1068  
  1.1069  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1070 -#: ../en/ch01-tour-basic.xml:730
  1.1071 +#: ../en/ch01-tour-basic.xml:729
  1.1072  msgid "Updating the working directory"
  1.1073  msgstr "更新工作目录"
  1.1074  
  1.1075  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1076 -#: ../en/ch01-tour-basic.xml:732
  1.1077 +#: ../en/ch01-tour-basic.xml:731
  1.1078  msgid ""
  1.1079  "We have so far glossed over the relationship between a repository and its "
  1.1080  "working directory.  The <command role=\"hg-cmd\">hg pull</command> command "
  1.1081 -"that we ran in section <xref linkend=\"sec.tour.pull\"/> brought changes into "
  1.1082 -"the repository, but if we check, there's no sign of those changes in the "
  1.1083 -"working directory.  This is because <command role=\"hg-cmd\">hg pull</"
  1.1084 -"command> does not (by default) touch the working directory.  Instead, we use "
  1.1085 -"the <command role=\"hg-cmd\">hg update</command> command to do this."
  1.1086 -msgstr ""
  1.1087 -
  1.1088 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1089 -#: ../en/ch01-tour-basic.xml:744
  1.1090 +"that we ran in <xref linkend=\"sec:tour:pull\"/> brought changes into the "
  1.1091 +"repository, but if we check, there's no sign of those changes in the working "
  1.1092 +"directory.  This is because <command role=\"hg-cmd\">hg pull</command> does "
  1.1093 +"not (by default) touch the working directory.  Instead, we use the <command "
  1.1094 +"role=\"hg-cmd\">hg update</command> command to do this."
  1.1095 +msgstr ""
  1.1096 +
  1.1097 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1098 +#: ../en/ch01-tour-basic.xml:743
  1.1099  msgid ""
  1.1100  "It might seem a bit strange that <command role=\"hg-cmd\">hg pull</command> "
  1.1101  "doesn't update the working directory automatically.  There's actually a good "
  1.1102 @@ -3573,7 +3578,7 @@
  1.1103  msgstr ""
  1.1104  
  1.1105  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1106 -#: ../en/ch01-tour-basic.xml:755
  1.1107 +#: ../en/ch01-tour-basic.xml:754
  1.1108  msgid ""
  1.1109  "However, since pull-then-update is such a common thing to do, Mercurial lets "
  1.1110  "you combine the two by passing the <option role=\"hg-opt-pull\">-u</option> "
  1.1111 @@ -3581,35 +3586,34 @@
  1.1112  msgstr ""
  1.1113  
  1.1114  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1115 -#: ../en/ch01-tour-basic.xml:760
  1.1116 +#: ../en/ch01-tour-basic.xml:759
  1.1117  msgid ""
  1.1118  "If you look back at the output of <command role=\"hg-cmd\">hg pull</command> "
  1.1119 -"in section <xref linkend=\"sec.tour.pull\"/> when we ran it without <option "
  1.1120 -"role=\"hg-opt-pull\">-u</option>, you can see that it printed a helpful "
  1.1121 -"reminder that we'd have to take an explicit step to update the working "
  1.1122 -"directory:"
  1.1123 -msgstr ""
  1.1124 -
  1.1125 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1126 -#: ../en/ch01-tour-basic.xml:769
  1.1127 +"in <xref linkend=\"sec:tour:pull\"/> when we ran it without <option role=\"hg-"
  1.1128 +"opt-pull\">-u</option>, you can see that it printed a helpful reminder that "
  1.1129 +"we'd have to take an explicit step to update the working directory:"
  1.1130 +msgstr ""
  1.1131 +
  1.1132 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1133 +#: ../en/ch01-tour-basic.xml:768
  1.1134  msgid ""
  1.1135  "To find out what revision the working directory is at, use the <command role="
  1.1136  "\"hg-cmd\">hg parents</command> command."
  1.1137  msgstr ""
  1.1138  
  1.1139  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1140 -#: ../en/ch01-tour-basic.xml:775
  1.1141 -msgid ""
  1.1142 -"If you look back at figure <xref endterm=\"fig.tour-basic.history.caption\" "
  1.1143 -"linkend=\"fig.tour-basic.history\"/>, you'll see arrows connecting each "
  1.1144 -"changeset.  The node that the arrow leads <emphasis>from</emphasis> in each "
  1.1145 -"case is a parent, and the node that the arrow leads <emphasis>to</emphasis> "
  1.1146 -"is its child.  The working directory has a parent in just the same way; this "
  1.1147 -"is the changeset that the working directory currently contains."
  1.1148 -msgstr ""
  1.1149 -
  1.1150 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1151 -#: ../en/ch01-tour-basic.xml:785
  1.1152 +#: ../en/ch01-tour-basic.xml:774
  1.1153 +msgid ""
  1.1154 +"If you look back at <xref linkend=\"fig:tour-basic:history\"/>, you'll see "
  1.1155 +"arrows connecting each changeset.  The node that the arrow leads "
  1.1156 +"<emphasis>from</emphasis> in each case is a parent, and the node that the "
  1.1157 +"arrow leads <emphasis>to</emphasis> is its child.  The working directory has "
  1.1158 +"a parent in just the same way; this is the changeset that the working "
  1.1159 +"directory currently contains."
  1.1160 +msgstr ""
  1.1161 +
  1.1162 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1163 +#: ../en/ch01-tour-basic.xml:783
  1.1164  msgid ""
  1.1165  "To update the working directory to a particular revision, give a revision "
  1.1166  "number or changeset ID to the <command role=\"hg-cmd\">hg update</command> "
  1.1167 @@ -3617,7 +3621,7 @@
  1.1168  msgstr ""
  1.1169  
  1.1170  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1171 -#: ../en/ch01-tour-basic.xml:792
  1.1172 +#: ../en/ch01-tour-basic.xml:790
  1.1173  msgid ""
  1.1174  "If you omit an explicit revision, <command role=\"hg-cmd\">hg update</"
  1.1175  "command> will update to the tip revision, as shown by the second call to "
  1.1176 @@ -3625,12 +3629,12 @@
  1.1177  msgstr ""
  1.1178  
  1.1179  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1180 -#: ../en/ch01-tour-basic.xml:800
  1.1181 +#: ../en/ch01-tour-basic.xml:798
  1.1182  msgid "Pushing changes to another repository"
  1.1183  msgstr "发布修改到其它版本库"
  1.1184  
  1.1185  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1186 -#: ../en/ch01-tour-basic.xml:802
  1.1187 +#: ../en/ch01-tour-basic.xml:800
  1.1188  msgid ""
  1.1189  "Mercurial lets us push changes to another repository, from the repository "
  1.1190  "we're currently visiting.  As with the example of <command role=\"hg-cmd\">hg "
  1.1191 @@ -3639,21 +3643,21 @@
  1.1192  msgstr ""
  1.1193  
  1.1194  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1195 -#: ../en/ch01-tour-basic.xml:810
  1.1196 +#: ../en/ch01-tour-basic.xml:808
  1.1197  msgid ""
  1.1198  "The <command role=\"hg-cmd\">hg outgoing</command> command tells us what "
  1.1199  "changes would be pushed into another repository."
  1.1200  msgstr ""
  1.1201  
  1.1202  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1203 -#: ../en/ch01-tour-basic.xml:816
  1.1204 +#: ../en/ch01-tour-basic.xml:814
  1.1205  msgid ""
  1.1206  "And the <command role=\"hg-cmd\">hg push</command> command does the actual "
  1.1207  "push."
  1.1208  msgstr ""
  1.1209  
  1.1210  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1211 -#: ../en/ch01-tour-basic.xml:822
  1.1212 +#: ../en/ch01-tour-basic.xml:820
  1.1213  msgid ""
  1.1214  "As with <command role=\"hg-cmd\">hg pull</command>, the <command role=\"hg-cmd"
  1.1215  "\">hg push</command> command does not update the working directory in the "
  1.1216 @@ -3664,19 +3668,19 @@
  1.1217  msgstr ""
  1.1218  
  1.1219  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1220 -#: ../en/ch01-tour-basic.xml:831
  1.1221 +#: ../en/ch01-tour-basic.xml:829
  1.1222  msgid ""
  1.1223  "What happens if we try to pull or push changes and the receiving repository "
  1.1224  "already has those changes? Nothing too exciting."
  1.1225  msgstr ""
  1.1226  
  1.1227  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1228 -#: ../en/ch01-tour-basic.xml:838
  1.1229 +#: ../en/ch01-tour-basic.xml:836
  1.1230  msgid "Sharing changes over a network"
  1.1231  msgstr "通过网络共享修改"
  1.1232  
  1.1233  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1234 -#: ../en/ch01-tour-basic.xml:840
  1.1235 +#: ../en/ch01-tour-basic.xml:838
  1.1236  msgid ""
  1.1237  "The commands we have covered in the previous few sections are not limited to "
  1.1238  "working with local repositories.  Each works in exactly the same fashion over "
  1.1239 @@ -3684,7 +3688,7 @@
  1.1240  msgstr ""
  1.1241  
  1.1242  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1243 -#: ../en/ch01-tour-basic.xml:848
  1.1244 +#: ../en/ch01-tour-basic.xml:846
  1.1245  msgid ""
  1.1246  "In this example, we can see what changes we could push to the remote "
  1.1247  "repository, but the repository is understandably not set up to let anonymous "
  1.1248 @@ -3746,27 +3750,26 @@
  1.1249  msgid ""
  1.1250  "We should now have two copies of <filename>hello.c</filename> with different "
  1.1251  "contents.  The histories of the two repositories have also diverged, as "
  1.1252 -"illustrated in figure <xref endterm=\"fig.tour-merge.sep-repos.caption\" "
  1.1253 -"linkend=\"fig.tour-merge.sep-repos\"/>."
  1.1254 -msgstr ""
  1.1255 -
  1.1256 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
  1.1257 -#: ../en/ch02-tour-merge.xml:47
  1.1258 -msgid ""
  1.1259 -"<imageobject><imagedata fileref=\"images/tour-merge-sep-repos.png\"/></"
  1.1260 -"imageobject>"
  1.1261 -msgstr ""
  1.1262 -
  1.1263 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
  1.1264 -#: ../en/ch02-tour-merge.xml:49
  1.1265 +"illustrated in <xref linkend=\"fig:tour-merge:sep-repos\"/>."
  1.1266 +msgstr ""
  1.1267 +
  1.1268 +#. type: Content of: <book><chapter><sect1><figure><title>
  1.1269 +#: ../en/ch02-tour-merge.xml:46
  1.1270  msgid ""
  1.1271  "Divergent recent histories of the <filename class=\"directory\">my-hello</"
  1.1272  "filename> and <filename class=\"directory\">my-new-hello</filename> "
  1.1273  "repositories"
  1.1274  msgstr ""
  1.1275  
  1.1276 -#. type: Content of: <book><chapter><sect1><para>
  1.1277 -#: ../en/ch02-tour-merge.xml:57
  1.1278 +#. type: Content of: <book><chapter><sect1><figure><mediaobject>
  1.1279 +#: ../en/ch02-tour-merge.xml:51
  1.1280 +msgid ""
  1.1281 +"<imageobject><imagedata fileref=\"figs/tour-merge-sep-repos.png\"/></"
  1.1282 +"imageobject>"
  1.1283 +msgstr ""
  1.1284 +
  1.1285 +#. type: Content of: <book><chapter><sect1><para>
  1.1286 +#: ../en/ch02-tour-merge.xml:56
  1.1287  msgid ""
  1.1288  "We already know that pulling changes from our <filename class=\"directory"
  1.1289  "\">my-hello</filename> repository will have no effect on the working "
  1.1290 @@ -3774,19 +3777,19 @@
  1.1291  msgstr ""
  1.1292  
  1.1293  #. type: Content of: <book><chapter><sect1><para>
  1.1294 -#: ../en/ch02-tour-merge.xml:63
  1.1295 +#: ../en/ch02-tour-merge.xml:62
  1.1296  msgid ""
  1.1297  "However, the <command role=\"hg-cmd\">hg pull</command> command says "
  1.1298  "something about <quote>heads</quote>."
  1.1299  msgstr ""
  1.1300  
  1.1301  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1302 -#: ../en/ch02-tour-merge.xml:67
  1.1303 +#: ../en/ch02-tour-merge.xml:66
  1.1304  msgid "Head changesets"
  1.1305  msgstr "顶点改变集"
  1.1306  
  1.1307  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1308 -#: ../en/ch02-tour-merge.xml:69
  1.1309 +#: ../en/ch02-tour-merge.xml:68
  1.1310  msgid ""
  1.1311  "A head is a change that has no descendants, or children, as they're also "
  1.1312  "known.  The tip revision is thus a head, because the newest revision in a "
  1.1313 @@ -3794,50 +3797,61 @@
  1.1314  "one head."
  1.1315  msgstr ""
  1.1316  
  1.1317 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1318 -#: ../en/ch02-tour-merge.xml:77
  1.1319 -msgid ""
  1.1320 -"<imageobject><imagedata fileref=\"images/tour-merge-pull.png\"/></imageobject>"
  1.1321 -msgstr ""
  1.1322 -
  1.1323 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1324 -#: ../en/ch02-tour-merge.xml:79
  1.1325 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.1326 +#: ../en/ch02-tour-merge.xml:75
  1.1327  msgid ""
  1.1328  "Repository contents after pulling from <filename class=\"directory\">my-"
  1.1329  "hello</filename> into <filename class=\"directory\">my-new-hello</filename>"
  1.1330  msgstr ""
  1.1331  
  1.1332 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1333 -#: ../en/ch02-tour-merge.xml:85
  1.1334 -msgid ""
  1.1335 -"In figure <xref endterm=\"fig.tour-merge.pull.caption\" linkend=\"fig.tour-"
  1.1336 -"merge.pull\"/>, you can see the effect of the pull from <filename class="
  1.1337 -"\"directory\">my-hello</filename> into <filename class=\"directory\">my-new-"
  1.1338 -"hello</filename>.  The history that was already present in <filename class="
  1.1339 -"\"directory\">my-new-hello</filename> is untouched, but a new revision has "
  1.1340 -"been added.  By referring to figure <xref endterm=\"fig.tour-merge.sep-repos."
  1.1341 -"caption\" linkend=\"fig.tour-merge.sep-repos\"/>, we can see that the "
  1.1342 -"<emphasis>changeset ID</emphasis> remains the same in the new repository, but "
  1.1343 -"the <emphasis>revision number</emphasis> has changed.  (This, incidentally, "
  1.1344 -"is a fine example of why it's not safe to use revision numbers when "
  1.1345 -"discussing changesets.)  We can view the heads in a repository using the "
  1.1346 -"<command role=\"hg-cmd\">hg heads</command> command."
  1.1347 +#. type: Content of: <book><chapter><sect1><sect2><figure>
  1.1348 +#: ../en/ch02-tour-merge.xml:78 ../en/ch02-tour-merge.xml:125
  1.1349 +#: ../en/ch02-tour-merge.xml:250 ../en/ch03-concepts.xml:55
  1.1350 +#: ../en/ch03-concepts.xml:104 ../en/ch03-concepts.xml:189
  1.1351 +#: ../en/ch03-concepts.xml:344 ../en/ch03-concepts.xml:359
  1.1352 +#: ../en/ch03-concepts.xml:400 ../en/ch03-concepts.xml:420
  1.1353 +#: ../en/ch03-concepts.xml:461 ../en/ch05-collab.xml:274
  1.1354 +#: ../en/ch08-undo.xml:363 ../en/ch08-undo.xml:410 ../en/ch08-undo.xml:475
  1.1355 +#: ../en/ch08-undo.xml:513 ../en/ch11-mq.xml:410
  1.1356 +msgid "  <placeholder type=\"mediaobject\" id=\"0\"/>"
  1.1357 +msgstr ""
  1.1358 +
  1.1359 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.1360 +#: ../en/ch02-tour-merge.xml:79
  1.1361 +msgid ""
  1.1362 +"<imageobject> <imagedata fileref=\"figs/tour-merge-pull.png\"/> </imageobject>"
  1.1363 +msgstr ""
  1.1364 +
  1.1365 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1366 +#: ../en/ch02-tour-merge.xml:86
  1.1367 +msgid ""
  1.1368 +"In <xref linkend=\"fig:tour-merge:pull\"/>, you can see the effect of the "
  1.1369 +"pull from <filename class=\"directory\">my-hello</filename> into <filename "
  1.1370 +"class=\"directory\">my-new-hello</filename>.  The history that was already "
  1.1371 +"present in <filename class=\"directory\">my-new-hello</filename> is "
  1.1372 +"untouched, but a new revision has been added.  By referring to <xref linkend="
  1.1373 +"\"fig:tour-merge:sep-repos\"/>, we can see that the <emphasis>changeset ID</"
  1.1374 +"emphasis> remains the same in the new repository, but the <emphasis>revision "
  1.1375 +"number</emphasis> has changed.  (This, incidentally, is a fine example of why "
  1.1376 +"it's not safe to use revision numbers when discussing changesets.)  We can "
  1.1377 +"view the heads in a repository using the <command role=\"hg-cmd\">hg heads</"
  1.1378 +"command> command."
  1.1379  msgstr ""
  1.1380  
  1.1381  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1382 -#: ../en/ch02-tour-merge.xml:106
  1.1383 +#: ../en/ch02-tour-merge.xml:105
  1.1384  msgid "Performing the merge"
  1.1385  msgstr "执行合并"
  1.1386  
  1.1387  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1388 -#: ../en/ch02-tour-merge.xml:108
  1.1389 +#: ../en/ch02-tour-merge.xml:107
  1.1390  msgid ""
  1.1391  "What happens if we try to use the normal <command role=\"hg-cmd\">hg update</"
  1.1392  "command> command to update to the new tip?"
  1.1393  msgstr ""
  1.1394  
  1.1395  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1396 -#: ../en/ch02-tour-merge.xml:114
  1.1397 +#: ../en/ch02-tour-merge.xml:113
  1.1398  msgid ""
  1.1399  "Mercurial is telling us that the <command role=\"hg-cmd\">hg update</command> "
  1.1400  "command won't do a merge; it won't update the working directory when it "
  1.1401 @@ -3846,20 +3860,20 @@
  1.1402  "merge the two heads."
  1.1403  msgstr ""
  1.1404  
  1.1405 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1406 -#: ../en/ch02-tour-merge.xml:125
  1.1407 -msgid ""
  1.1408 -"<imageobject><imagedata fileref=\"images/tour-merge-merge.png\"/></"
  1.1409 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.1410 +#: ../en/ch02-tour-merge.xml:123
  1.1411 +msgid "Working directory and repository during merge, and following commit"
  1.1412 +msgstr ""
  1.1413 +
  1.1414 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.1415 +#: ../en/ch02-tour-merge.xml:126
  1.1416 +msgid ""
  1.1417 +"<imageobject> <imagedata fileref=\"figs/tour-merge-merge.png\"/> </"
  1.1418  "imageobject>"
  1.1419  msgstr ""
  1.1420  
  1.1421 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1422 -#: ../en/ch02-tour-merge.xml:127
  1.1423 -msgid "Working directory and repository during merge, and following commit"
  1.1424 -msgstr ""
  1.1425 -
  1.1426 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1427 -#: ../en/ch02-tour-merge.xml:132
  1.1428 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1429 +#: ../en/ch02-tour-merge.xml:133
  1.1430  msgid ""
  1.1431  "This updates the working directory so that it contains changes from "
  1.1432  "<emphasis>both</emphasis> heads, which is reflected in both the output of "
  1.1433 @@ -3868,12 +3882,12 @@
  1.1434  msgstr ""
  1.1435  
  1.1436  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1437 -#: ../en/ch02-tour-merge.xml:142
  1.1438 +#: ../en/ch02-tour-merge.xml:143
  1.1439  msgid "Committing the results of the merge"
  1.1440  msgstr "提交合并结果"
  1.1441  
  1.1442  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1443 -#: ../en/ch02-tour-merge.xml:144
  1.1444 +#: ../en/ch02-tour-merge.xml:145
  1.1445  msgid ""
  1.1446  "Whenever we've done a merge, <command role=\"hg-cmd\">hg parents</command> "
  1.1447  "will display two parents until we <command role=\"hg-cmd\">hg commit</"
  1.1448 @@ -3881,7 +3895,7 @@
  1.1449  msgstr ""
  1.1450  
  1.1451  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1452 -#: ../en/ch02-tour-merge.xml:151
  1.1453 +#: ../en/ch02-tour-merge.xml:152
  1.1454  msgid ""
  1.1455  "We now have a new tip revision; notice that it has <emphasis>both</emphasis> "
  1.1456  "of our former heads as its parents.  These are the same revisions that were "
  1.1457 @@ -3889,22 +3903,22 @@
  1.1458  msgstr ""
  1.1459  
  1.1460  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1461 -#: ../en/ch02-tour-merge.xml:158
  1.1462 -msgid ""
  1.1463 -"In figure <xref endterm=\"fig.tour-merge.merge.caption\" linkend=\"fig.tour-"
  1.1464 -"merge.merge\"/>, you can see a representation of what happens to the working "
  1.1465 -"directory during the merge, and how this affects the repository when the "
  1.1466 -"commit happens.  During the merge, the working directory has two parent "
  1.1467 -"changesets, and these become the parents of the new changeset."
  1.1468 +#: ../en/ch02-tour-merge.xml:159
  1.1469 +msgid ""
  1.1470 +"In <xref linkend=\"fig:tour-merge:merge\"/>, you can see a representation of "
  1.1471 +"what happens to the working directory during the merge, and how this affects "
  1.1472 +"the repository when the commit happens.  During the merge, the working "
  1.1473 +"directory has two parent changesets, and these become the parents of the new "
  1.1474 +"changeset."
  1.1475  msgstr ""
  1.1476  
  1.1477  #. type: Content of: <book><chapter><sect1><title>
  1.1478 -#: ../en/ch02-tour-merge.xml:169
  1.1479 +#: ../en/ch02-tour-merge.xml:170
  1.1480  msgid "Merging conflicting changes"
  1.1481  msgstr "合并有冲突的改变"
  1.1482  
  1.1483  #. type: Content of: <book><chapter><sect1><para>
  1.1484 -#: ../en/ch02-tour-merge.xml:171
  1.1485 +#: ../en/ch02-tour-merge.xml:172
  1.1486  msgid ""
  1.1487  "Most merges are simple affairs, but sometimes you'll find yourself merging "
  1.1488  "changes where each modifies the same portions of the same files.  Unless both "
  1.1489 @@ -3913,31 +3927,30 @@
  1.1490  "something coherent."
  1.1491  msgstr ""
  1.1492  
  1.1493 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
  1.1494 +#. type: Content of: <book><chapter><sect1><figure><title>
  1.1495  #: ../en/ch02-tour-merge.xml:180
  1.1496 -msgid ""
  1.1497 -"<imageobject><imagedata fileref=\"images/tour-merge-conflict.png\"/> </"
  1.1498 +msgid "Conflicting changes to a document"
  1.1499 +msgstr ""
  1.1500 +
  1.1501 +#. type: Content of: <book><chapter><sect1><figure><mediaobject>
  1.1502 +#: ../en/ch02-tour-merge.xml:182
  1.1503 +msgid ""
  1.1504 +"<imageobject><imagedata fileref=\"figs/tour-merge-conflict.png\"/></"
  1.1505  "imageobject>"
  1.1506  msgstr ""
  1.1507  
  1.1508 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
  1.1509 -#: ../en/ch02-tour-merge.xml:183
  1.1510 -msgid "Conflicting changes to a document"
  1.1511 -msgstr ""
  1.1512 -
  1.1513 -#. type: Content of: <book><chapter><sect1><para>
  1.1514 -#: ../en/ch02-tour-merge.xml:188
  1.1515 -msgid ""
  1.1516 -"Figure <xref endterm=\"fig.tour-merge.conflict.caption\" linkend=\"fig.tour-"
  1.1517 -"merge.conflict\"/> illustrates an instance of two conflicting changes to a "
  1.1518 -"document.  We started with a single version of the file; then we made some "
  1.1519 -"changes; while someone else made different changes to the same text.  Our "
  1.1520 -"task in resolving the conflicting changes is to decide what the file should "
  1.1521 -"look like."
  1.1522 -msgstr ""
  1.1523 -
  1.1524 -#. type: Content of: <book><chapter><sect1><para>
  1.1525 -#: ../en/ch02-tour-merge.xml:196
  1.1526 +#. type: Content of: <book><chapter><sect1><para>
  1.1527 +#: ../en/ch02-tour-merge.xml:187
  1.1528 +msgid ""
  1.1529 +"<xref linkend=\"fig:tour-merge:conflict\"/> illustrates an instance of two "
  1.1530 +"conflicting changes to a document.  We started with a single version of the "
  1.1531 +"file; then we made some changes; while someone else made different changes to "
  1.1532 +"the same text.  Our task in resolving the conflicting changes is to decide "
  1.1533 +"what the file should look like."
  1.1534 +msgstr ""
  1.1535 +
  1.1536 +#. type: Content of: <book><chapter><sect1><para>
  1.1537 +#: ../en/ch02-tour-merge.xml:194
  1.1538  msgid ""
  1.1539  "Mercurial doesn't have a built-in facility for handling conflicts. Instead, "
  1.1540  "it runs an external program called <command>hgmerge</command>.  This is a "
  1.1541 @@ -3950,7 +3963,7 @@
  1.1542  msgstr ""
  1.1543  
  1.1544  #. type: Content of: <book><chapter><sect1><para>
  1.1545 -#: ../en/ch02-tour-merge.xml:207
  1.1546 +#: ../en/ch02-tour-merge.xml:205
  1.1547  msgid ""
  1.1548  "It's also possible to get Mercurial to run another program or script instead "
  1.1549  "of <command>hgmerge</command>, by setting the <envar>HGMERGE</envar> "
  1.1550 @@ -3958,25 +3971,24 @@
  1.1551  msgstr ""
  1.1552  
  1.1553  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1554 -#: ../en/ch02-tour-merge.xml:213
  1.1555 +#: ../en/ch02-tour-merge.xml:211
  1.1556  msgid "Using a graphical merge tool"
  1.1557  msgstr "使用图形合并工具"
  1.1558  
  1.1559  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1560 -#: ../en/ch02-tour-merge.xml:215
  1.1561 +#: ../en/ch02-tour-merge.xml:213
  1.1562  msgid ""
  1.1563  "My preferred graphical merge tool is <command>kdiff3</command>, which I'll "
  1.1564  "use to describe the features that are common to graphical file merging "
  1.1565  "tools.  You can see a screenshot of <command>kdiff3</command> in action in "
  1.1566 -"figure <xref endterm=\"fig.tour-merge.kdiff3.caption\" linkend=\"fig.tour-"
  1.1567 -"merge.kdiff3\"/>.  The kind of merge it is performing is called a "
  1.1568 -"<emphasis>three-way merge</emphasis>, because there are three different "
  1.1569 -"versions of the file of interest to us.  The tool thus splits the upper "
  1.1570 -"portion of the window into three panes:"
  1.1571 +"<xref linkend=\"fig:tour-merge:kdiff3\"/>.  The kind of merge it is "
  1.1572 +"performing is called a <emphasis>three-way merge</emphasis>, because there "
  1.1573 +"are three different versions of the file of interest to us.  The tool thus "
  1.1574 +"splits the upper portion of the window into three panes:"
  1.1575  msgstr ""
  1.1576  
  1.1577  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1578 -#: ../en/ch02-tour-merge.xml:226
  1.1579 +#: ../en/ch02-tour-merge.xml:223
  1.1580  msgid ""
  1.1581  "At the left is the <emphasis>base</emphasis> version of the file, i.e. the "
  1.1582  "most recent version from which the two versions we're trying to merge are "
  1.1583 @@ -3984,21 +3996,21 @@
  1.1584  msgstr ""
  1.1585  
  1.1586  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1587 -#: ../en/ch02-tour-merge.xml:231
  1.1588 +#: ../en/ch02-tour-merge.xml:228
  1.1589  msgid ""
  1.1590  "In the middle is <quote>our</quote> version of the file, with the contents "
  1.1591  "that we modified."
  1.1592  msgstr ""
  1.1593  
  1.1594  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1595 -#: ../en/ch02-tour-merge.xml:234
  1.1596 +#: ../en/ch02-tour-merge.xml:231
  1.1597  msgid ""
  1.1598  "On the right is <quote>their</quote> version of the file, the one that from "
  1.1599  "the changeset that we're trying to merge with."
  1.1600  msgstr ""
  1.1601  
  1.1602  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1603 -#: ../en/ch02-tour-merge.xml:238
  1.1604 +#: ../en/ch02-tour-merge.xml:235
  1.1605  msgid ""
  1.1606  "In the pane below these is the current <emphasis>result</emphasis> of the "
  1.1607  "merge. Our task is to replace all of the red text, which indicates unresolved "
  1.1608 @@ -4007,27 +4019,27 @@
  1.1609  msgstr ""
  1.1610  
  1.1611  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1612 -#: ../en/ch02-tour-merge.xml:245
  1.1613 +#: ../en/ch02-tour-merge.xml:242
  1.1614  msgid ""
  1.1615  "All four of these panes are <emphasis>locked together</emphasis>; if we "
  1.1616  "scroll vertically or horizontally in any of them, the others are updated to "
  1.1617  "display the corresponding sections of their respective files."
  1.1618  msgstr ""
  1.1619  
  1.1620 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1621 -#: ../en/ch02-tour-merge.xml:252
  1.1622 -msgid ""
  1.1623 -"<imageobject><imagedata width=\"100%\" fileref=\"images/kdiff3.png\"/> </"
  1.1624 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.1625 +#: ../en/ch02-tour-merge.xml:248
  1.1626 +msgid "Using <command>kdiff3</command> to merge versions of a file"
  1.1627 +msgstr ""
  1.1628 +
  1.1629 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.1630 +#: ../en/ch02-tour-merge.xml:251
  1.1631 +msgid ""
  1.1632 +"<imageobject> <imagedata width=\"100%\" fileref=\"figs/kdiff3.png\"/></"
  1.1633  "imageobject>"
  1.1634  msgstr ""
  1.1635  
  1.1636 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1637 -#: ../en/ch02-tour-merge.xml:255
  1.1638 -msgid "Using <command>kdiff3</command> to merge versions of a file"
  1.1639 -msgstr ""
  1.1640 -
  1.1641 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1642 -#: ../en/ch02-tour-merge.xml:261
  1.1643 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1644 +#: ../en/ch02-tour-merge.xml:259
  1.1645  msgid ""
  1.1646  "For each conflicting portion of the file, we can choose to resolve the "
  1.1647  "conflict using some combination of text from the base version, ours, or "
  1.1648 @@ -4036,7 +4048,7 @@
  1.1649  msgstr ""
  1.1650  
  1.1651  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1652 -#: ../en/ch02-tour-merge.xml:267
  1.1653 +#: ../en/ch02-tour-merge.xml:265
  1.1654  msgid ""
  1.1655  "There are <emphasis>many</emphasis> file merging tools available, too many to "
  1.1656  "cover here.  They vary in which platforms they are available for, and in "
  1.1657 @@ -4046,26 +4058,25 @@
  1.1658  msgstr ""
  1.1659  
  1.1660  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1661 -#: ../en/ch02-tour-merge.xml:276
  1.1662 +#: ../en/ch02-tour-merge.xml:274
  1.1663  msgid "A worked example"
  1.1664  msgstr "合并实例"
  1.1665  
  1.1666  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1667 -#: ../en/ch02-tour-merge.xml:278
  1.1668 -msgid ""
  1.1669 -"In this example, we will reproduce the file modification history of figure "
  1.1670 -"<xref endterm=\"fig.tour-merge.conflict.caption\" linkend=\"fig.tour-merge."
  1.1671 -"conflict\"/> above.  Let's begin by creating a repository with a base version "
  1.1672 -"of our document."
  1.1673 -msgstr ""
  1.1674 -
  1.1675 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1676 -#: ../en/ch02-tour-merge.xml:286
  1.1677 +#: ../en/ch02-tour-merge.xml:276
  1.1678 +msgid ""
  1.1679 +"In this example, we will reproduce the file modification history of <xref "
  1.1680 +"linkend=\"fig:tour-merge:conflict\"/> above.  Let's begin by creating a "
  1.1681 +"repository with a base version of our document."
  1.1682 +msgstr ""
  1.1683 +
  1.1684 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1685 +#: ../en/ch02-tour-merge.xml:283
  1.1686  msgid "We'll clone the repository and make a change to the file."
  1.1687  msgstr ""
  1.1688  
  1.1689  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1690 -#: ../en/ch02-tour-merge.xml:291
  1.1691 +#: ../en/ch02-tour-merge.xml:288
  1.1692  msgid ""
  1.1693  "And another clone, to simulate someone else making a change to the file. "
  1.1694  "(This hints at the idea that it's not all that unusual to merge with yourself "
  1.1695 @@ -4074,14 +4085,14 @@
  1.1696  msgstr ""
  1.1697  
  1.1698  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1699 -#: ../en/ch02-tour-merge.xml:299
  1.1700 +#: ../en/ch02-tour-merge.xml:296
  1.1701  msgid ""
  1.1702  "Having created two different versions of the file, we'll set up an "
  1.1703  "environment suitable for running our merge."
  1.1704  msgstr ""
  1.1705  
  1.1706  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1707 -#: ../en/ch02-tour-merge.xml:305
  1.1708 +#: ../en/ch02-tour-merge.xml:302
  1.1709  msgid ""
  1.1710  "In this example, I won't use Mercurial's normal <command>hgmerge</command> "
  1.1711  "program to do the merge, because it would drop my nice automated example-"
  1.1712 @@ -4093,12 +4104,12 @@
  1.1713  msgstr ""
  1.1714  
  1.1715  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1716 -#: ../en/ch02-tour-merge.xml:315
  1.1717 +#: ../en/ch02-tour-merge.xml:312
  1.1718  msgid "<emphasis role=\"bold\">XXX FIX THIS EXAMPLE.</emphasis>"
  1.1719  msgstr ""
  1.1720  
  1.1721  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1722 -#: ../en/ch02-tour-merge.xml:320
  1.1723 +#: ../en/ch02-tour-merge.xml:317
  1.1724  msgid ""
  1.1725  "Because <command>merge</command> can't resolve the conflicting changes, it "
  1.1726  "leaves <emphasis>merge markers</emphasis> inside the file that has conflicts, "
  1.1727 @@ -4107,7 +4118,7 @@
  1.1728  msgstr ""
  1.1729  
  1.1730  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1731 -#: ../en/ch02-tour-merge.xml:326
  1.1732 +#: ../en/ch02-tour-merge.xml:323
  1.1733  msgid ""
  1.1734  "Mercurial can tell from the way <command>merge</command> exits that it wasn't "
  1.1735  "able to merge successfully, so it tells us what commands we'll need to run if "
  1.1736 @@ -4117,7 +4128,7 @@
  1.1737  msgstr ""
  1.1738  
  1.1739  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1740 -#: ../en/ch02-tour-merge.xml:333
  1.1741 +#: ../en/ch02-tour-merge.xml:330
  1.1742  msgid ""
  1.1743  "If automatic or manual merges fail, there's nothing to prevent us from "
  1.1744  "<quote>fixing up</quote> the affected files ourselves, and committing the "
  1.1745 @@ -4125,19 +4136,19 @@
  1.1746  msgstr ""
  1.1747  
  1.1748  #. type: Content of: <book><chapter><sect1><title>
  1.1749 -#: ../en/ch02-tour-merge.xml:342
  1.1750 +#: ../en/ch02-tour-merge.xml:339
  1.1751  msgid "Simplifying the pull-merge-commit sequence"
  1.1752  msgstr "简化拉-合并-提交程序"
  1.1753  
  1.1754  #. type: Content of: <book><chapter><sect1><para>
  1.1755 -#: ../en/ch02-tour-merge.xml:344
  1.1756 +#: ../en/ch02-tour-merge.xml:341
  1.1757  msgid ""
  1.1758  "The process of merging changes as outlined above is straightforward, but "
  1.1759  "requires running three commands in sequence."
  1.1760  msgstr ""
  1.1761  
  1.1762  #. type: Content of: <book><chapter><sect1><para>
  1.1763 -#: ../en/ch02-tour-merge.xml:350
  1.1764 +#: ../en/ch02-tour-merge.xml:347
  1.1765  msgid ""
  1.1766  "In the case of the final commit, you also need to enter a commit message, "
  1.1767  "which is almost always going to be a piece of uninteresting "
  1.1768 @@ -4145,7 +4156,7 @@
  1.1769  msgstr ""
  1.1770  
  1.1771  #. type: Content of: <book><chapter><sect1><para>
  1.1772 -#: ../en/ch02-tour-merge.xml:354
  1.1773 +#: ../en/ch02-tour-merge.xml:351
  1.1774  msgid ""
  1.1775  "It would be nice to reduce the number of steps needed, if this were "
  1.1776  "possible.  Indeed, Mercurial is distributed with an extension called <literal "
  1.1777 @@ -4153,7 +4164,7 @@
  1.1778  msgstr ""
  1.1779  
  1.1780  #. type: Content of: <book><chapter><sect1><para>
  1.1781 -#: ../en/ch02-tour-merge.xml:359
  1.1782 +#: ../en/ch02-tour-merge.xml:356
  1.1783  msgid ""
  1.1784  "Mercurial provides a flexible extension mechanism that lets people extend its "
  1.1785  "functionality, while keeping the core of Mercurial small and easy to deal "
  1.1786 @@ -4163,7 +4174,7 @@
  1.1787  msgstr ""
  1.1788  
  1.1789  #. type: Content of: <book><chapter><sect1><para>
  1.1790 -#: ../en/ch02-tour-merge.xml:366
  1.1791 +#: ../en/ch02-tour-merge.xml:363
  1.1792  msgid ""
  1.1793  "The <literal role=\"hg-ext\">fetch</literal> extension adds a new command "
  1.1794  "called, not surprisingly, <command role=\"hg-cmd\">hg fetch</command>.  This "
  1.1795 @@ -4177,7 +4188,7 @@
  1.1796  msgstr ""
  1.1797  
  1.1798  #. type: Content of: <book><chapter><sect1><para>
  1.1799 -#: ../en/ch02-tour-merge.xml:379
  1.1800 +#: ../en/ch02-tour-merge.xml:376
  1.1801  msgid ""
  1.1802  "Enabling the <literal role=\"hg-ext\">fetch</literal> extension is easy.  "
  1.1803  "Edit your <filename role=\"special\">.hgrc</filename>, and either go to the "
  1.1804 @@ -4187,7 +4198,7 @@
  1.1805  msgstr ""
  1.1806  
  1.1807  #. type: Content of: <book><chapter><sect1><para>
  1.1808 -#: ../en/ch02-tour-merge.xml:388
  1.1809 +#: ../en/ch02-tour-merge.xml:385
  1.1810  msgid ""
  1.1811  "(Normally, on the right-hand side of the <quote><literal>=</literal></quote> "
  1.1812  "would appear the location of the extension, but since the <literal role=\"hg-"
  1.1813 @@ -4258,28 +4269,27 @@
  1.1814  "much history, the revision data and index are combined in a single "
  1.1815  "<quote><literal>.i</literal></quote> file.  The correspondence between a file "
  1.1816  "in the working directory and the filelog that tracks its history in the "
  1.1817 -"repository is illustrated in figure <xref endterm=\"fig.concepts.filelog."
  1.1818 -"caption\" linkend=\"fig.concepts.filelog\"/>."
  1.1819 -msgstr ""
  1.1820 -
  1.1821 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1822 -#: ../en/ch03-concepts.xml:55
  1.1823 -msgid "<imageobject><imagedata fileref=\"images/filelog.png\"/></imageobject>"
  1.1824 -msgstr ""
  1.1825 -
  1.1826 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1827 -#: ../en/ch03-concepts.xml:57
  1.1828 +"repository is illustrated in <xref linkend=\"fig:concepts:filelog\"/>."
  1.1829 +msgstr ""
  1.1830 +
  1.1831 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.1832 +#: ../en/ch03-concepts.xml:53
  1.1833  msgid ""
  1.1834  "Relationships between files in working directory and filelogs in repository"
  1.1835  msgstr ""
  1.1836  
  1.1837 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.1838 +#: ../en/ch03-concepts.xml:56
  1.1839 +msgid "<imageobject><imagedata fileref=\"figs/filelog.png\"/></imageobject>"
  1.1840 +msgstr ""
  1.1841 +
  1.1842  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1843 -#: ../en/ch03-concepts.xml:65
  1.1844 +#: ../en/ch03-concepts.xml:63
  1.1845  msgid "Managing tracked files"
  1.1846  msgstr "管理跟踪的文件"
  1.1847  
  1.1848  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1849 -#: ../en/ch03-concepts.xml:67
  1.1850 +#: ../en/ch03-concepts.xml:65
  1.1851  msgid ""
  1.1852  "Mercurial uses a structure called a <emphasis>manifest</emphasis> to collect "
  1.1853  "together information about the files that it tracks.  Each entry in the "
  1.1854 @@ -4289,12 +4299,12 @@
  1.1855  msgstr ""
  1.1856  
  1.1857  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1858 -#: ../en/ch03-concepts.xml:77
  1.1859 +#: ../en/ch03-concepts.xml:75
  1.1860  msgid "Recording changeset information"
  1.1861  msgstr "记录修改集信息"
  1.1862  
  1.1863  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1864 -#: ../en/ch03-concepts.xml:79
  1.1865 +#: ../en/ch03-concepts.xml:77
  1.1866  msgid ""
  1.1867  "The <emphasis>changelog</emphasis> contains information about each "
  1.1868  "changeset.  Each revision records who committed a change, the changeset "
  1.1869 @@ -4303,12 +4313,12 @@
  1.1870  msgstr ""
  1.1871  
  1.1872  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1873 -#: ../en/ch03-concepts.xml:87
  1.1874 +#: ../en/ch03-concepts.xml:85
  1.1875  msgid "Relationships between revisions"
  1.1876  msgstr "版本之间的关系"
  1.1877  
  1.1878  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1879 -#: ../en/ch03-concepts.xml:89
  1.1880 +#: ../en/ch03-concepts.xml:87
  1.1881  msgid ""
  1.1882  "Within a changelog, a manifest, or a filelog, each revision stores a pointer "
  1.1883  "to its immediate parent (or to its two parents, if it's a merge revision).  "
  1.1884 @@ -4318,28 +4328,28 @@
  1.1885  msgstr ""
  1.1886  
  1.1887  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1888 -#: ../en/ch03-concepts.xml:96
  1.1889 +#: ../en/ch03-concepts.xml:94
  1.1890  msgid ""
  1.1891  "For every changeset in a repository, there is exactly one revision stored in "
  1.1892  "the changelog.  Each revision of the changelog contains a pointer to a single "
  1.1893  "revision of the manifest.  A revision of the manifest stores a pointer to a "
  1.1894  "single revision of each filelog tracked when that changeset was created.  "
  1.1895 -"These relationships are illustrated in figure <xref endterm=\"fig.concepts."
  1.1896 -"metadata.caption\" linkend=\"fig.concepts.metadata\"/>."
  1.1897 -msgstr ""
  1.1898 -
  1.1899 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1900 -#: ../en/ch03-concepts.xml:107
  1.1901 -msgid "<imageobject><imagedata fileref=\"images/metadata.png\"/></imageobject>"
  1.1902 -msgstr ""
  1.1903 -
  1.1904 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1905 -#: ../en/ch03-concepts.xml:109
  1.1906 +"These relationships are illustrated in <xref linkend=\"fig:concepts:metadata"
  1.1907 +"\"/>."
  1.1908 +msgstr ""
  1.1909 +
  1.1910 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.1911 +#: ../en/ch03-concepts.xml:103
  1.1912  msgid "Metadata relationships"
  1.1913  msgstr ""
  1.1914  
  1.1915 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1916 -#: ../en/ch03-concepts.xml:114
  1.1917 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.1918 +#: ../en/ch03-concepts.xml:105
  1.1919 +msgid "<imageobject><imagedata fileref=\"figs/metadata.png\"/></imageobject>"
  1.1920 +msgstr ""
  1.1921 +
  1.1922 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1923 +#: ../en/ch03-concepts.xml:110
  1.1924  msgid ""
  1.1925  "As the illustration shows, there is <emphasis>not</emphasis> a <quote>one to "
  1.1926  "one</quote> relationship between revisions in the changelog, manifest, or "
  1.1927 @@ -4351,24 +4361,24 @@
  1.1928  msgstr ""
  1.1929  
  1.1930  #. type: Content of: <book><chapter><sect1><title>
  1.1931 -#: ../en/ch03-concepts.xml:127
  1.1932 +#: ../en/ch03-concepts.xml:123
  1.1933  msgid "Safe, efficient storage"
  1.1934  msgstr "安全,高效的存储"
  1.1935  
  1.1936  #. type: Content of: <book><chapter><sect1><para>
  1.1937 -#: ../en/ch03-concepts.xml:129
  1.1938 +#: ../en/ch03-concepts.xml:125
  1.1939  msgid ""
  1.1940  "The underpinnings of changelogs, manifests, and filelogs are provided by a "
  1.1941  "single structure called the <emphasis>revlog</emphasis>."
  1.1942  msgstr ""
  1.1943  
  1.1944  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1945 -#: ../en/ch03-concepts.xml:134
  1.1946 +#: ../en/ch03-concepts.xml:130
  1.1947  msgid "Efficient storage"
  1.1948  msgstr "高效存储"
  1.1949  
  1.1950  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1951 -#: ../en/ch03-concepts.xml:136
  1.1952 +#: ../en/ch03-concepts.xml:132
  1.1953  msgid ""
  1.1954  "The revlog provides efficient storage of revisions using a <emphasis>delta</"
  1.1955  "emphasis> mechanism.  Instead of storing a complete copy of a file for each "
  1.1956 @@ -4378,7 +4388,7 @@
  1.1957  msgstr ""
  1.1958  
  1.1959  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1960 -#: ../en/ch03-concepts.xml:144
  1.1961 +#: ../en/ch03-concepts.xml:140
  1.1962  msgid ""
  1.1963  "Some obsolete revision control systems can only work with deltas of text "
  1.1964  "files.  They must either store binary files as complete snapshots or encoded "
  1.1965 @@ -4388,12 +4398,12 @@
  1.1966  msgstr ""
  1.1967  
  1.1968  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1969 -#: ../en/ch03-concepts.xml:153
  1.1970 +#: ../en/ch03-concepts.xml:149
  1.1971  msgid "Safe operation"
  1.1972  msgstr "安全操作"
  1.1973  
  1.1974  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1975 -#: ../en/ch03-concepts.xml:155
  1.1976 +#: ../en/ch03-concepts.xml:151
  1.1977  msgid ""
  1.1978  "Mercurial only ever <emphasis>appends</emphasis> data to the end of a revlog "
  1.1979  "file. It never modifies a section of a file after it has written it.  This is "
  1.1980 @@ -4402,7 +4412,7 @@
  1.1981  msgstr ""
  1.1982  
  1.1983  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1984 -#: ../en/ch03-concepts.xml:161
  1.1985 +#: ../en/ch03-concepts.xml:157
  1.1986  msgid ""
  1.1987  "In addition, Mercurial treats every write as part of a <emphasis>transaction</"
  1.1988  "emphasis> that can span a number of files.  A transaction is "
  1.1989 @@ -4414,7 +4424,7 @@
  1.1990  msgstr ""
  1.1991  
  1.1992  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1993 -#: ../en/ch03-concepts.xml:171
  1.1994 +#: ../en/ch03-concepts.xml:167
  1.1995  msgid ""
  1.1996  "The fact that Mercurial only appends to files makes it easier to provide this "
  1.1997  "transactional guarantee.  The easier it is to do stuff like this, the more "
  1.1998 @@ -4422,12 +4432,12 @@
  1.1999  msgstr ""
  1.2000  
  1.2001  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2002 -#: ../en/ch03-concepts.xml:178
  1.2003 +#: ../en/ch03-concepts.xml:174
  1.2004  msgid "Fast retrieval"
  1.2005  msgstr "快速检索"
  1.2006  
  1.2007  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2008 -#: ../en/ch03-concepts.xml:180
  1.2009 +#: ../en/ch03-concepts.xml:176
  1.2010  msgid ""
  1.2011  "Mercurial cleverly avoids a pitfall common to all earlier revision control "
  1.2012  "systems: the problem of <emphasis>inefficient retrieval</emphasis>. Most "
  1.2013 @@ -4439,18 +4449,18 @@
  1.2014  "longer it takes to reconstruct a particular revision."
  1.2015  msgstr ""
  1.2016  
  1.2017 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.2018 -#: ../en/ch03-concepts.xml:193
  1.2019 -msgid "<imageobject><imagedata fileref=\"images/snapshot.png\"/></imageobject>"
  1.2020 -msgstr ""
  1.2021 -
  1.2022 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.2023 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.2024 +#: ../en/ch03-concepts.xml:188
  1.2025 +msgid "Snapshot of a revlog, with incremental deltas"
  1.2026 +msgstr ""
  1.2027 +
  1.2028 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.2029 +#: ../en/ch03-concepts.xml:190
  1.2030 +msgid "<imageobject><imagedata fileref=\"figs/snapshot.png\"/></imageobject>"
  1.2031 +msgstr ""
  1.2032 +
  1.2033 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2034  #: ../en/ch03-concepts.xml:195
  1.2035 -msgid "Snapshot of a revlog, with incremental deltas"
  1.2036 -msgstr ""
  1.2037 -
  1.2038 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2039 -#: ../en/ch03-concepts.xml:200
  1.2040  msgid ""
  1.2041  "The innovation that Mercurial applies to this problem is simple but "
  1.2042  "effective.  Once the cumulative amount of delta information stored since the "
  1.2043 @@ -4462,21 +4472,20 @@
  1.2044  msgstr ""
  1.2045  
  1.2046  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2047 -#: ../en/ch03-concepts.xml:209
  1.2048 -msgid ""
  1.2049 -"Figure <xref endterm=\"fig.concepts.snapshot.caption\" linkend=\"fig.concepts."
  1.2050 -"snapshot\"/> illustrates the idea.  In an entry in a revlog's index file, "
  1.2051 -"Mercurial stores the range of entries from the data file that it must read to "
  1.2052 -"reconstruct a particular revision."
  1.2053 +#: ../en/ch03-concepts.xml:204
  1.2054 +msgid ""
  1.2055 +"<xref linkend=\"fig:concepts:snapshot\"/> illustrates the idea.  In an entry "
  1.2056 +"in a revlog's index file, Mercurial stores the range of entries from the data "
  1.2057 +"file that it must read to reconstruct a particular revision."
  1.2058  msgstr ""
  1.2059  
  1.2060  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.2061 -#: ../en/ch03-concepts.xml:216
  1.2062 +#: ../en/ch03-concepts.xml:210
  1.2063  msgid "Aside: the influence of video compression"
  1.2064  msgstr ""
  1.2065  
  1.2066  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2067 -#: ../en/ch03-concepts.xml:218
  1.2068 +#: ../en/ch03-concepts.xml:212
  1.2069  msgid ""
  1.2070  "If you're familiar with video compression or have ever watched a TV feed "
  1.2071  "through a digital cable or satellite service, you may know that most video "
  1.2072 @@ -4487,7 +4496,7 @@
  1.2073  msgstr ""
  1.2074  
  1.2075  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2076 -#: ../en/ch03-concepts.xml:227
  1.2077 +#: ../en/ch03-concepts.xml:221
  1.2078  msgid ""
  1.2079  "Because it's possible for a video stream to <quote>drop out</quote> "
  1.2080  "occasionally due to signal glitches, and to limit the accumulation of "
  1.2081 @@ -4500,12 +4509,12 @@
  1.2082  msgstr ""
  1.2083  
  1.2084  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2085 -#: ../en/ch03-concepts.xml:241
  1.2086 +#: ../en/ch03-concepts.xml:235
  1.2087  msgid "Identification and strong integrity"
  1.2088  msgstr "鉴别和强完整性"
  1.2089  
  1.2090  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2091 -#: ../en/ch03-concepts.xml:243
  1.2092 +#: ../en/ch03-concepts.xml:237
  1.2093  msgid ""
  1.2094  "Along with delta or snapshot information, a revlog entry contains a "
  1.2095  "cryptographic hash of the data that it represents.  This makes it difficult "
  1.2096 @@ -4513,7 +4522,7 @@
  1.2097  msgstr ""
  1.2098  
  1.2099  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2100 -#: ../en/ch03-concepts.xml:248
  1.2101 +#: ../en/ch03-concepts.xml:242
  1.2102  msgid ""
  1.2103  "Hashes provide more than a mere check against corruption; they are used as "
  1.2104  "the identifiers for revisions.  The changeset identification hashes that you "
  1.2105 @@ -4522,7 +4531,7 @@
  1.2106  msgstr ""
  1.2107  
  1.2108  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2109 -#: ../en/ch03-concepts.xml:255
  1.2110 +#: ../en/ch03-concepts.xml:249
  1.2111  msgid ""
  1.2112  "Mercurial verifies that hashes are correct when it retrieves file revisions "
  1.2113  "and when it pulls changes from another repository.  If it encounters an "
  1.2114 @@ -4530,7 +4539,7 @@
  1.2115  msgstr ""
  1.2116  
  1.2117  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2118 -#: ../en/ch03-concepts.xml:260
  1.2119 +#: ../en/ch03-concepts.xml:254
  1.2120  msgid ""
  1.2121  "In addition to the effect it has on retrieval efficiency, Mercurial's use of "
  1.2122  "periodic snapshots makes it more robust against partial data corruption.  If "
  1.2123 @@ -4541,12 +4550,12 @@
  1.2124  msgstr ""
  1.2125  
  1.2126  #. type: Content of: <book><chapter><sect1><title>
  1.2127 -#: ../en/ch03-concepts.xml:272
  1.2128 +#: ../en/ch03-concepts.xml:266
  1.2129  msgid "Revision history, branching, and merging"
  1.2130  msgstr "修订历史,分支与合并"
  1.2131  
  1.2132  #. type: Content of: <book><chapter><sect1><para>
  1.2133 -#: ../en/ch03-concepts.xml:274
  1.2134 +#: ../en/ch03-concepts.xml:268
  1.2135  msgid ""
  1.2136  "Every entry in a Mercurial revlog knows the identity of its immediate "
  1.2137  "ancestor revision, usually referred to as its <emphasis>parent</emphasis>.  "
  1.2138 @@ -4557,17 +4566,17 @@
  1.2139  msgstr ""
  1.2140  
  1.2141  #. type: Content of: <book><chapter><sect1><para>
  1.2142 +#: ../en/ch03-concepts.xml:276
  1.2143 +msgid ""
  1.2144 +"In <xref linkend=\"fig:concepts:revlog\"/>, you can see an example of the "
  1.2145 +"conceptual structure of a revlog.  Filelogs, manifests, and changelogs all "
  1.2146 +"have this same structure; they differ only in the kind of data stored in each "
  1.2147 +"delta or snapshot."
  1.2148 +msgstr ""
  1.2149 +
  1.2150 +#. type: Content of: <book><chapter><sect1><para>
  1.2151  #: ../en/ch03-concepts.xml:282
  1.2152  msgid ""
  1.2153 -"In figure <xref endterm=\"fig.concepts.revlog.caption\" linkend=\"fig."
  1.2154 -"concepts.revlog\"/>, you can see an example of the conceptual structure of a "
  1.2155 -"revlog.  Filelogs, manifests, and changelogs all have this same structure; "
  1.2156 -"they differ only in the kind of data stored in each delta or snapshot."
  1.2157 -msgstr ""
  1.2158 -
  1.2159 -#. type: Content of: <book><chapter><sect1><para>
  1.2160 -#: ../en/ch03-concepts.xml:289
  1.2161 -msgid ""
  1.2162  "The first revision in a revlog (at the bottom of the image)  has the null ID "
  1.2163  "in both of its parent slots.  For a <quote>normal</quote> revision, its first "
  1.2164  "parent slot contains the ID of its parent revision, and its second contains "
  1.2165 @@ -4577,30 +4586,30 @@
  1.2166  "slots."
  1.2167  msgstr ""
  1.2168  
  1.2169 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
  1.2170 -#: ../en/ch03-concepts.xml:300
  1.2171 -msgid "<imageobject><imagedata fileref=\"images/revlog.png\"/></imageobject>"
  1.2172 -msgstr ""
  1.2173 -
  1.2174 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
  1.2175 -#: ../en/ch03-concepts.xml:302
  1.2176 -msgid "Revision in revlog"
  1.2177 +#. type: Content of: <book><chapter><sect1><figure><title>
  1.2178 +#: ../en/ch03-concepts.xml:292
  1.2179 +msgid "The conceptual structure of a revlog"
  1.2180 +msgstr ""
  1.2181 +
  1.2182 +#. type: Content of: <book><chapter><sect1><figure><mediaobject>
  1.2183 +#: ../en/ch03-concepts.xml:294
  1.2184 +msgid "<imageobject><imagedata fileref=\"figs/revlog.png\"/></imageobject>"
  1.2185  msgstr ""
  1.2186  
  1.2187  #. type: Content of: <book><chapter><sect1><title>
  1.2188 -#: ../en/ch03-concepts.xml:309
  1.2189 +#: ../en/ch03-concepts.xml:301
  1.2190  msgid "The working directory"
  1.2191  msgstr "工作目录"
  1.2192  
  1.2193  #. type: Content of: <book><chapter><sect1><para>
  1.2194 -#: ../en/ch03-concepts.xml:311
  1.2195 +#: ../en/ch03-concepts.xml:303
  1.2196  msgid ""
  1.2197  "In the working directory, Mercurial stores a snapshot of the files from the "
  1.2198  "repository as of a particular changeset."
  1.2199  msgstr ""
  1.2200  
  1.2201  #. type: Content of: <book><chapter><sect1><para>
  1.2202 -#: ../en/ch03-concepts.xml:314
  1.2203 +#: ../en/ch03-concepts.xml:306
  1.2204  msgid ""
  1.2205  "The working directory <quote>knows</quote> which changeset it contains.  When "
  1.2206  "you update the working directory to contain a particular changeset, Mercurial "
  1.2207 @@ -4611,7 +4620,7 @@
  1.2208  msgstr ""
  1.2209  
  1.2210  #. type: Content of: <book><chapter><sect1><para>
  1.2211 -#: ../en/ch03-concepts.xml:323
  1.2212 +#: ../en/ch03-concepts.xml:315
  1.2213  msgid ""
  1.2214  "The <emphasis>dirstate</emphasis> contains Mercurial's knowledge of the "
  1.2215  "working directory.  This details which changeset the working directory is "
  1.2216 @@ -4620,7 +4629,7 @@
  1.2217  msgstr ""
  1.2218  
  1.2219  #. type: Content of: <book><chapter><sect1><para>
  1.2220 -#: ../en/ch03-concepts.xml:329
  1.2221 +#: ../en/ch03-concepts.xml:321
  1.2222  msgid ""
  1.2223  "Just as a revision of a revlog has room for two parents, so that it can "
  1.2224  "represent either a normal revision (with one parent)  or a merge of two "
  1.2225 @@ -4635,51 +4644,50 @@
  1.2226  msgstr ""
  1.2227  
  1.2228  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2229 -#: ../en/ch03-concepts.xml:343
  1.2230 +#: ../en/ch03-concepts.xml:335
  1.2231  msgid "What happens when you commit"
  1.2232  msgstr "当你提交时发生的事情"
  1.2233  
  1.2234  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2235 -#: ../en/ch03-concepts.xml:345
  1.2236 +#: ../en/ch03-concepts.xml:337
  1.2237  msgid ""
  1.2238  "The dirstate stores parent information for more than just book-keeping "
  1.2239  "purposes.  Mercurial uses the parents of the dirstate as <emphasis>the "
  1.2240  "parents of a new changeset</emphasis> when you perform a commit."
  1.2241  msgstr ""
  1.2242  
  1.2243 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.2244 -#: ../en/ch03-concepts.xml:352
  1.2245 -msgid "<imageobject><imagedata fileref=\"images/wdir.png\"/></imageobject>"
  1.2246 -msgstr ""
  1.2247 -
  1.2248 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.2249 -#: ../en/ch03-concepts.xml:354
  1.2250 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.2251 +#: ../en/ch03-concepts.xml:343
  1.2252  msgid "The working directory can have two parents"
  1.2253  msgstr ""
  1.2254  
  1.2255 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2256 -#: ../en/ch03-concepts.xml:359
  1.2257 -msgid ""
  1.2258 -"Figure <xref endterm=\"fig.concepts.wdir.caption\" linkend=\"fig.concepts.wdir"
  1.2259 -"\"/> shows the normal state of the working directory, where it has a single "
  1.2260 -"changeset as parent.  That changeset is the <emphasis>tip</emphasis>, the "
  1.2261 -"newest changeset in the repository that has no children."
  1.2262 -msgstr ""
  1.2263 -
  1.2264 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.2265 -#: ../en/ch03-concepts.xml:368
  1.2266 -msgid ""
  1.2267 -"<imageobject><imagedata fileref=\"images/wdir-after-commit.png\"/> </"
  1.2268 -"imageobject>"
  1.2269 -msgstr ""
  1.2270 -
  1.2271 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.2272 -#: ../en/ch03-concepts.xml:371
  1.2273 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.2274 +#: ../en/ch03-concepts.xml:345
  1.2275 +msgid "<imageobject><imagedata fileref=\"figs/wdir.png\"/></imageobject>"
  1.2276 +msgstr ""
  1.2277 +
  1.2278 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2279 +#: ../en/ch03-concepts.xml:350
  1.2280 +msgid ""
  1.2281 +"<xref linkend=\"fig:concepts:wdir\"/> shows the normal state of the working "
  1.2282 +"directory, where it has a single changeset as parent.  That changeset is the "
  1.2283 +"<emphasis>tip</emphasis>, the newest changeset in the repository that has no "
  1.2284 +"children."
  1.2285 +msgstr ""
  1.2286 +
  1.2287 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.2288 +#: ../en/ch03-concepts.xml:357
  1.2289  msgid "The working directory gains new parents after a commit"
  1.2290  msgstr ""
  1.2291  
  1.2292 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2293 -#: ../en/ch03-concepts.xml:376
  1.2294 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.2295 +#: ../en/ch03-concepts.xml:360
  1.2296 +msgid ""
  1.2297 +"<imageobject><imagedata fileref=\"figs/wdir-after-commit.png\"/></imageobject>"
  1.2298 +msgstr ""
  1.2299 +
  1.2300 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2301 +#: ../en/ch03-concepts.xml:365
  1.2302  msgid ""
  1.2303  "It's useful to think of the working directory as <quote>the changeset I'm "
  1.2304  "about to commit</quote>.  Any files that you tell Mercurial that you've "
  1.2305 @@ -4689,23 +4697,22 @@
  1.2306  msgstr ""
  1.2307  
  1.2308  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2309 -#: ../en/ch03-concepts.xml:384
  1.2310 +#: ../en/ch03-concepts.xml:373
  1.2311  msgid ""
  1.2312  "After a commit, Mercurial will update the parents of the working directory, "
  1.2313  "so that the first parent is the ID of the new changeset, and the second is "
  1.2314 -"the null ID.  This is shown in figure <xref endterm=\"fig.concepts.wdir-after-"
  1.2315 -"commit.caption\" linkend=\"fig.concepts.wdir-after-commit\"/>.  Mercurial "
  1.2316 -"doesn't touch any of the files in the working directory when you commit; it "
  1.2317 -"just modifies the dirstate to note its new parents."
  1.2318 +"the null ID.  This is shown in <xref linkend=\"fig:concepts:wdir-after-commit"
  1.2319 +"\"/>. Mercurial doesn't touch any of the files in the working directory when "
  1.2320 +"you commit; it just modifies the dirstate to note its new parents."
  1.2321  msgstr ""
  1.2322  
  1.2323  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2324 -#: ../en/ch03-concepts.xml:396
  1.2325 +#: ../en/ch03-concepts.xml:384
  1.2326  msgid "Creating a new head"
  1.2327  msgstr "创建新顶点"
  1.2328  
  1.2329  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2330 -#: ../en/ch03-concepts.xml:398
  1.2331 +#: ../en/ch03-concepts.xml:386
  1.2332  msgid ""
  1.2333  "It's perfectly normal to update the working directory to a changeset other "
  1.2334  "than the current tip.  For example, you might want to know what your project "
  1.2335 @@ -4714,24 +4721,22 @@
  1.2336  "update the working directory to the changeset you're interested in, and then "
  1.2337  "examine the files in the working directory directly to see their contents as "
  1.2338  "they were when you committed that changeset.  The effect of this is shown in "
  1.2339 -"figure <xref endterm=\"fig.concepts.wdir-pre-branch.caption\" linkend=\"fig."
  1.2340 -"concepts.wdir-pre-branch\"/>."
  1.2341 -msgstr ""
  1.2342 -
  1.2343 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.2344 -#: ../en/ch03-concepts.xml:412
  1.2345 -msgid ""
  1.2346 -"<imageobject><imagedata fileref=\"images/wdir-pre-branch.png\"/> </"
  1.2347 -"imageobject>"
  1.2348 -msgstr ""
  1.2349 -
  1.2350 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.2351 -#: ../en/ch03-concepts.xml:415
  1.2352 +"<xref linkend=\"fig:concepts:wdir-pre-branch\"/>."
  1.2353 +msgstr ""
  1.2354 +
  1.2355 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.2356 +#: ../en/ch03-concepts.xml:398
  1.2357  msgid "The working directory, updated to an older changeset"
  1.2358  msgstr ""
  1.2359  
  1.2360 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2361 -#: ../en/ch03-concepts.xml:420
  1.2362 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.2363 +#: ../en/ch03-concepts.xml:401
  1.2364 +msgid ""
  1.2365 +"<imageobject><imagedata fileref=\"figs/wdir-pre-branch.png\"/></imageobject>"
  1.2366 +msgstr ""
  1.2367 +
  1.2368 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2369 +#: ../en/ch03-concepts.xml:406
  1.2370  msgid ""
  1.2371  "Having updated the working directory to an older changeset, what happens if "
  1.2372  "you make some changes, and then commit? Mercurial behaves in the same way as "
  1.2373 @@ -4739,23 +4744,21 @@
  1.2374  "the new changeset.  This new changeset has no children, so it becomes the new "
  1.2375  "tip.  And the repository now contains two changesets that have no children; "
  1.2376  "we call these <emphasis>heads</emphasis>.  You can see the structure that "
  1.2377 -"this creates in figure <xref endterm=\"fig.concepts.wdir-branch.caption\" "
  1.2378 -"linkend=\"fig.concepts.wdir-branch\"/>."
  1.2379 -msgstr ""
  1.2380 -
  1.2381 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.2382 -#: ../en/ch03-concepts.xml:434
  1.2383 -msgid ""
  1.2384 -"<imageobject><imagedata fileref=\"images/wdir-branch.png\"/> </imageobject>"
  1.2385 -msgstr ""
  1.2386 -
  1.2387 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.2388 -#: ../en/ch03-concepts.xml:437
  1.2389 +"this creates in <xref linkend=\"fig:concepts:wdir-branch\"/>."
  1.2390 +msgstr ""
  1.2391 +
  1.2392 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.2393 +#: ../en/ch03-concepts.xml:418
  1.2394  msgid "After a commit made while synced to an older changeset"
  1.2395  msgstr ""
  1.2396  
  1.2397 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.2398 +#: ../en/ch03-concepts.xml:421
  1.2399 +msgid "<imageobject><imagedata fileref=\"figs/wdir-branch.png\"/></imageobject>"
  1.2400 +msgstr ""
  1.2401 +
  1.2402  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.2403 -#: ../en/ch03-concepts.xml:443
  1.2404 +#: ../en/ch03-concepts.xml:427
  1.2405  msgid ""
  1.2406  "If you're new to Mercurial, you should keep in mind a common <quote>error</"
  1.2407  "quote>, which is to use the <command role=\"hg-cmd\">hg pull</command> "
  1.2408 @@ -4769,7 +4772,7 @@
  1.2409  msgstr ""
  1.2410  
  1.2411  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.2412 -#: ../en/ch03-concepts.xml:455
  1.2413 +#: ../en/ch03-concepts.xml:439
  1.2414  msgid ""
  1.2415  "I put the word <quote>error</quote> in quotes because all that you need to do "
  1.2416  "to rectify this situation is <command role=\"hg-cmd\">hg merge</command>, "
  1.2417 @@ -4780,33 +4783,32 @@
  1.2418  msgstr ""
  1.2419  
  1.2420  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2421 -#: ../en/ch03-concepts.xml:467
  1.2422 +#: ../en/ch03-concepts.xml:451
  1.2423  msgid "Merging heads"
  1.2424  msgstr "合并顶点"
  1.2425  
  1.2426  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2427 -#: ../en/ch03-concepts.xml:469
  1.2428 +#: ../en/ch03-concepts.xml:453
  1.2429  msgid ""
  1.2430  "When you run the <command role=\"hg-cmd\">hg merge</command> command, "
  1.2431  "Mercurial leaves the first parent of the working directory unchanged, and "
  1.2432  "sets the second parent to the changeset you're merging with, as shown in "
  1.2433 -"figure <xref endterm=\"fig.concepts.wdir-merge.caption\" linkend=\"fig."
  1.2434 -"concepts.wdir-merge\"/>."
  1.2435 -msgstr ""
  1.2436 -
  1.2437 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.2438 -#: ../en/ch03-concepts.xml:478
  1.2439 -msgid ""
  1.2440 -"<imageobject><imagedata fileref=\"images/wdir-merge.png\"/> </imageobject>"
  1.2441 -msgstr ""
  1.2442 -
  1.2443 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.2444 -#: ../en/ch03-concepts.xml:481
  1.2445 +"<xref linkend=\"fig:concepts:wdir-merge\"/>."
  1.2446 +msgstr ""
  1.2447 +
  1.2448 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.2449 +#: ../en/ch03-concepts.xml:460
  1.2450  msgid "Merging two heads"
  1.2451  msgstr ""
  1.2452  
  1.2453 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2454 -#: ../en/ch03-concepts.xml:486
  1.2455 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.2456 +#: ../en/ch03-concepts.xml:462
  1.2457 +msgid ""
  1.2458 +"<imageobject> <imagedata fileref=\"figs/wdir-merge.png\"/> </imageobject>"
  1.2459 +msgstr ""
  1.2460 +
  1.2461 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2462 +#: ../en/ch03-concepts.xml:469
  1.2463  msgid ""
  1.2464  "Mercurial also has to modify the working directory, to merge the files "
  1.2465  "managed in the two changesets.  Simplified a little, the merging process goes "
  1.2466 @@ -4814,33 +4816,33 @@
  1.2467  msgstr ""
  1.2468  
  1.2469  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2470 -#: ../en/ch03-concepts.xml:491
  1.2471 +#: ../en/ch03-concepts.xml:474
  1.2472  msgid "If neither changeset has modified a file, do nothing with that file."
  1.2473  msgstr ""
  1.2474  
  1.2475  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2476 -#: ../en/ch03-concepts.xml:494
  1.2477 +#: ../en/ch03-concepts.xml:477
  1.2478  msgid ""
  1.2479  "If one changeset has modified a file, and the other hasn't, create the "
  1.2480  "modified copy of the file in the working directory."
  1.2481  msgstr ""
  1.2482  
  1.2483  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2484 -#: ../en/ch03-concepts.xml:498
  1.2485 +#: ../en/ch03-concepts.xml:481
  1.2486  msgid ""
  1.2487  "If one changeset has removed a file, and the other hasn't (or has also "
  1.2488  "deleted it), delete the file from the working directory."
  1.2489  msgstr ""
  1.2490  
  1.2491  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2492 -#: ../en/ch03-concepts.xml:502
  1.2493 +#: ../en/ch03-concepts.xml:485
  1.2494  msgid ""
  1.2495  "If one changeset has removed a file, but the other has modified the file, ask "
  1.2496  "the user what to do: keep the modified file, or remove it?"
  1.2497  msgstr ""
  1.2498  
  1.2499  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2500 -#: ../en/ch03-concepts.xml:506
  1.2501 +#: ../en/ch03-concepts.xml:489
  1.2502  msgid ""
  1.2503  "If both changesets have modified a file, invoke an external merge program to "
  1.2504  "choose the new contents for the merged file.  This may require input from the "
  1.2505 @@ -4848,14 +4850,14 @@
  1.2506  msgstr ""
  1.2507  
  1.2508  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2509 -#: ../en/ch03-concepts.xml:511
  1.2510 +#: ../en/ch03-concepts.xml:494
  1.2511  msgid ""
  1.2512  "If one changeset has modified a file, and the other has renamed or copied the "
  1.2513  "file, make sure that the changes follow the new name of the file."
  1.2514  msgstr ""
  1.2515  
  1.2516  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2517 -#: ../en/ch03-concepts.xml:515
  1.2518 +#: ../en/ch03-concepts.xml:498
  1.2519  msgid ""
  1.2520  "There are more details&emdash;merging has plenty of corner cases&emdash;but "
  1.2521  "these are the most common choices that are involved in a merge.  As you can "
  1.2522 @@ -4864,7 +4866,7 @@
  1.2523  msgstr ""
  1.2524  
  1.2525  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2526 -#: ../en/ch03-concepts.xml:522
  1.2527 +#: ../en/ch03-concepts.xml:505
  1.2528  msgid ""
  1.2529  "When you're thinking about what happens when you commit after a merge, once "
  1.2530  "again the working directory is <quote>the changeset I'm about to commit</"
  1.2531 @@ -4874,7 +4876,7 @@
  1.2532  msgstr ""
  1.2533  
  1.2534  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2535 -#: ../en/ch03-concepts.xml:529
  1.2536 +#: ../en/ch03-concepts.xml:512
  1.2537  msgid ""
  1.2538  "Mercurial lets you perform multiple merges, but you must commit the results "
  1.2539  "of each individual merge as you go.  This is necessary because Mercurial only "
  1.2540 @@ -4885,12 +4887,12 @@
  1.2541  msgstr ""
  1.2542  
  1.2543  #. type: Content of: <book><chapter><sect1><title>
  1.2544 -#: ../en/ch03-concepts.xml:540
  1.2545 +#: ../en/ch03-concepts.xml:523
  1.2546  msgid "Other interesting design features"
  1.2547  msgstr "其它有趣的设计特性"
  1.2548  
  1.2549  #. type: Content of: <book><chapter><sect1><para>
  1.2550 -#: ../en/ch03-concepts.xml:542
  1.2551 +#: ../en/ch03-concepts.xml:525
  1.2552  msgid ""
  1.2553  "In the sections above, I've tried to highlight some of the most important "
  1.2554  "aspects of Mercurial's design, to illustrate that it pays careful attention "
  1.2555 @@ -4903,12 +4905,12 @@
  1.2556  msgstr ""
  1.2557  
  1.2558  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2559 -#: ../en/ch03-concepts.xml:553
  1.2560 +#: ../en/ch03-concepts.xml:536
  1.2561  msgid "Clever compression"
  1.2562  msgstr "智能压缩"
  1.2563  
  1.2564  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2565 -#: ../en/ch03-concepts.xml:555
  1.2566 +#: ../en/ch03-concepts.xml:538
  1.2567  msgid ""
  1.2568  "When appropriate, Mercurial will store both snapshots and deltas in "
  1.2569  "compressed form.  It does this by always <emphasis>trying to</emphasis> "
  1.2570 @@ -4917,7 +4919,7 @@
  1.2571  msgstr ""
  1.2572  
  1.2573  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2574 -#: ../en/ch03-concepts.xml:561
  1.2575 +#: ../en/ch03-concepts.xml:544
  1.2576  msgid ""
  1.2577  "This means that Mercurial does <quote>the right thing</quote> when storing a "
  1.2578  "file whose native form is compressed, such as a <literal>zip</literal> "
  1.2579 @@ -4927,7 +4929,7 @@
  1.2580  msgstr ""
  1.2581  
  1.2582  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2583 -#: ../en/ch03-concepts.xml:569
  1.2584 +#: ../en/ch03-concepts.xml:552
  1.2585  msgid ""
  1.2586  "Deltas between revisions of a compressed file are usually larger than "
  1.2587  "snapshots of the file, and Mercurial again does <quote>the right thing</"
  1.2588 @@ -4937,12 +4939,12 @@
  1.2589  msgstr ""
  1.2590  
  1.2591  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.2592 -#: ../en/ch03-concepts.xml:578
  1.2593 +#: ../en/ch03-concepts.xml:561
  1.2594  msgid "Network recompression"
  1.2595  msgstr "网络重新压缩"
  1.2596  
  1.2597  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2598 -#: ../en/ch03-concepts.xml:580
  1.2599 +#: ../en/ch03-concepts.xml:563
  1.2600  msgid ""
  1.2601  "When storing revisions on disk, Mercurial uses the <quote>deflate</quote> "
  1.2602  "compression algorithm (the same one used by the popular <literal>zip</"
  1.2603 @@ -4952,7 +4954,7 @@
  1.2604  msgstr ""
  1.2605  
  1.2606  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2607 -#: ../en/ch03-concepts.xml:588
  1.2608 +#: ../en/ch03-concepts.xml:571
  1.2609  msgid ""
  1.2610  "If the connection is over HTTP, Mercurial recompresses the entire stream of "
  1.2611  "data using a compression algorithm that gives a better compression ratio (the "
  1.2612 @@ -4964,7 +4966,7 @@
  1.2613  msgstr ""
  1.2614  
  1.2615  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2616 -#: ../en/ch03-concepts.xml:598
  1.2617 +#: ../en/ch03-concepts.xml:581
  1.2618  msgid ""
  1.2619  "(If the connection is over <command>ssh</command>, Mercurial "
  1.2620  "<emphasis>doesn't</emphasis> recompress the stream, because <command>ssh</"
  1.2621 @@ -4972,22 +4974,22 @@
  1.2622  msgstr ""
  1.2623  
  1.2624  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2625 -#: ../en/ch03-concepts.xml:606
  1.2626 +#: ../en/ch03-concepts.xml:589
  1.2627  msgid "Read/write ordering and atomicity"
  1.2628  msgstr "读写顺序与原子性"
  1.2629  
  1.2630  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2631 -#: ../en/ch03-concepts.xml:608
  1.2632 +#: ../en/ch03-concepts.xml:591
  1.2633  msgid ""
  1.2634  "Appending to files isn't the whole story when it comes to guaranteeing that a "
  1.2635 -"reader won't see a partial write.  If you recall figure <xref endterm=\"fig."
  1.2636 -"concepts.metadata.caption\" linkend=\"fig.concepts.metadata\"/>, revisions in "
  1.2637 -"the changelog point to revisions in the manifest, and revisions in the "
  1.2638 -"manifest point to revisions in filelogs.  This hierarchy is deliberate."
  1.2639 -msgstr ""
  1.2640 -
  1.2641 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2642 -#: ../en/ch03-concepts.xml:616
  1.2643 +"reader won't see a partial write.  If you recall <xref linkend=\"fig:concepts:"
  1.2644 +"metadata\"/>, revisions in the changelog point to revisions in the manifest, "
  1.2645 +"and revisions in the manifest point to revisions in filelogs.  This hierarchy "
  1.2646 +"is deliberate."
  1.2647 +msgstr ""
  1.2648 +
  1.2649 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2650 +#: ../en/ch03-concepts.xml:599
  1.2651  msgid ""
  1.2652  "A writer starts a transaction by writing filelog and manifest data, and "
  1.2653  "doesn't write any changelog data until those are finished.  A reader starts "
  1.2654 @@ -4995,7 +4997,7 @@
  1.2655  msgstr ""
  1.2656  
  1.2657  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2658 -#: ../en/ch03-concepts.xml:621
  1.2659 +#: ../en/ch03-concepts.xml:604
  1.2660  msgid ""
  1.2661  "Since the writer has always finished writing filelog and manifest data before "
  1.2662  "it writes to the changelog, a reader will never read a pointer to a partially "
  1.2663 @@ -5004,12 +5006,12 @@
  1.2664  msgstr ""
  1.2665  
  1.2666  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2667 -#: ../en/ch03-concepts.xml:629
  1.2668 +#: ../en/ch03-concepts.xml:612
  1.2669  msgid "Concurrent access"
  1.2670  msgstr "并发访问"
  1.2671  
  1.2672  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2673 -#: ../en/ch03-concepts.xml:631
  1.2674 +#: ../en/ch03-concepts.xml:614
  1.2675  msgid ""
  1.2676  "The read/write ordering and atomicity guarantees mean that Mercurial never "
  1.2677  "needs to <emphasis>lock</emphasis> a repository when it's reading data, even "
  1.2678 @@ -5020,7 +5022,7 @@
  1.2679  msgstr ""
  1.2680  
  1.2681  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2682 -#: ../en/ch03-concepts.xml:640
  1.2683 +#: ../en/ch03-concepts.xml:623
  1.2684  msgid ""
  1.2685  "The lockless nature of reading means that if you're sharing a repository on a "
  1.2686  "multi-user system, you don't need to grant other local users permission to "
  1.2687 @@ -5034,7 +5036,7 @@
  1.2688  msgstr ""
  1.2689  
  1.2690  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2691 -#: ../en/ch03-concepts.xml:653
  1.2692 +#: ../en/ch03-concepts.xml:636
  1.2693  msgid ""
  1.2694  "Mercurial uses locks to ensure that only one process can write to a "
  1.2695  "repository at a time (the locking mechanism is safe even over filesystems "
  1.2696 @@ -5048,12 +5050,12 @@
  1.2697  msgstr ""
  1.2698  
  1.2699  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.2700 -#: ../en/ch03-concepts.xml:665
  1.2701 +#: ../en/ch03-concepts.xml:648
  1.2702  msgid "Safe dirstate access"
  1.2703  msgstr "安全的目录状态访问"
  1.2704  
  1.2705  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2706 -#: ../en/ch03-concepts.xml:667
  1.2707 +#: ../en/ch03-concepts.xml:650
  1.2708  msgid ""
  1.2709  "As with revision data, Mercurial doesn't take a lock to read the dirstate "
  1.2710  "file; it does acquire a lock to write it.  To avoid the possibility of "
  1.2711 @@ -5065,12 +5067,12 @@
  1.2712  msgstr ""
  1.2713  
  1.2714  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2715 -#: ../en/ch03-concepts.xml:680
  1.2716 +#: ../en/ch03-concepts.xml:663
  1.2717  msgid "Avoiding seeks"
  1.2718  msgstr "避免查找"
  1.2719  
  1.2720  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2721 -#: ../en/ch03-concepts.xml:682
  1.2722 +#: ../en/ch03-concepts.xml:665
  1.2723  msgid ""
  1.2724  "Critical to Mercurial's performance is the avoidance of seeks of the disk "
  1.2725  "head, since any seek is far more expensive than even a comparatively large "
  1.2726 @@ -5078,7 +5080,7 @@
  1.2727  msgstr ""
  1.2728  
  1.2729  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2730 -#: ../en/ch03-concepts.xml:686
  1.2731 +#: ../en/ch03-concepts.xml:669
  1.2732  msgid ""
  1.2733  "This is why, for example, the dirstate is stored in a single file.  If there "
  1.2734  "were a dirstate file per directory that Mercurial tracked, the disk would "
  1.2735 @@ -5087,7 +5089,7 @@
  1.2736  msgstr ""
  1.2737  
  1.2738  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2739 -#: ../en/ch03-concepts.xml:692
  1.2740 +#: ../en/ch03-concepts.xml:675
  1.2741  msgid ""
  1.2742  "Mercurial also uses a <quote>copy on write</quote> scheme when cloning a "
  1.2743  "repository on local storage.  Instead of copying every revlog file from the "
  1.2744 @@ -5100,7 +5102,7 @@
  1.2745  msgstr ""
  1.2746  
  1.2747  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2748 -#: ../en/ch03-concepts.xml:703
  1.2749 +#: ../en/ch03-concepts.xml:686
  1.2750  msgid ""
  1.2751  "A few revision control developers have pointed out that this idea of making a "
  1.2752  "complete private copy of a file is not very efficient in its use of storage.  "
  1.2753 @@ -5112,12 +5114,12 @@
  1.2754  msgstr ""
  1.2755  
  1.2756  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2757 -#: ../en/ch03-concepts.xml:715
  1.2758 +#: ../en/ch03-concepts.xml:698
  1.2759  msgid "Other contents of the dirstate"
  1.2760  msgstr "目录状态的其它内容"
  1.2761  
  1.2762  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2763 -#: ../en/ch03-concepts.xml:717
  1.2764 +#: ../en/ch03-concepts.xml:700
  1.2765  msgid ""
  1.2766  "Because Mercurial doesn't force you to tell it when you're modifying a file, "
  1.2767  "it uses the dirstate to store some extra information so it can determine "
  1.2768 @@ -5127,7 +5129,7 @@
  1.2769  msgstr ""
  1.2770  
  1.2771  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2772 -#: ../en/ch03-concepts.xml:724
  1.2773 +#: ../en/ch03-concepts.xml:707
  1.2774  msgid ""
  1.2775  "When you explicitly <command role=\"hg-cmd\">hg add</command>, <command role="
  1.2776  "\"hg-cmd\">hg remove</command>, <command role=\"hg-cmd\">hg rename</command> "
  1.2777 @@ -5136,7 +5138,7 @@
  1.2778  msgstr ""
  1.2779  
  1.2780  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2781 -#: ../en/ch03-concepts.xml:731
  1.2782 +#: ../en/ch03-concepts.xml:714
  1.2783  msgid ""
  1.2784  "When Mercurial is checking the states of files in the working directory, it "
  1.2785  "first checks a file's modification time.  If that has not changed, the file "
  1.2786 @@ -5572,9 +5574,9 @@
  1.2787  "propagating changes across copies is not for you, simply use your system's "
  1.2788  "normal file copy command (on Unix-like systems, that's <command>cp</command>) "
  1.2789  "to make a copy of a file, then <command role=\"hg-cmd\">hg add</command> the "
  1.2790 -"new copy by hand.  Before you do so, though, please do reread section <xref "
  1.2791 -"linkend=\"sec.daily.why-copy\"/>, and make an informed decision that this "
  1.2792 -"behaviour is not appropriate to your specific case."
  1.2793 +"new copy by hand.  Before you do so, though, please do reread <xref linkend="
  1.2794 +"\"sec:daily:why-copy\"/>, and make an informed decision that this behaviour "
  1.2795 +"is not appropriate to your specific case."
  1.2796  msgstr ""
  1.2797  
  1.2798  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2799 @@ -5830,7 +5832,7 @@
  1.2800  msgid ""
  1.2801  "For more information about the <command role=\"hg-cmd\">hg revert</command> "
  1.2802  "command, and details about how to deal with changes you have already "
  1.2803 -"committed, see chapter <xref linkend=\"chap.undo\"/>."
  1.2804 +"committed, see <xref linkend=\"chap:undo\"/>."
  1.2805  msgstr ""
  1.2806  
  1.2807  #. type: Content of: <book><chapter><title>
  1.2808 @@ -5904,12 +5906,12 @@
  1.2809  "If you're interested in providing a web interface to your own repositories, "
  1.2810  "Mercurial provides two ways to do this.  The first is using the <command role="
  1.2811  "\"hg-cmd\">hg serve</command> command, which is best suited to short-term "
  1.2812 -"<quote>lightweight</quote> serving.  See section <xref linkend=\"sec.collab."
  1.2813 -"serve\"/> below for details of how to use this command.  If you have a long-"
  1.2814 -"lived repository that you'd like to make permanently available, Mercurial has "
  1.2815 -"built-in support for the CGI (Common Gateway Interface) standard, which all "
  1.2816 -"common web servers support.  See section <xref linkend=\"sec.collab.cgi\"/> "
  1.2817 -"for details of CGI configuration."
  1.2818 +"<quote>lightweight</quote> serving.  See <xref linkend=\"sec:collab:serve\"/> "
  1.2819 +"below for details of how to use this command.  If you have a long-lived "
  1.2820 +"repository that you'd like to make permanently available, Mercurial has built-"
  1.2821 +"in support for the CGI (Common Gateway Interface) standard, which all common "
  1.2822 +"web servers support.  See <xref linkend=\"sec:collab:cgi\"/> for details of "
  1.2823 +"CGI configuration."
  1.2824  msgstr ""
  1.2825  
  1.2826  #. type: Content of: <book><chapter><sect1><title>
  1.2827 @@ -5999,13 +6001,13 @@
  1.2828  "A sprint is the perfect place to use the <command role=\"hg-cmd\">hg serve</"
  1.2829  "command> command, since <command role=\"hg-cmd\">hg serve</command> does not "
  1.2830  "require any fancy server infrastructure.  You can get started with <command "
  1.2831 -"role=\"hg-cmd\">hg serve</command> in moments, by reading section <xref "
  1.2832 -"linkend=\"sec.collab.serve\"/> below.  Then simply tell the person next to "
  1.2833 -"you that you're running a server, send the URL to them in an instant message, "
  1.2834 -"and you immediately have a quick-turnaround way to work together.  They can "
  1.2835 -"type your URL into their web browser and quickly review your changes; or they "
  1.2836 -"can pull a bugfix from you and verify it; or they can clone a branch "
  1.2837 -"containing a new feature and try it out."
  1.2838 +"role=\"hg-cmd\">hg serve</command> in moments, by reading <xref linkend=\"sec:"
  1.2839 +"collab:serve\"/> below.  Then simply tell the person next to you that you're "
  1.2840 +"running a server, send the URL to them in an instant message, and you "
  1.2841 +"immediately have a quick-turnaround way to work together.  They can type your "
  1.2842 +"URL into their web browser and quickly review your changes; or they can pull "
  1.2843 +"a bugfix from you and verify it; or they can clone a branch containing a new "
  1.2844 +"feature and try it out."
  1.2845  msgstr ""
  1.2846  
  1.2847  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2848 @@ -6059,20 +6061,20 @@
  1.2849  msgid ""
  1.2850  "In this kind of scenario, people usually use the <command>ssh</command> "
  1.2851  "protocol to securely push changes to the central repository, as documented in "
  1.2852 -"section <xref linkend=\"sec.collab.ssh\"/>.  It's also usual to publish a "
  1.2853 -"read-only copy of the repository over HTTP using CGI, as in section <xref "
  1.2854 -"linkend=\"sec.collab.cgi\"/>.  Publishing over HTTP satisfies the needs of "
  1.2855 -"people who don't have push access, and those who want to use web browsers to "
  1.2856 -"browse the repository's history."
  1.2857 +"<xref linkend=\"sec:collab:ssh\"/>.  It's also usual to publish a read-only "
  1.2858 +"copy of the repository over HTTP using CGI, as in <xref linkend=\"sec:collab:"
  1.2859 +"cgi\"/>. Publishing over HTTP satisfies the needs of people who don't have "
  1.2860 +"push access, and those who want to use web browsers to browse the "
  1.2861 +"repository's history."
  1.2862  msgstr ""
  1.2863  
  1.2864  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2865 -#: ../en/ch05-collab.xml:178
  1.2866 +#: ../en/ch05-collab.xml:177
  1.2867  msgid "Working with multiple branches"
  1.2868  msgstr "使用多个分支工作"
  1.2869  
  1.2870  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2871 -#: ../en/ch05-collab.xml:180
  1.2872 +#: ../en/ch05-collab.xml:179
  1.2873  msgid ""
  1.2874  "Projects of any significant size naturally tend to make progress on several "
  1.2875  "fronts simultaneously.  In the case of software, it's common for a project to "
  1.2876 @@ -6086,7 +6088,7 @@
  1.2877  msgstr ""
  1.2878  
  1.2879  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2880 -#: ../en/ch05-collab.xml:193
  1.2881 +#: ../en/ch05-collab.xml:192
  1.2882  msgid ""
  1.2883  "Mercurial is particularly well suited to managing a number of simultaneous, "
  1.2884  "but not identical, branches.  Each <quote>development direction</quote> can "
  1.2885 @@ -6097,19 +6099,19 @@
  1.2886  msgstr ""
  1.2887  
  1.2888  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2889 -#: ../en/ch05-collab.xml:202
  1.2890 +#: ../en/ch05-collab.xml:201
  1.2891  msgid ""
  1.2892  "Here's an example of how this can work in practice.  Let's say you have one "
  1.2893  "<quote>main branch</quote> on a central server."
  1.2894  msgstr ""
  1.2895  
  1.2896  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2897 -#: ../en/ch05-collab.xml:208
  1.2898 +#: ../en/ch05-collab.xml:207
  1.2899  msgid "People clone it, make changes locally, test them, and push them back."
  1.2900  msgstr ""
  1.2901  
  1.2902  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2903 -#: ../en/ch05-collab.xml:211
  1.2904 +#: ../en/ch05-collab.xml:210
  1.2905  msgid ""
  1.2906  "Once the main branch reaches a release milestone, you can use the <command "
  1.2907  "role=\"hg-cmd\">hg tag</command> command to give a permanent name to the "
  1.2908 @@ -6117,12 +6119,12 @@
  1.2909  msgstr ""
  1.2910  
  1.2911  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2912 -#: ../en/ch05-collab.xml:217
  1.2913 +#: ../en/ch05-collab.xml:216
  1.2914  msgid "Let's say some ongoing development occurs on the main branch."
  1.2915  msgstr ""
  1.2916  
  1.2917  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2918 -#: ../en/ch05-collab.xml:222
  1.2919 +#: ../en/ch05-collab.xml:221
  1.2920  msgid ""
  1.2921  "Using the tag that was recorded at the milestone, people who clone that "
  1.2922  "repository at any time in the future can use <command role=\"hg-cmd\">hg "
  1.2923 @@ -6132,7 +6134,7 @@
  1.2924  
  1.2925  #
  1.2926  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2927 -#: ../en/ch05-collab.xml:230
  1.2928 +#: ../en/ch05-collab.xml:229
  1.2929  msgid ""
  1.2930  "In addition, immediately after the main branch is tagged, someone can then "
  1.2931  "clone the main branch on the server to a new <quote>stable</quote> branch, "
  1.2932 @@ -6140,7 +6142,7 @@
  1.2933  msgstr ""
  1.2934  
  1.2935  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2936 -#: ../en/ch05-collab.xml:236
  1.2937 +#: ../en/ch05-collab.xml:235
  1.2938  msgid ""
  1.2939  "Someone who needs to make a change to the stable branch can then clone "
  1.2940  "<emphasis>that</emphasis> repository, make their changes, commit, and push "
  1.2941 @@ -6148,7 +6150,7 @@
  1.2942  msgstr ""
  1.2943  
  1.2944  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2945 -#: ../en/ch05-collab.xml:242
  1.2946 +#: ../en/ch05-collab.xml:241
  1.2947  msgid ""
  1.2948  "Because Mercurial repositories are independent, and Mercurial doesn't move "
  1.2949  "changes around automatically, the stable and main branches are "
  1.2950 @@ -6158,7 +6160,7 @@
  1.2951  msgstr ""
  1.2952  
  1.2953  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2954 -#: ../en/ch05-collab.xml:249
  1.2955 +#: ../en/ch05-collab.xml:248
  1.2956  msgid ""
  1.2957  "You'll often want all of your bugfixes on the stable branch to show up on the "
  1.2958  "main branch, too.  Rather than rewrite a bugfix on the main branch, you can "
  1.2959 @@ -6167,20 +6169,20 @@
  1.2960  msgstr ""
  1.2961  
  1.2962  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2963 -#: ../en/ch05-collab.xml:257
  1.2964 +#: ../en/ch05-collab.xml:256
  1.2965  msgid ""
  1.2966  "The main branch will still contain changes that are not on the stable branch, "
  1.2967  "but it will also contain all of the bugfixes from the stable branch.  The "
  1.2968  "stable branch remains unaffected by these changes."
  1.2969  msgstr ""
  1.2970  
  1.2971 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.2972 -#: ../en/ch05-collab.xml:264 ../en/ch05-collab.xml:278
  1.2973 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.2974 +#: ../en/ch05-collab.xml:263 ../en/ch05-collab.xml:273
  1.2975  msgid "Feature branches"
  1.2976  msgstr "特性分支"
  1.2977  
  1.2978  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2979 -#: ../en/ch05-collab.xml:266
  1.2980 +#: ../en/ch05-collab.xml:265
  1.2981  msgid ""
  1.2982  "For larger projects, an effective way to manage change is to break up a team "
  1.2983  "into smaller groups.  Each group has a shared branch of its own, cloned from "
  1.2984 @@ -6189,15 +6191,15 @@
  1.2985  "developments on other branches."
  1.2986  msgstr ""
  1.2987  
  1.2988 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.2989 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.2990  #: ../en/ch05-collab.xml:275
  1.2991  msgid ""
  1.2992 -"<imageobject><imagedata fileref=\"images/feature-branches.png\"/> </"
  1.2993 -"imageobject>"
  1.2994 -msgstr ""
  1.2995 -
  1.2996 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2997 -#: ../en/ch05-collab.xml:283
  1.2998 +"<imageobject><imagedata width=\"100%\" fileref=\"figs/feature-branches.png\"/"
  1.2999 +"></imageobject>"
  1.3000 +msgstr ""
  1.3001 +
  1.3002 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.3003 +#: ../en/ch05-collab.xml:280
  1.3004  msgid ""
  1.3005  "When a particular feature is deemed to be in suitable shape, someone on that "
  1.3006  "feature team pulls and merges from the master branch into the feature branch, "
  1.3007 @@ -6205,12 +6207,12 @@
  1.3008  msgstr ""
  1.3009  
  1.3010  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3011 -#: ../en/ch05-collab.xml:290
  1.3012 +#: ../en/ch05-collab.xml:287
  1.3013  msgid "The release train"
  1.3014  msgstr "发布列车"
  1.3015  
  1.3016  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3017 -#: ../en/ch05-collab.xml:292
  1.3018 +#: ../en/ch05-collab.xml:289
  1.3019  msgid ""
  1.3020  "Some projects are organised on a <quote>train</quote> basis: a release is "
  1.3021  "scheduled to happen every few months, and whatever features are ready when "
  1.3022 @@ -6218,7 +6220,7 @@
  1.3023  msgstr ""
  1.3024  
  1.3025  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3026 -#: ../en/ch05-collab.xml:297
  1.3027 +#: ../en/ch05-collab.xml:294
  1.3028  msgid ""
  1.3029  "This model resembles working with feature branches.  The difference is that "
  1.3030  "when a feature branch misses a train, someone on the feature team pulls and "
  1.3031 @@ -6228,12 +6230,12 @@
  1.3032  msgstr ""
  1.3033  
  1.3034  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3035 -#: ../en/ch05-collab.xml:306
  1.3036 +#: ../en/ch05-collab.xml:303
  1.3037  msgid "The Linux kernel model"
  1.3038  msgstr "Linux 内核模型"
  1.3039  
  1.3040  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3041 -#: ../en/ch05-collab.xml:308
  1.3042 +#: ../en/ch05-collab.xml:305
  1.3043  msgid ""
  1.3044  "The development of the Linux kernel has a shallow hierarchical structure, "
  1.3045  "surrounded by a cloud of apparent chaos.  Because most Linux developers use "
  1.3046 @@ -6243,7 +6245,7 @@
  1.3047  msgstr ""
  1.3048  
  1.3049  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3050 -#: ../en/ch05-collab.xml:316
  1.3051 +#: ../en/ch05-collab.xml:313
  1.3052  msgid ""
  1.3053  "At the center of the community sits Linus Torvalds, the creator of Linux.  He "
  1.3054  "publishes a single source repository that is considered the "
  1.3055 @@ -6253,7 +6255,7 @@
  1.3056  msgstr ""
  1.3057  
  1.3058  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3059 -#: ../en/ch05-collab.xml:323
  1.3060 +#: ../en/ch05-collab.xml:320
  1.3061  msgid ""
  1.3062  "Linus has a number of <quote>trusted lieutenants</quote>.  As a general rule, "
  1.3063  "he pulls whatever changes they publish, in most cases without even reviewing "
  1.3064 @@ -6267,7 +6269,7 @@
  1.3065  msgstr ""
  1.3066  
  1.3067  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3068 -#: ../en/ch05-collab.xml:335
  1.3069 +#: ../en/ch05-collab.xml:332
  1.3070  msgid ""
  1.3071  "Individual lieutenants have their own approaches to reviewing, accepting, and "
  1.3072  "publishing changes; and for deciding when to feed them to Linus.  In "
  1.3073 @@ -6280,7 +6282,7 @@
  1.3074  msgstr ""
  1.3075  
  1.3076  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3077 -#: ../en/ch05-collab.xml:346
  1.3078 +#: ../en/ch05-collab.xml:343
  1.3079  msgid ""
  1.3080  "This model has two notable features.  The first is that it's <quote>pull "
  1.3081  "only</quote>.  You have to ask, convince, or beg another developer to take a "
  1.3082 @@ -6290,7 +6292,7 @@
  1.3083  msgstr ""
  1.3084  
  1.3085  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3086 -#: ../en/ch05-collab.xml:353
  1.3087 +#: ../en/ch05-collab.xml:350
  1.3088  msgid ""
  1.3089  "The second is that it's based on reputation and acclaim.  If you're an "
  1.3090  "unknown, Linus will probably ignore changes from you without even "
  1.3091 @@ -6304,7 +6306,7 @@
  1.3092  msgstr ""
  1.3093  
  1.3094  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3095 -#: ../en/ch05-collab.xml:364
  1.3096 +#: ../en/ch05-collab.xml:361
  1.3097  msgid ""
  1.3098  "Reputation and acclaim don't necessarily cross subsystem or <quote>people</"
  1.3099  "quote> boundaries.  If you're a respected but specialised storage hacker, and "
  1.3100 @@ -6313,7 +6315,7 @@
  1.3101  msgstr ""
  1.3102  
  1.3103  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3104 -#: ../en/ch05-collab.xml:371
  1.3105 +#: ../en/ch05-collab.xml:368
  1.3106  msgid ""
  1.3107  "To people who come from more orderly project backgrounds, the comparatively "
  1.3108  "chaotic Linux kernel development process often seems completely insane.  It's "
  1.3109 @@ -6323,12 +6325,12 @@
  1.3110  msgstr ""
  1.3111  
  1.3112  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3113 -#: ../en/ch05-collab.xml:381
  1.3114 +#: ../en/ch05-collab.xml:378
  1.3115  msgid "Pull-only versus shared-push collaboration"
  1.3116  msgstr "只读与共享写协作"
  1.3117  
  1.3118  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3119 -#: ../en/ch05-collab.xml:383
  1.3120 +#: ../en/ch05-collab.xml:380
  1.3121  msgid ""
  1.3122  "A perpetual source of heat in the open source community is whether a "
  1.3123  "development model in which people only ever pull changes from others is "
  1.3124 @@ -6337,7 +6339,7 @@
  1.3125  msgstr ""
  1.3126  
  1.3127  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3128 -#: ../en/ch05-collab.xml:389
  1.3129 +#: ../en/ch05-collab.xml:386
  1.3130  msgid ""
  1.3131  "Typically, the backers of the shared-push model use tools that actively "
  1.3132  "enforce this approach.  If you're using a centralised revision control tool "
  1.3133 @@ -6348,7 +6350,7 @@
  1.3134  msgstr ""
  1.3135  
  1.3136  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3137 -#: ../en/ch05-collab.xml:397
  1.3138 +#: ../en/ch05-collab.xml:394
  1.3139  msgid ""
  1.3140  "A good distributed revision control tool, such as Mercurial, will support "
  1.3141  "both models.  You and your collaborators can then structure how you work "
  1.3142 @@ -6357,41 +6359,40 @@
  1.3143  msgstr ""
  1.3144  
  1.3145  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3146 -#: ../en/ch05-collab.xml:405
  1.3147 +#: ../en/ch05-collab.xml:402
  1.3148  msgid "Where collaboration meets branch management"
  1.3149  msgstr "协作与分支管理"
  1.3150  
  1.3151  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3152 -#: ../en/ch05-collab.xml:407
  1.3153 +#: ../en/ch05-collab.xml:404
  1.3154  msgid ""
  1.3155  "Once you and your team set up some shared repositories and start propagating "
  1.3156  "changes back and forth between local and shared repos, you begin to face a "
  1.3157  "related, but slightly different challenge: that of managing the multiple "
  1.3158  "directions in which your team may be moving at once.  Even though this "
  1.3159  "subject is intimately related to how your team collaborates, it's dense "
  1.3160 -"enough to merit treatment of its own, in chapter <xref linkend=\"chap.branch"
  1.3161 -"\"/>."
  1.3162 +"enough to merit treatment of its own, in <xref linkend=\"chap:branch\"/>."
  1.3163  msgstr ""
  1.3164  
  1.3165  #. type: Content of: <book><chapter><sect1><title>
  1.3166 -#: ../en/ch05-collab.xml:419
  1.3167 +#: ../en/ch05-collab.xml:416
  1.3168  msgid "The technical side of sharing"
  1.3169  msgstr "共享的技术因素"
  1.3170  
  1.3171  #. type: Content of: <book><chapter><sect1><para>
  1.3172 -#: ../en/ch05-collab.xml:421
  1.3173 +#: ../en/ch05-collab.xml:418
  1.3174  msgid ""
  1.3175  "The remainder of this chapter is devoted to the question of serving data to "
  1.3176  "your collaborators."
  1.3177  msgstr ""
  1.3178  
  1.3179  #. type: Content of: <book><chapter><sect1><title>
  1.3180 -#: ../en/ch05-collab.xml:426
  1.3181 +#: ../en/ch05-collab.xml:423
  1.3182  msgid "Informal sharing with <command role=\"hg-cmd\">hg serve</command>"
  1.3183  msgstr "使用 <command role=\"hg-cmd\">hg serve</command> 进行非正式共享"
  1.3184  
  1.3185  #. type: Content of: <book><chapter><sect1><para>
  1.3186 -#: ../en/ch05-collab.xml:429
  1.3187 +#: ../en/ch05-collab.xml:426
  1.3188  msgid ""
  1.3189  "Mercurial's <command role=\"hg-cmd\">hg serve</command> command is "
  1.3190  "wonderfully suited to small, tight-knit, and fast-paced group environments.  "
  1.3191 @@ -6400,7 +6401,7 @@
  1.3192  msgstr ""
  1.3193  
  1.3194  #. type: Content of: <book><chapter><sect1><para>
  1.3195 -#: ../en/ch05-collab.xml:434
  1.3196 +#: ../en/ch05-collab.xml:431
  1.3197  msgid ""
  1.3198  "Run <command role=\"hg-cmd\">hg serve</command> inside a repository, and in "
  1.3199  "under a second it will bring up a specialised HTTP server; this will accept "
  1.3200 @@ -6413,21 +6414,21 @@
  1.3201  msgstr ""
  1.3202  
  1.3203  #. type: Content of: <book><chapter><sect1><para>
  1.3204 -#: ../en/ch05-collab.xml:445
  1.3205 +#: ../en/ch05-collab.xml:442
  1.3206  msgid ""
  1.3207  "The <command role=\"hg-cmd\">hg serve</command> command is <emphasis>not</"
  1.3208  "emphasis> a general-purpose web server. It can do only two things:"
  1.3209  msgstr ""
  1.3210  
  1.3211  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.3212 -#: ../en/ch05-collab.xml:449
  1.3213 +#: ../en/ch05-collab.xml:446
  1.3214  msgid ""
  1.3215  "Allow people to browse the history of the repository it's serving, from their "
  1.3216  "normal web browsers."
  1.3217  msgstr ""
  1.3218  
  1.3219  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.3220 -#: ../en/ch05-collab.xml:453
  1.3221 +#: ../en/ch05-collab.xml:450
  1.3222  msgid ""
  1.3223  "Speak Mercurial's wire protocol, so that people can <command role=\"hg-cmd"
  1.3224  "\">hg clone</command> or <command role=\"hg-cmd\">hg pull</command> changes "
  1.3225 @@ -6435,7 +6436,7 @@
  1.3226  msgstr ""
  1.3227  
  1.3228  #. type: Content of: <book><chapter><sect1><para>
  1.3229 -#: ../en/ch05-collab.xml:458
  1.3230 +#: ../en/ch05-collab.xml:455
  1.3231  msgid ""
  1.3232  "In particular, <command role=\"hg-cmd\">hg serve</command> won't allow remote "
  1.3233  "users to <emphasis>modify</emphasis> your repository.  It's intended for read-"
  1.3234 @@ -6443,7 +6444,7 @@
  1.3235  msgstr ""
  1.3236  
  1.3237  #. type: Content of: <book><chapter><sect1><para>
  1.3238 -#: ../en/ch05-collab.xml:462
  1.3239 +#: ../en/ch05-collab.xml:459
  1.3240  msgid ""
  1.3241  "If you're getting started with Mercurial, there's nothing to prevent you from "
  1.3242  "using <command role=\"hg-cmd\">hg serve</command> to serve up a repository on "
  1.3243 @@ -6454,12 +6455,12 @@
  1.3244  msgstr ""
  1.3245  
  1.3246  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3247 -#: ../en/ch05-collab.xml:472
  1.3248 +#: ../en/ch05-collab.xml:469
  1.3249  msgid "A few things to keep in mind"
  1.3250  msgstr "要牢记的几件事"
  1.3251  
  1.3252  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3253 -#: ../en/ch05-collab.xml:474
  1.3254 +#: ../en/ch05-collab.xml:471
  1.3255  msgid ""
  1.3256  "Because it provides unauthenticated read access to all clients, you should "
  1.3257  "only use <command role=\"hg-cmd\">hg serve</command> in an environment where "
  1.3258 @@ -6468,7 +6469,7 @@
  1.3259  msgstr ""
  1.3260  
  1.3261  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3262 -#: ../en/ch05-collab.xml:480
  1.3263 +#: ../en/ch05-collab.xml:477
  1.3264  msgid ""
  1.3265  "The <command role=\"hg-cmd\">hg serve</command> command knows nothing about "
  1.3266  "any firewall software you might have installed on your system or network.  It "
  1.3267 @@ -6479,7 +6480,7 @@
  1.3268  msgstr ""
  1.3269  
  1.3270  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3271 -#: ../en/ch05-collab.xml:489
  1.3272 +#: ../en/ch05-collab.xml:486
  1.3273  msgid ""
  1.3274  "By default, <command role=\"hg-cmd\">hg serve</command> listens for incoming "
  1.3275  "connections on port 8000.  If another process is already listening on the "
  1.3276 @@ -6488,7 +6489,7 @@
  1.3277  msgstr ""
  1.3278  
  1.3279  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3280 -#: ../en/ch05-collab.xml:495
  1.3281 +#: ../en/ch05-collab.xml:492
  1.3282  msgid ""
  1.3283  "Normally, when <command role=\"hg-cmd\">hg serve</command> starts, it prints "
  1.3284  "no output, which can be a bit unnerving.  If you'd like to confirm that it is "
  1.3285 @@ -6498,12 +6499,12 @@
  1.3286  msgstr ""
  1.3287  
  1.3288  #. type: Content of: <book><chapter><sect1><title>
  1.3289 -#: ../en/ch05-collab.xml:505
  1.3290 +#: ../en/ch05-collab.xml:502
  1.3291  msgid "Using the Secure Shell (ssh) protocol"
  1.3292  msgstr "使用 ssh 协议"
  1.3293  
  1.3294  #. type: Content of: <book><chapter><sect1><para>
  1.3295 -#: ../en/ch05-collab.xml:507
  1.3296 +#: ../en/ch05-collab.xml:504
  1.3297  msgid ""
  1.3298  "You can pull and push changes securely over a network connection using the "
  1.3299  "Secure Shell (<literal>ssh</literal>)  protocol.  To use this successfully, "
  1.3300 @@ -6512,7 +6513,7 @@
  1.3301  msgstr ""
  1.3302  
  1.3303  #. type: Content of: <book><chapter><sect1><para>
  1.3304 -#: ../en/ch05-collab.xml:512
  1.3305 +#: ../en/ch05-collab.xml:509
  1.3306  msgid ""
  1.3307  "If you're not familiar with ssh, it's a network protocol that lets you "
  1.3308  "securely communicate with another computer.  To use it with Mercurial, you'll "
  1.3309 @@ -6521,46 +6522,46 @@
  1.3310  msgstr ""
  1.3311  
  1.3312  #. type: Content of: <book><chapter><sect1><para>
  1.3313 -#: ../en/ch05-collab.xml:518
  1.3314 +#: ../en/ch05-collab.xml:515
  1.3315  msgid ""
  1.3316  "(If you <emphasis>are</emphasis> familiar with ssh, you'll probably find some "
  1.3317  "of the material that follows to be elementary in nature.)"
  1.3318  msgstr ""
  1.3319  
  1.3320  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3321 -#: ../en/ch05-collab.xml:523
  1.3322 +#: ../en/ch05-collab.xml:520
  1.3323  msgid "How to read and write ssh URLs"
  1.3324  msgstr "如何读写 ssh 路径"
  1.3325  
  1.3326  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3327 +#: ../en/ch05-collab.xml:522
  1.3328 +msgid "An ssh URL tends to look like this:"
  1.3329 +msgstr ""
  1.3330 +
  1.3331 +#. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3332  #: ../en/ch05-collab.xml:525
  1.3333 -msgid "An ssh URL tends to look like this:"
  1.3334 +msgid ""
  1.3335 +"The <quote><literal>ssh://</literal></quote> part tells Mercurial to use the "
  1.3336 +"ssh protocol."
  1.3337  msgstr ""
  1.3338  
  1.3339  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3340  #: ../en/ch05-collab.xml:528
  1.3341  msgid ""
  1.3342 -"The <quote><literal>ssh://</literal></quote> part tells Mercurial to use the "
  1.3343 -"ssh protocol."
  1.3344 -msgstr ""
  1.3345 -
  1.3346 -#. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3347 -#: ../en/ch05-collab.xml:531
  1.3348 -msgid ""
  1.3349  "The <quote><literal>bos@</literal></quote> component indicates what username "
  1.3350  "to log into the server as.  You can leave this out if the remote username is "
  1.3351  "the same as your local username."
  1.3352  msgstr ""
  1.3353  
  1.3354  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3355 -#: ../en/ch05-collab.xml:536
  1.3356 +#: ../en/ch05-collab.xml:533
  1.3357  msgid ""
  1.3358  "The <quote><literal>hg.serpentine.com</literal></quote> gives the hostname of "
  1.3359  "the server to log into."
  1.3360  msgstr ""
  1.3361  
  1.3362  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3363 -#: ../en/ch05-collab.xml:540
  1.3364 +#: ../en/ch05-collab.xml:537
  1.3365  msgid ""
  1.3366  "The <quote>:22</quote> identifies the port number to connect to the server "
  1.3367  "on.  The default port is 22, so you only need to specify a colon and port "
  1.3368 @@ -6568,13 +6569,13 @@
  1.3369  msgstr ""
  1.3370  
  1.3371  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3372 -#: ../en/ch05-collab.xml:545
  1.3373 +#: ../en/ch05-collab.xml:542
  1.3374  msgid ""
  1.3375  "The remainder of the URL is the local path to the repository on the server."
  1.3376  msgstr ""
  1.3377  
  1.3378  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3379 -#: ../en/ch05-collab.xml:549
  1.3380 +#: ../en/ch05-collab.xml:546
  1.3381  msgid ""
  1.3382  "There's plenty of scope for confusion with the path component of ssh URLs, as "
  1.3383  "there is no standard way for tools to interpret it.  Some programs behave "
  1.3384 @@ -6584,7 +6585,7 @@
  1.3385  msgstr ""
  1.3386  
  1.3387  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3388 -#: ../en/ch05-collab.xml:556
  1.3389 +#: ../en/ch05-collab.xml:553
  1.3390  msgid ""
  1.3391  "Mercurial treats the path to a repository on the server as relative to the "
  1.3392  "remote user's home directory.  For example, if user <literal>foo</literal> on "
  1.3393 @@ -6595,7 +6596,7 @@
  1.3394  msgstr ""
  1.3395  
  1.3396  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3397 -#: ../en/ch05-collab.xml:565
  1.3398 +#: ../en/ch05-collab.xml:562
  1.3399  msgid ""
  1.3400  "If you want to specify a path relative to another user's home directory, you "
  1.3401  "can use a path that starts with a tilde character followed by the user's name "
  1.3402 @@ -6603,19 +6604,19 @@
  1.3403  msgstr ""
  1.3404  
  1.3405  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3406 -#: ../en/ch05-collab.xml:571
  1.3407 +#: ../en/ch05-collab.xml:568
  1.3408  msgid ""
  1.3409  "And if you really want to specify an <emphasis>absolute</emphasis> path on "
  1.3410  "the server, begin the path component with two slashes, as in this example."
  1.3411  msgstr ""
  1.3412  
  1.3413  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3414 -#: ../en/ch05-collab.xml:578
  1.3415 +#: ../en/ch05-collab.xml:575
  1.3416  msgid "Finding an ssh client for your system"
  1.3417  msgstr "为你的系统寻找 ssh 客户端"
  1.3418  
  1.3419  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3420 -#: ../en/ch05-collab.xml:580
  1.3421 +#: ../en/ch05-collab.xml:577
  1.3422  msgid ""
  1.3423  "Almost every Unix-like system comes with OpenSSH preinstalled.  If you're "
  1.3424  "using such a system, run <literal>which ssh</literal> to find out if the "
  1.3425 @@ -6626,28 +6627,28 @@
  1.3426  msgstr ""
  1.3427  
  1.3428  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3429 -#: ../en/ch05-collab.xml:588
  1.3430 +#: ../en/ch05-collab.xml:585
  1.3431  msgid ""
  1.3432  "On Windows, you'll first need to download a suitable ssh client.  There are "
  1.3433  "two alternatives."
  1.3434  msgstr ""
  1.3435  
  1.3436  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3437 -#: ../en/ch05-collab.xml:591
  1.3438 +#: ../en/ch05-collab.xml:588
  1.3439  msgid ""
  1.3440  "Simon Tatham's excellent PuTTY package <citation>web:putty</citation> "
  1.3441  "provides a complete suite of ssh client commands."
  1.3442  msgstr ""
  1.3443  
  1.3444  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3445 +#: ../en/ch05-collab.xml:592
  1.3446 +msgid ""
  1.3447 +"If you have a high tolerance for pain, you can use the Cygwin port of OpenSSH."
  1.3448 +msgstr ""
  1.3449 +
  1.3450 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.3451  #: ../en/ch05-collab.xml:595
  1.3452  msgid ""
  1.3453 -"If you have a high tolerance for pain, you can use the Cygwin port of OpenSSH."
  1.3454 -msgstr ""
  1.3455 -
  1.3456 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.3457 -#: ../en/ch05-collab.xml:598
  1.3458 -msgid ""
  1.3459  "In either case, you'll need to edit your <filename role=\"special\">hg.ini</"
  1.3460  "filename> file to tell Mercurial where to find the actual client command.  "
  1.3461  "For example, if you're using PuTTY, you'll need to use the <command>plink</"
  1.3462 @@ -6655,7 +6656,7 @@
  1.3463  msgstr ""
  1.3464  
  1.3465  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.3466 -#: ../en/ch05-collab.xml:608
  1.3467 +#: ../en/ch05-collab.xml:605
  1.3468  msgid ""
  1.3469  "The path to <command>plink</command> shouldn't contain any whitespace "
  1.3470  "characters, or Mercurial may not be able to run it correctly (so putting it "
  1.3471 @@ -6664,12 +6665,12 @@
  1.3472  msgstr ""
  1.3473  
  1.3474  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3475 -#: ../en/ch05-collab.xml:617
  1.3476 +#: ../en/ch05-collab.xml:614
  1.3477  msgid "Generating a key pair"
  1.3478  msgstr "产生密钥对"
  1.3479  
  1.3480  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3481 -#: ../en/ch05-collab.xml:619
  1.3482 +#: ../en/ch05-collab.xml:616
  1.3483  msgid ""
  1.3484  "To avoid the need to repetitively type a password every time you need to use "
  1.3485  "your ssh client, I recommend generating a key pair.  On a Unix-like system, "
  1.3486 @@ -6679,7 +6680,7 @@
  1.3487  msgstr ""
  1.3488  
  1.3489  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3490 -#: ../en/ch05-collab.xml:627
  1.3491 +#: ../en/ch05-collab.xml:624
  1.3492  msgid ""
  1.3493  "When you generate a key pair, it's usually <emphasis>highly</emphasis> "
  1.3494  "advisable to protect it with a passphrase.  (The only time that you might not "
  1.3495 @@ -6688,7 +6689,7 @@
  1.3496  msgstr ""
  1.3497  
  1.3498  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3499 -#: ../en/ch05-collab.xml:633
  1.3500 +#: ../en/ch05-collab.xml:630
  1.3501  msgid ""
  1.3502  "Simply generating a key pair isn't enough, however.  You'll need to add the "
  1.3503  "public key to the set of authorised keys for whatever user you're logging in "
  1.3504 @@ -6699,7 +6700,7 @@
  1.3505  msgstr ""
  1.3506  
  1.3507  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3508 -#: ../en/ch05-collab.xml:642
  1.3509 +#: ../en/ch05-collab.xml:639
  1.3510  msgid ""
  1.3511  "On a Unix-like system, your public key will have a <filename>.pub</filename> "
  1.3512  "extension.  If you're using <command>puttygen</command> on Windows, you can "
  1.3513 @@ -6709,12 +6710,12 @@
  1.3514  msgstr ""
  1.3515  
  1.3516  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3517 -#: ../en/ch05-collab.xml:651
  1.3518 +#: ../en/ch05-collab.xml:648
  1.3519  msgid "Using an authentication agent"
  1.3520  msgstr "使用认证代理"
  1.3521  
  1.3522  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3523 -#: ../en/ch05-collab.xml:653
  1.3524 +#: ../en/ch05-collab.xml:650
  1.3525  msgid ""
  1.3526  "An authentication agent is a daemon that stores passphrases in memory (so it "
  1.3527  "will forget passphrases if you log out and log back in again). An ssh client "
  1.3528 @@ -6726,7 +6727,7 @@
  1.3529  msgstr ""
  1.3530  
  1.3531  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3532 -#: ../en/ch05-collab.xml:662
  1.3533 +#: ../en/ch05-collab.xml:659
  1.3534  msgid ""
  1.3535  "The downside of storing passphrases in an agent is that it's possible for a "
  1.3536  "well-prepared attacker to recover the plain text of your passphrases, in some "
  1.3537 @@ -6736,7 +6737,7 @@
  1.3538  msgstr ""
  1.3539  
  1.3540  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3541 -#: ../en/ch05-collab.xml:669
  1.3542 +#: ../en/ch05-collab.xml:666
  1.3543  msgid ""
  1.3544  "On Unix-like systems, the agent is called <command>ssh-agent</command>, and "
  1.3545  "it's often run automatically for you when you log in.  You'll need to use the "
  1.3546 @@ -6747,12 +6748,12 @@
  1.3547  msgstr ""
  1.3548  
  1.3549  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3550 -#: ../en/ch05-collab.xml:680
  1.3551 +#: ../en/ch05-collab.xml:677
  1.3552  msgid "Configuring the server side properly"
  1.3553  msgstr "正确配置服务器端"
  1.3554  
  1.3555  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3556 -#: ../en/ch05-collab.xml:682
  1.3557 +#: ../en/ch05-collab.xml:679
  1.3558  msgid ""
  1.3559  "Because ssh can be fiddly to set up if you're new to it, there's a variety of "
  1.3560  "things that can go wrong.  Add Mercurial on top, and there's plenty more "
  1.3561 @@ -6762,7 +6763,7 @@
  1.3562  msgstr ""
  1.3563  
  1.3564  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3565 -#: ../en/ch05-collab.xml:690
  1.3566 +#: ../en/ch05-collab.xml:687
  1.3567  msgid ""
  1.3568  "Before you try using Mercurial to talk to an ssh server, it's best to make "
  1.3569  "sure that you can use the normal <command>ssh</command> or <command>putty</"
  1.3570 @@ -6775,7 +6776,7 @@
  1.3571  msgstr ""
  1.3572  
  1.3573  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3574 -#: ../en/ch05-collab.xml:701
  1.3575 +#: ../en/ch05-collab.xml:698
  1.3576  msgid ""
  1.3577  "The first thing to be sure of on the server side is that you can actually log "
  1.3578  "in from another machine at all.  If you can't use <command>ssh</command> or "
  1.3579 @@ -6784,7 +6785,7 @@
  1.3580  msgstr ""
  1.3581  
  1.3582  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3583 -#: ../en/ch05-collab.xml:708
  1.3584 +#: ../en/ch05-collab.xml:705
  1.3585  msgid ""
  1.3586  "If you get a <quote>connection refused</quote> error, either there isn't an "
  1.3587  "SSH daemon running on the server at all, or it's inaccessible due to firewall "
  1.3588 @@ -6792,7 +6793,7 @@
  1.3589  msgstr ""
  1.3590  
  1.3591  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3592 -#: ../en/ch05-collab.xml:713
  1.3593 +#: ../en/ch05-collab.xml:710
  1.3594  msgid ""
  1.3595  "If you get a <quote>no route to host</quote> error, you either have an "
  1.3596  "incorrect address for the server or a seriously locked down firewall that "
  1.3597 @@ -6800,7 +6801,7 @@
  1.3598  msgstr ""
  1.3599  
  1.3600  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3601 -#: ../en/ch05-collab.xml:718
  1.3602 +#: ../en/ch05-collab.xml:715
  1.3603  msgid ""
  1.3604  "If you get a <quote>permission denied</quote> error, you may have mistyped "
  1.3605  "the username on the server, or you could have mistyped your key's passphrase "
  1.3606 @@ -6808,7 +6809,7 @@
  1.3607  msgstr ""
  1.3608  
  1.3609  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3610 -#: ../en/ch05-collab.xml:723
  1.3611 +#: ../en/ch05-collab.xml:720
  1.3612  msgid ""
  1.3613  "In summary, if you're having trouble talking to the server's ssh daemon, "
  1.3614  "first make sure that one is running at all.  On many systems it will be "
  1.3615 @@ -6820,7 +6821,7 @@
  1.3616  msgstr ""
  1.3617  
  1.3618  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3619 -#: ../en/ch05-collab.xml:733
  1.3620 +#: ../en/ch05-collab.xml:730
  1.3621  msgid ""
  1.3622  "If you're using an authentication agent on the client side to store "
  1.3623  "passphrases for your keys, you ought to be able to log into the server "
  1.3624 @@ -6829,26 +6830,26 @@
  1.3625  msgstr ""
  1.3626  
  1.3627  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3628 -#: ../en/ch05-collab.xml:739
  1.3629 +#: ../en/ch05-collab.xml:736
  1.3630  msgid ""
  1.3631  "You might have forgotten to use <command>ssh-add</command> or "
  1.3632  "<command>pageant</command> to store the passphrase."
  1.3633  msgstr ""
  1.3634  
  1.3635  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3636 +#: ../en/ch05-collab.xml:740
  1.3637 +msgid "You might have stored the passphrase for the wrong key."
  1.3638 +msgstr ""
  1.3639 +
  1.3640 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.3641  #: ../en/ch05-collab.xml:743
  1.3642 -msgid "You might have stored the passphrase for the wrong key."
  1.3643 -msgstr ""
  1.3644 -
  1.3645 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.3646 -#: ../en/ch05-collab.xml:746
  1.3647  msgid ""
  1.3648  "If you're being prompted for the remote user's password, there are another "
  1.3649  "few possible problems to check."
  1.3650  msgstr ""
  1.3651  
  1.3652  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3653 -#: ../en/ch05-collab.xml:749
  1.3654 +#: ../en/ch05-collab.xml:746
  1.3655  msgid ""
  1.3656  "Either the user's home directory or their <filename role=\"special\" class="
  1.3657  "\"directory\">.ssh</filename> directory might have excessively liberal "
  1.3658 @@ -6859,7 +6860,7 @@
  1.3659  msgstr ""
  1.3660  
  1.3661  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3662 -#: ../en/ch05-collab.xml:758
  1.3663 +#: ../en/ch05-collab.xml:755
  1.3664  msgid ""
  1.3665  "The user's <filename role=\"special\">authorized_keys</filename> file may "
  1.3666  "have a problem. If anyone other than the user owns or can write to that file, "
  1.3667 @@ -6867,7 +6868,7 @@
  1.3668  msgstr ""
  1.3669  
  1.3670  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3671 -#: ../en/ch05-collab.xml:765
  1.3672 +#: ../en/ch05-collab.xml:762
  1.3673  msgid ""
  1.3674  "In the ideal world, you should be able to run the following command "
  1.3675  "successfully, and it should print exactly one line of output, the current "
  1.3676 @@ -6875,7 +6876,7 @@
  1.3677  msgstr ""
  1.3678  
  1.3679  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3680 -#: ../en/ch05-collab.xml:770
  1.3681 +#: ../en/ch05-collab.xml:767
  1.3682  msgid ""
  1.3683  "If, on your server, you have login scripts that print banners or other junk "
  1.3684  "even when running non-interactive commands like this, you should fix them "
  1.3685 @@ -6890,7 +6891,7 @@
  1.3686  msgstr ""
  1.3687  
  1.3688  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3689 -#: ../en/ch05-collab.xml:784
  1.3690 +#: ../en/ch05-collab.xml:781
  1.3691  msgid ""
  1.3692  "Once you've verified that plain old ssh is working with your server, the next "
  1.3693  "step is to ensure that Mercurial runs on the server.  The following command "
  1.3694 @@ -6898,7 +6899,7 @@
  1.3695  msgstr ""
  1.3696  
  1.3697  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3698 -#: ../en/ch05-collab.xml:791
  1.3699 +#: ../en/ch05-collab.xml:788
  1.3700  msgid ""
  1.3701  "If you see an error message instead of normal <command role=\"hg-cmd\">hg "
  1.3702  "version</command> output, this is usually because you haven't installed "
  1.3703 @@ -6908,21 +6909,21 @@
  1.3704  msgstr ""
  1.3705  
  1.3706  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3707 -#: ../en/ch05-collab.xml:798
  1.3708 +#: ../en/ch05-collab.xml:795
  1.3709  msgid ""
  1.3710  "Is Mercurial really installed on the server at all? I know this sounds "
  1.3711  "trivial, but it's worth checking!"
  1.3712  msgstr ""
  1.3713  
  1.3714  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3715 -#: ../en/ch05-collab.xml:802
  1.3716 +#: ../en/ch05-collab.xml:799
  1.3717  msgid ""
  1.3718  "Maybe your shell's search path (usually set via the <envar>PATH</envar> "
  1.3719  "environment variable) is simply misconfigured."
  1.3720  msgstr ""
  1.3721  
  1.3722  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3723 -#: ../en/ch05-collab.xml:806
  1.3724 +#: ../en/ch05-collab.xml:803
  1.3725  msgid ""
  1.3726  "Perhaps your <envar>PATH</envar> environment variable is only being set to "
  1.3727  "point to the location of the <command>hg</command> executable if the login "
  1.3728 @@ -6931,7 +6932,7 @@
  1.3729  msgstr ""
  1.3730  
  1.3731  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3732 -#: ../en/ch05-collab.xml:813
  1.3733 +#: ../en/ch05-collab.xml:810
  1.3734  msgid ""
  1.3735  "The <envar>PYTHONPATH</envar> environment variable may need to contain the "
  1.3736  "path to the Mercurial Python modules.  It might not be set at all; it could "
  1.3737 @@ -6939,7 +6940,7 @@
  1.3738  msgstr ""
  1.3739  
  1.3740  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3741 -#: ../en/ch05-collab.xml:820
  1.3742 +#: ../en/ch05-collab.xml:817
  1.3743  msgid ""
  1.3744  "If you can run <command role=\"hg-cmd\">hg version</command> over an ssh "
  1.3745  "connection, well done! You've got the server and client sorted out.  You "
  1.3746 @@ -6950,12 +6951,12 @@
  1.3747  msgstr ""
  1.3748  
  1.3749  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3750 -#: ../en/ch05-collab.xml:830
  1.3751 +#: ../en/ch05-collab.xml:827
  1.3752  msgid "Using compression with ssh"
  1.3753  msgstr "通过 ssh 使用压缩"
  1.3754  
  1.3755  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3756 -#: ../en/ch05-collab.xml:832
  1.3757 +#: ../en/ch05-collab.xml:829
  1.3758  msgid ""
  1.3759  "Mercurial does not compress data when it uses the ssh protocol, because the "
  1.3760  "ssh protocol can transparently compress data.  However, the default behaviour "
  1.3761 @@ -6963,7 +6964,7 @@
  1.3762  msgstr ""
  1.3763  
  1.3764  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3765 -#: ../en/ch05-collab.xml:837
  1.3766 +#: ../en/ch05-collab.xml:834
  1.3767  msgid ""
  1.3768  "Over any network other than a fast LAN (even a wireless network), using "
  1.3769  "compression is likely to significantly speed up Mercurial's network "
  1.3770 @@ -6973,7 +6974,7 @@
  1.3771  msgstr ""
  1.3772  
  1.3773  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3774 -#: ../en/ch05-collab.xml:844
  1.3775 +#: ../en/ch05-collab.xml:841
  1.3776  msgid ""
  1.3777  "Both <command>ssh</command> and <command>plink</command> accept a <option "
  1.3778  "role=\"cmd-opt-ssh\">-C</option> option which turns on compression.  You can "
  1.3779 @@ -6982,7 +6983,7 @@
  1.3780  msgstr ""
  1.3781  
  1.3782  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3783 -#: ../en/ch05-collab.xml:852
  1.3784 +#: ../en/ch05-collab.xml:849
  1.3785  msgid ""
  1.3786  "If you use <command>ssh</command>, you can configure it to always use "
  1.3787  "compression when talking to your server.  To do this, edit your <filename "
  1.3788 @@ -6991,7 +6992,7 @@
  1.3789  msgstr ""
  1.3790  
  1.3791  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3792 -#: ../en/ch05-collab.xml:860
  1.3793 +#: ../en/ch05-collab.xml:857
  1.3794  msgid ""
  1.3795  "This defines an alias, <literal>hg</literal>.  When you use it on the "
  1.3796  "<command>ssh</command> command line or in a Mercurial <literal>ssh</literal>-"
  1.3797 @@ -7001,19 +7002,19 @@
  1.3798  msgstr ""
  1.3799  
  1.3800  #. type: Content of: <book><chapter><sect1><title>
  1.3801 -#: ../en/ch05-collab.xml:871
  1.3802 +#: ../en/ch05-collab.xml:868
  1.3803  msgid "Serving over HTTP using CGI"
  1.3804  msgstr "使用 CGI 通过 HTTP 提供服务"
  1.3805  
  1.3806  #. type: Content of: <book><chapter><sect1><para>
  1.3807 -#: ../en/ch05-collab.xml:873
  1.3808 +#: ../en/ch05-collab.xml:870
  1.3809  msgid ""
  1.3810  "Depending on how ambitious you are, configuring Mercurial's CGI interface can "
  1.3811  "take anything from a few moments to several hours."
  1.3812  msgstr ""
  1.3813  
  1.3814  #. type: Content of: <book><chapter><sect1><para>
  1.3815 -#: ../en/ch05-collab.xml:877
  1.3816 +#: ../en/ch05-collab.xml:874
  1.3817  msgid ""
  1.3818  "We'll begin with the simplest of examples, and work our way towards a more "
  1.3819  "complex configuration.  Even for the most basic case, you're almost certainly "
  1.3820 @@ -7021,7 +7022,7 @@
  1.3821  msgstr ""
  1.3822  
  1.3823  #. type: Content of: <book><chapter><sect1><note><para>
  1.3824 -#: ../en/ch05-collab.xml:883
  1.3825 +#: ../en/ch05-collab.xml:880
  1.3826  msgid ""
  1.3827  "Configuring a web server is a complex, fiddly, and highly system-dependent "
  1.3828  "activity.  I can't possibly give you instructions that will cover anything "
  1.3829 @@ -7031,33 +7032,33 @@
  1.3830  msgstr ""
  1.3831  
  1.3832  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3833 -#: ../en/ch05-collab.xml:893
  1.3834 +#: ../en/ch05-collab.xml:890
  1.3835  msgid "Web server configuration checklist"
  1.3836  msgstr "Web 服务器配置检查表"
  1.3837  
  1.3838  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3839 -#: ../en/ch05-collab.xml:895
  1.3840 +#: ../en/ch05-collab.xml:892
  1.3841  msgid ""
  1.3842  "Before you continue, do take a few moments to check a few aspects of your "
  1.3843  "system's setup."
  1.3844  msgstr ""
  1.3845  
  1.3846  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3847 -#: ../en/ch05-collab.xml:899
  1.3848 +#: ../en/ch05-collab.xml:896
  1.3849  msgid ""
  1.3850  "Do you have a web server installed at all? Mac OS X ships with Apache, but "
  1.3851  "many other systems may not have a web server installed."
  1.3852  msgstr ""
  1.3853  
  1.3854  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3855 -#: ../en/ch05-collab.xml:903
  1.3856 +#: ../en/ch05-collab.xml:900
  1.3857  msgid ""
  1.3858  "If you have a web server installed, is it actually running? On most systems, "
  1.3859  "even if one is present, it will be disabled by default."
  1.3860  msgstr ""
  1.3861  
  1.3862  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3863 -#: ../en/ch05-collab.xml:907
  1.3864 +#: ../en/ch05-collab.xml:904
  1.3865  msgid ""
  1.3866  "Is your server configured to allow you to run CGI programs in the directory "
  1.3867  "where you plan to do so? Most servers default to explicitly disabling the "
  1.3868 @@ -7065,7 +7066,7 @@
  1.3869  msgstr ""
  1.3870  
  1.3871  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3872 -#: ../en/ch05-collab.xml:913
  1.3873 +#: ../en/ch05-collab.xml:910
  1.3874  msgid ""
  1.3875  "If you don't have a web server installed, and don't have substantial "
  1.3876  "experience configuring Apache, you should consider using the "
  1.3877 @@ -7078,12 +7079,12 @@
  1.3878  msgstr ""
  1.3879  
  1.3880  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3881 -#: ../en/ch05-collab.xml:926
  1.3882 +#: ../en/ch05-collab.xml:923
  1.3883  msgid "Basic CGI configuration"
  1.3884  msgstr "基本 CGI 配置"
  1.3885  
  1.3886  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3887 -#: ../en/ch05-collab.xml:928
  1.3888 +#: ../en/ch05-collab.xml:925
  1.3889  msgid ""
  1.3890  "On Unix-like systems, it's common for users to have a subdirectory named "
  1.3891  "something like <filename class=\"directory\">public_html</filename> in their "
  1.3892 @@ -7093,7 +7094,7 @@
  1.3893  msgstr ""
  1.3894  
  1.3895  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3896 -#: ../en/ch05-collab.xml:936
  1.3897 +#: ../en/ch05-collab.xml:933
  1.3898  msgid ""
  1.3899  "To get started, find the <filename role=\"special\">hgweb.cgi</filename> "
  1.3900  "script that should be present in your Mercurial installation.  If you can't "
  1.3901 @@ -7103,14 +7104,14 @@
  1.3902  msgstr ""
  1.3903  
  1.3904  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3905 -#: ../en/ch05-collab.xml:943 ../en/ch05-collab.xml:1112
  1.3906 +#: ../en/ch05-collab.xml:940 ../en/ch05-collab.xml:1109
  1.3907  msgid ""
  1.3908  "You'll need to copy this script into your <filename class=\"directory"
  1.3909  "\">public_html</filename> directory, and ensure that it's executable."
  1.3910  msgstr ""
  1.3911  
  1.3912  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3913 -#: ../en/ch05-collab.xml:948
  1.3914 +#: ../en/ch05-collab.xml:945
  1.3915  msgid ""
  1.3916  "The <literal>755</literal> argument to <command>chmod</command> is a little "
  1.3917  "more general than just making the script executable: it ensures that the "
  1.3918 @@ -7123,12 +7124,12 @@
  1.3919  msgstr ""
  1.3920  
  1.3921  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.3922 -#: ../en/ch05-collab.xml:962
  1.3923 +#: ../en/ch05-collab.xml:959
  1.3924  msgid "What could <emphasis>possibly</emphasis> go wrong?"
  1.3925  msgstr "什么<emphasis>可能</emphasis>会出错?"
  1.3926  
  1.3927  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3928 -#: ../en/ch05-collab.xml:965
  1.3929 +#: ../en/ch05-collab.xml:962
  1.3930  msgid ""
  1.3931  "Once you've copied the CGI script into place, go into a web browser, and try "
  1.3932  "to open the URL <ulink url=\"http://myhostname/ myuser/hgweb.cgi\">http://"
  1.3933 @@ -7142,7 +7143,7 @@
  1.3934  msgstr ""
  1.3935  
  1.3936  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3937 -#: ../en/ch05-collab.xml:979
  1.3938 +#: ../en/ch05-collab.xml:976
  1.3939  msgid ""
  1.3940  "Your web server may have per-user directories disabled.  If you're using "
  1.3941  "Apache, search your config file for a <literal>UserDir</literal> directive.  "
  1.3942 @@ -7155,7 +7156,7 @@
  1.3943  msgstr ""
  1.3944  
  1.3945  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3946 -#: ../en/ch05-collab.xml:990
  1.3947 +#: ../en/ch05-collab.xml:987
  1.3948  msgid ""
  1.3949  "Your file access permissions may be too restrictive.  The web server must be "
  1.3950  "able to traverse your home directory and directories under your <filename "
  1.3951 @@ -7165,7 +7166,7 @@
  1.3952  msgstr ""
  1.3953  
  1.3954  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3955 -#: ../en/ch05-collab.xml:1000
  1.3956 +#: ../en/ch05-collab.xml:997
  1.3957  msgid ""
  1.3958  "The other possibility with permissions is that you might get a completely "
  1.3959  "empty window when you try to load the script.  In this case, it's likely that "
  1.3960 @@ -7175,21 +7176,15 @@
  1.3961  msgstr ""
  1.3962  
  1.3963  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3964 -#: ../en/ch05-collab.xml:1007
  1.3965 +#: ../en/ch05-collab.xml:1004
  1.3966  msgid ""
  1.3967  "Your web server may be configured to disallow execution of CGI programs in "
  1.3968  "your per-user web directory.  Here's Apache's default per-user configuration "
  1.3969  "from my Fedora system."
  1.3970  msgstr ""
  1.3971  
  1.3972 -#. type: CDATA
  1.3973 -#: ../en/ch05-collab.xml:1012
  1.3974 -#, no-wrap
  1.3975 -msgid "&ch06-apache-config.lst;]]"
  1.3976 -msgstr ""
  1.3977 -
  1.3978  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3979 -#: ../en/ch05-collab.xml:1014
  1.3980 +#: ../en/ch05-collab.xml:1011
  1.3981  msgid ""
  1.3982  "If you find a similar-looking <literal>Directory</literal> group in your "
  1.3983  "Apache configuration, the directive to look at inside it is <literal>Options</"
  1.3984 @@ -7198,7 +7193,7 @@
  1.3985  msgstr ""
  1.3986  
  1.3987  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3988 -#: ../en/ch05-collab.xml:1021
  1.3989 +#: ../en/ch05-collab.xml:1018
  1.3990  msgid ""
  1.3991  "If you find that Apache serves you the text of the CGI script instead of "
  1.3992  "executing it, you may need to either uncomment (if already present) or add a "
  1.3993 @@ -7206,7 +7201,7 @@
  1.3994  msgstr ""
  1.3995  
  1.3996  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3997 -#: ../en/ch05-collab.xml:1027
  1.3998 +#: ../en/ch05-collab.xml:1024
  1.3999  msgid ""
  1.4000  "The next possibility is that you might be served with a colourful Python "
  1.4001  "backtrace claiming that it can't import a <literal>mercurial</literal>-"
  1.4002 @@ -7221,7 +7216,7 @@
  1.4003  msgstr ""
  1.4004  
  1.4005  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4006 -#: ../en/ch05-collab.xml:1041
  1.4007 +#: ../en/ch05-collab.xml:1038
  1.4008  msgid ""
  1.4009  "Finally, you are <emphasis>certain</emphasis> to by served with another "
  1.4010  "colourful Python backtrace: this one will complain that it can't find "
  1.4011 @@ -7232,19 +7227,19 @@
  1.4012  msgstr ""
  1.4013  
  1.4014  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4015 -#: ../en/ch05-collab.xml:1051
  1.4016 +#: ../en/ch05-collab.xml:1048
  1.4017  msgid ""
  1.4018  "At this point, when you try to reload the page, you should be presented with "
  1.4019  "a nice HTML view of your repository's history.  Whew!"
  1.4020  msgstr ""
  1.4021  
  1.4022  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.4023 -#: ../en/ch05-collab.xml:1057
  1.4024 +#: ../en/ch05-collab.xml:1054
  1.4025  msgid "Configuring lighttpd"
  1.4026  msgstr "配置 lighttpd"
  1.4027  
  1.4028  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4029 -#: ../en/ch05-collab.xml:1059
  1.4030 +#: ../en/ch05-collab.xml:1056
  1.4031  msgid ""
  1.4032  "To be exhaustive in my experiments, I tried configuring the increasingly "
  1.4033  "popular <literal>lighttpd</literal> web server to serve the same repository "
  1.4034 @@ -7255,7 +7250,7 @@
  1.4035  msgstr ""
  1.4036  
  1.4037  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4038 -#: ../en/ch05-collab.xml:1069
  1.4039 +#: ../en/ch05-collab.xml:1066
  1.4040  msgid ""
  1.4041  "Once I had Apache running, getting <literal>lighttpd</literal> to serve the "
  1.4042  "repository was a snap (in other words, even if you're trying to use "
  1.4043 @@ -7267,7 +7262,7 @@
  1.4044  msgstr ""
  1.4045  
  1.4046  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4047 -#: ../en/ch05-collab.xml:1081
  1.4048 +#: ../en/ch05-collab.xml:1078
  1.4049  msgid ""
  1.4050  "With this done, <literal>lighttpd</literal> ran immediately for me.  If I had "
  1.4051  "configured <literal>lighttpd</literal> before Apache, I'd almost certainly "
  1.4052 @@ -7278,12 +7273,12 @@
  1.4053  msgstr ""
  1.4054  
  1.4055  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4056 -#: ../en/ch05-collab.xml:1094
  1.4057 +#: ../en/ch05-collab.xml:1091
  1.4058  msgid "Sharing multiple repositories with one CGI script"
  1.4059  msgstr "使用一个 CGI 脚本共享多个版本库"
  1.4060  
  1.4061  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4062 -#: ../en/ch05-collab.xml:1096
  1.4063 +#: ../en/ch05-collab.xml:1093
  1.4064  msgid ""
  1.4065  "The <filename role=\"special\">hgweb.cgi</filename> script only lets you "
  1.4066  "publish a single repository, which is an annoying restriction.  If you want "
  1.4067 @@ -7293,7 +7288,7 @@
  1.4068  msgstr ""
  1.4069  
  1.4070  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4071 -#: ../en/ch05-collab.xml:1104
  1.4072 +#: ../en/ch05-collab.xml:1101
  1.4073  msgid ""
  1.4074  "The procedure to configure <filename role=\"special\">hgwebdir.cgi</filename> "
  1.4075  "is only a little more involved than for <filename role=\"special\">hgweb.cgi</"
  1.4076 @@ -7304,17 +7299,17 @@
  1.4077  msgstr ""
  1.4078  
  1.4079  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4080 -#: ../en/ch05-collab.xml:1117
  1.4081 +#: ../en/ch05-collab.xml:1116
  1.4082  msgid ""
  1.4083  "With basic configuration out of the way, try to visit <ulink url=\"http://"
  1.4084  "myhostname/ myuser/hgwebdir.cgi\">http://myhostname/ myuser/hgwebdir.cgi</"
  1.4085  "ulink> in your browser.  It should display an empty list of repositories.  If "
  1.4086  "you get a blank window or error message, try walking through the list of "
  1.4087 -"potential problems in section <xref linkend=\"sec.collab.wtf\"/>."
  1.4088 -msgstr ""
  1.4089 -
  1.4090 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.4091 -#: ../en/ch05-collab.xml:1126
  1.4092 +"potential problems in <xref linkend=\"sec:collab:wtf\"/>."
  1.4093 +msgstr ""
  1.4094 +
  1.4095 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.4096 +#: ../en/ch05-collab.xml:1125
  1.4097  msgid ""
  1.4098  "The <filename role=\"special\">hgwebdir.cgi</filename> script relies on an "
  1.4099  "external configuration file.  By default, it searches for a file named "
  1.4100 @@ -7326,7 +7321,7 @@
  1.4101  msgstr ""
  1.4102  
  1.4103  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4104 -#: ../en/ch05-collab.xml:1136
  1.4105 +#: ../en/ch05-collab.xml:1135
  1.4106  msgid ""
  1.4107  "The easiest way to configure <filename role=\"special\">hgwebdir.cgi</"
  1.4108  "filename> is with a section named <literal>collections</literal>.  This will "
  1.4109 @@ -7335,7 +7330,7 @@
  1.4110  msgstr ""
  1.4111  
  1.4112  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4113 -#: ../en/ch05-collab.xml:1144
  1.4114 +#: ../en/ch05-collab.xml:1143
  1.4115  msgid ""
  1.4116  "Mercurial interprets this by looking at the directory name on the "
  1.4117  "<emphasis>right</emphasis> hand side of the <quote><literal>=</literal></"
  1.4118 @@ -7347,7 +7342,7 @@
  1.4119  msgstr ""
  1.4120  
  1.4121  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4122 -#: ../en/ch05-collab.xml:1153
  1.4123 +#: ../en/ch05-collab.xml:1152
  1.4124  msgid ""
  1.4125  "Given the example above, if we have a repository whose local path is "
  1.4126  "<filename class=\"directory\">/my/root/this/repo</filename>, the CGI script "
  1.4127 @@ -7361,7 +7356,7 @@
  1.4128  msgstr ""
  1.4129  
  1.4130  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4131 -#: ../en/ch05-collab.xml:1167
  1.4132 +#: ../en/ch05-collab.xml:1166
  1.4133  msgid ""
  1.4134  "If we replace <filename class=\"directory\">/my/root</filename> on the left "
  1.4135  "hand side of this example with <filename class=\"directory\">/my</filename>, "
  1.4136 @@ -7372,7 +7367,7 @@
  1.4137  msgstr ""
  1.4138  
  1.4139  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4140 -#: ../en/ch05-collab.xml:1177
  1.4141 +#: ../en/ch05-collab.xml:1176
  1.4142  msgid ""
  1.4143  "The <filename role=\"special\">hgwebdir.cgi</filename> script will "
  1.4144  "recursively search each directory listed in the <literal>collections</"
  1.4145 @@ -7381,7 +7376,7 @@
  1.4146  msgstr ""
  1.4147  
  1.4148  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4149 -#: ../en/ch05-collab.xml:1183
  1.4150 +#: ../en/ch05-collab.xml:1182
  1.4151  msgid ""
  1.4152  "The <literal>collections</literal> mechanism makes it easy to publish many "
  1.4153  "repositories in a <quote>fire and forget</quote> manner.  You only need to "
  1.4154 @@ -7392,12 +7387,12 @@
  1.4155  msgstr ""
  1.4156  
  1.4157  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.4158 -#: ../en/ch05-collab.xml:1193
  1.4159 +#: ../en/ch05-collab.xml:1192
  1.4160  msgid "Explicitly specifying which repositories to publish"
  1.4161  msgstr "明确指出要发布的版本库"
  1.4162  
  1.4163  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4164 -#: ../en/ch05-collab.xml:1196
  1.4165 +#: ../en/ch05-collab.xml:1195
  1.4166  msgid ""
  1.4167  "In addition to the <literal>collections</literal> mechanism, the <filename "
  1.4168  "role=\"special\">hgwebdir.cgi</filename> script allows you to publish a "
  1.4169 @@ -7406,7 +7401,7 @@
  1.4170  msgstr ""
  1.4171  
  1.4172  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4173 -#: ../en/ch05-collab.xml:1205
  1.4174 +#: ../en/ch05-collab.xml:1204
  1.4175  msgid ""
  1.4176  "In this case, the virtual path (the component that will appear in a URL) is "
  1.4177  "on the left hand side of each definition, while the path to the repository is "
  1.4178 @@ -7416,7 +7411,7 @@
  1.4179  msgstr ""
  1.4180  
  1.4181  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4182 -#: ../en/ch05-collab.xml:1212
  1.4183 +#: ../en/ch05-collab.xml:1211
  1.4184  msgid ""
  1.4185  "If you wish, you can use both the <literal>collections</literal> and "
  1.4186  "<literal>paths</literal> mechanisms simultaneously in a single configuration "
  1.4187 @@ -7424,7 +7419,7 @@
  1.4188  msgstr ""
  1.4189  
  1.4190  #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para>
  1.4191 -#: ../en/ch05-collab.xml:1218
  1.4192 +#: ../en/ch05-collab.xml:1217
  1.4193  msgid ""
  1.4194  "If multiple repositories have the same virtual path, <filename role=\"special"
  1.4195  "\">hgwebdir.cgi</filename> will not report an error.  Instead, it will behave "
  1.4196 @@ -7432,12 +7427,12 @@
  1.4197  msgstr ""
  1.4198  
  1.4199  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4200 -#: ../en/ch05-collab.xml:1227
  1.4201 +#: ../en/ch05-collab.xml:1226
  1.4202  msgid "Downloading source archives"
  1.4203  msgstr "下载源代码档案包"
  1.4204  
  1.4205  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4206 -#: ../en/ch05-collab.xml:1229
  1.4207 +#: ../en/ch05-collab.xml:1228
  1.4208  msgid ""
  1.4209  "Mercurial's web interface lets users download an archive of any revision.  "
  1.4210  "This archive will contain a snapshot of the working directory as of that "
  1.4211 @@ -7445,7 +7440,7 @@
  1.4212  msgstr ""
  1.4213  
  1.4214  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4215 -#: ../en/ch05-collab.xml:1234
  1.4216 +#: ../en/ch05-collab.xml:1233
  1.4217  msgid ""
  1.4218  "By default, this feature is not enabled.  To enable it, you'll need to add an "
  1.4219  "<envar role=\"rc-item-web\">allow_archive</envar> item to the <literal role="
  1.4220 @@ -7454,12 +7449,12 @@
  1.4221  msgstr ""
  1.4222  
  1.4223  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4224 -#: ../en/ch05-collab.xml:1242
  1.4225 +#: ../en/ch05-collab.xml:1241
  1.4226  msgid "Web configuration options"
  1.4227  msgstr "Web 配置选项"
  1.4228  
  1.4229  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4230 -#: ../en/ch05-collab.xml:1244
  1.4231 +#: ../en/ch05-collab.xml:1243
  1.4232  msgid ""
  1.4233  "Mercurial's web interfaces (the <command role=\"hg-cmd\">hg serve</command> "
  1.4234  "command, and the <filename role=\"special\">hgweb.cgi</filename> and "
  1.4235 @@ -7469,7 +7464,7 @@
  1.4236  msgstr ""
  1.4237  
  1.4238  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4239 -#: ../en/ch05-collab.xml:1252
  1.4240 +#: ../en/ch05-collab.xml:1251
  1.4241  msgid ""
  1.4242  "<envar role=\"rc-item-web\">allow_archive</envar>: Determines which (if any) "
  1.4243  "archive download mechanisms Mercurial supports.  If you enable this feature, "
  1.4244 @@ -7479,7 +7474,7 @@
  1.4245  msgstr ""
  1.4246  
  1.4247  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para>
  1.4248 -#: ../en/ch05-collab.xml:1261
  1.4249 +#: ../en/ch05-collab.xml:1260
  1.4250  msgid ""
  1.4251  "<literal>bz2</literal>: A <command>tar</command> archive, compressed using "
  1.4252  "<literal>bzip2</literal> compression.  This has the best compression ratio, "
  1.4253 @@ -7487,14 +7482,14 @@
  1.4254  msgstr ""
  1.4255  
  1.4256  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para>
  1.4257 -#: ../en/ch05-collab.xml:1267
  1.4258 +#: ../en/ch05-collab.xml:1266
  1.4259  msgid ""
  1.4260  "<literal>gz</literal>: A <command>tar</command> archive, compressed using "
  1.4261  "<literal>gzip</literal> compression."
  1.4262  msgstr ""
  1.4263  
  1.4264  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para>
  1.4265 -#: ../en/ch05-collab.xml:1271
  1.4266 +#: ../en/ch05-collab.xml:1270
  1.4267  msgid ""
  1.4268  "<literal>zip</literal>: A <command>zip</command> archive, compressed using "
  1.4269  "LZW compression.  This format has the worst compression ratio, but is widely "
  1.4270 @@ -7502,7 +7497,7 @@
  1.4271  msgstr ""
  1.4272  
  1.4273  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4274 -#: ../en/ch05-collab.xml:1277
  1.4275 +#: ../en/ch05-collab.xml:1276
  1.4276  msgid ""
  1.4277  "If you provide an empty list, or don't have an <envar role=\"rc-item-web"
  1.4278  "\">allow_archive</envar> entry at all, this feature will be disabled.  Here "
  1.4279 @@ -7510,7 +7505,7 @@
  1.4280  msgstr ""
  1.4281  
  1.4282  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4283 -#: ../en/ch05-collab.xml:1284
  1.4284 +#: ../en/ch05-collab.xml:1283
  1.4285  msgid ""
  1.4286  "<envar role=\"rc-item-web\">allowpull</envar>: Boolean.  Determines whether "
  1.4287  "the web interface allows remote users to <command role=\"hg-cmd\">hg pull</"
  1.4288 @@ -7520,7 +7515,7 @@
  1.4289  msgstr ""
  1.4290  
  1.4291  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4292 -#: ../en/ch05-collab.xml:1293
  1.4293 +#: ../en/ch05-collab.xml:1292
  1.4294  msgid ""
  1.4295  "<envar role=\"rc-item-web\">contact</envar>: String.  A free-form (but "
  1.4296  "preferably brief) string identifying the person or group in charge of the "
  1.4297 @@ -7532,21 +7527,21 @@
  1.4298  msgstr ""
  1.4299  
  1.4300  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4301 -#: ../en/ch05-collab.xml:1304
  1.4302 +#: ../en/ch05-collab.xml:1303
  1.4303  msgid ""
  1.4304  "<envar role=\"rc-item-web\">maxchanges</envar>: Integer.  The default maximum "
  1.4305  "number of changesets to display in a single page of output."
  1.4306  msgstr ""
  1.4307  
  1.4308  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4309 -#: ../en/ch05-collab.xml:1308
  1.4310 +#: ../en/ch05-collab.xml:1307
  1.4311  msgid ""
  1.4312  "<envar role=\"rc-item-web\">maxfiles</envar>: Integer.  The default maximum "
  1.4313  "number of modified files to display in a single page of output."
  1.4314  msgstr ""
  1.4315  
  1.4316  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4317 -#: ../en/ch05-collab.xml:1312
  1.4318 +#: ../en/ch05-collab.xml:1311
  1.4319  msgid ""
  1.4320  "<envar role=\"rc-item-web\">stripes</envar>: Integer.  If the web interface "
  1.4321  "displays alternating <quote>stripes</quote> to make it easier to visually "
  1.4322 @@ -7555,14 +7550,14 @@
  1.4323  msgstr ""
  1.4324  
  1.4325  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4326 -#: ../en/ch05-collab.xml:1318
  1.4327 +#: ../en/ch05-collab.xml:1317
  1.4328  msgid ""
  1.4329  "<envar role=\"rc-item-web\">style</envar>: Controls the template Mercurial "
  1.4330  "uses to display the web interface.  Mercurial ships with two web templates, "
  1.4331  "named <literal>default</literal> and <literal>gitweb</literal> (the latter is "
  1.4332  "much more visually attractive).  You can also specify a custom template of "
  1.4333 -"your own; see chapter <xref linkend=\"chap.template\"/> for details.  Here, "
  1.4334 -"you can see how to enable the <literal>gitweb</literal> style."
  1.4335 +"your own; see <xref linkend=\"chap:template\"/> for details. Here, you can "
  1.4336 +"see how to enable the <literal>gitweb</literal> style."
  1.4337  msgstr ""
  1.4338  
  1.4339  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4340 @@ -8976,14 +8971,13 @@
  1.4341  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4342  #: ../en/ch08-undo.xml:33
  1.4343  msgid ""
  1.4344 -"In section <xref linkend=\"sec.concepts.txn\"/>, I mentioned that Mercurial "
  1.4345 -"treats each modification of a repository as a <emphasis>transaction</"
  1.4346 -"emphasis>.  Every time you commit a changeset or pull changes from another "
  1.4347 -"repository, Mercurial remembers what you did.  You can undo, or "
  1.4348 -"<emphasis>roll back</emphasis>, exactly one of these actions using the "
  1.4349 -"<command role=\"hg-cmd\">hg rollback</command> command.  (See section <xref "
  1.4350 -"linkend=\"sec.undo.rollback-after-push\"/> for an important caveat about the "
  1.4351 -"use of this command.)"
  1.4352 +"In <xref linkend=\"sec:concepts:txn\"/>, I mentioned that Mercurial treats "
  1.4353 +"each modification of a repository as a <emphasis>transaction</emphasis>.  "
  1.4354 +"Every time you commit a changeset or pull changes from another repository, "
  1.4355 +"Mercurial remembers what you did.  You can undo, or <emphasis>roll back</"
  1.4356 +"emphasis>, exactly one of these actions using the <command role=\"hg-cmd\">hg "
  1.4357 +"rollback</command> command.  (See <xref linkend=\"sec:undo:rollback-after-push"
  1.4358 +"\"/> for an important caveat about the use of this command.)"
  1.4359  msgstr ""
  1.4360  
  1.4361  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4362 @@ -9323,7 +9317,7 @@
  1.4363  "<emphasis>adding</emphasis> history, not by modifying or erasing it.  It's "
  1.4364  "the right tool to use if you're fixing bugs, but not if you're trying to undo "
  1.4365  "some change that has catastrophic consequences.  To deal with those, see "
  1.4366 -"section <xref linkend=\"sec.undo.aaaiiieee\"/>."
  1.4367 +"<xref linkend=\"sec:undo:aaaiiieee\"/>."
  1.4368  msgstr ""
  1.4369  
  1.4370  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4371 @@ -9381,31 +9375,29 @@
  1.4372  "backout</command> command has done.  &interaction.backout.simple.log; Notice "
  1.4373  "that the new changeset that <command role=\"hg-cmd\">hg backout</command> has "
  1.4374  "created is a child of the changeset we backed out.  It's easier to see this "
  1.4375 -"in figure <xref endterm=\"fig.undo.backout.caption\" linkend=\"fig.undo."
  1.4376 -"backout\"/>, which presents a graphical view of the change history.  As you "
  1.4377 -"can see, the history is nice and linear."
  1.4378 -msgstr ""
  1.4379 -
  1.4380 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.4381 -#: ../en/ch08-undo.xml:364
  1.4382 -msgid ""
  1.4383 -"<imageobject><imagedata fileref=\"images/undo-simple.png\"/> </imageobject>"
  1.4384 -msgstr ""
  1.4385 -
  1.4386 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.4387 -#: ../en/ch08-undo.xml:367 ../en/ch08-undo.xml:486
  1.4388 +"in <xref linkend=\"fig:undo:backout\"/>, which presents a graphical view of "
  1.4389 +"the change history.  As you can see, the history is nice and linear."
  1.4390 +msgstr ""
  1.4391 +
  1.4392 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.4393 +#: ../en/ch08-undo.xml:361 ../en/ch08-undo.xml:473
  1.4394  msgid ""
  1.4395  "Backing out a change using the <command role=\"hg-cmd\">hg backout</command> "
  1.4396  "command"
  1.4397  msgstr ""
  1.4398  
  1.4399 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.4400 +#: ../en/ch08-undo.xml:364
  1.4401 +msgid "<imageobject><imagedata fileref=\"figs/undo-simple.png\"/></imageobject>"
  1.4402 +msgstr ""
  1.4403 +
  1.4404  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4405 -#: ../en/ch08-undo.xml:376
  1.4406 +#: ../en/ch08-undo.xml:371
  1.4407  msgid "Backing out a non-tip change"
  1.4408  msgstr "恢复非顶点的修改"
  1.4409  
  1.4410  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4411 -#: ../en/ch08-undo.xml:378
  1.4412 +#: ../en/ch08-undo.xml:373
  1.4413  msgid ""
  1.4414  "If you want to back out a change other than the last one you committed, pass "
  1.4415  "the <option role=\"hg-opt-backout\">--merge</option> option to the <command "
  1.4416 @@ -9413,14 +9405,14 @@
  1.4417  msgstr ""
  1.4418  
  1.4419  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4420 -#: ../en/ch08-undo.xml:385
  1.4421 +#: ../en/ch08-undo.xml:380
  1.4422  msgid ""
  1.4423  "This makes backing out any changeset a <quote>one-shot</quote> operation "
  1.4424  "that's usually simple and fast."
  1.4425  msgstr ""
  1.4426  
  1.4427  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4428 -#: ../en/ch08-undo.xml:391
  1.4429 +#: ../en/ch08-undo.xml:386
  1.4430  msgid ""
  1.4431  "If you take a look at the contents of <filename>myfile</filename> after the "
  1.4432  "backout finishes, you'll see that the first and third changes are present, "
  1.4433 @@ -9428,40 +9420,40 @@
  1.4434  msgstr ""
  1.4435  
  1.4436  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4437 -#: ../en/ch08-undo.xml:398
  1.4438 -msgid ""
  1.4439 -"As the graphical history in figure <xref endterm=\"fig.undo.backout-non-tip."
  1.4440 -"caption\" linkend=\"fig.undo.backout-non-tip\"/> illustrates, Mercurial "
  1.4441 -"actually commits <emphasis>two</emphasis> changes in this kind of situation "
  1.4442 -"(the box-shaped nodes are the ones that Mercurial commits automatically).  "
  1.4443 -"Before Mercurial begins the backout process, it first remembers what the "
  1.4444 -"current parent of the working directory is.  It then backs out the target "
  1.4445 -"changeset, and commits that as a changeset.  Finally, it merges back to the "
  1.4446 -"previous parent of the working directory, and commits the result of the merge."
  1.4447 -msgstr ""
  1.4448 -
  1.4449 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.4450 -#: ../en/ch08-undo.xml:410
  1.4451 +#: ../en/ch08-undo.xml:393
  1.4452 +msgid ""
  1.4453 +"As the graphical history in <xref linkend=\"fig:undo:backout-non-tip\"/> "
  1.4454 +"illustrates, Mercurial actually commits <emphasis>two</emphasis> changes in "
  1.4455 +"this kind of situation (the box-shaped nodes are the ones that Mercurial "
  1.4456 +"commits automatically).  Before Mercurial begins the backout process, it "
  1.4457 +"first remembers what the current parent of the working directory is.  It then "
  1.4458 +"backs out the target changeset, and commits that as a changeset.  Finally, it "
  1.4459 +"merges back to the previous parent of the working directory, and commits the "
  1.4460 +"result of the merge."
  1.4461 +msgstr ""
  1.4462 +
  1.4463 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.4464 +#: ../en/ch08-undo.xml:404
  1.4465  msgid ""
  1.4466  "% TODO: to me it looks like mercurial doesn't commit the second merge "
  1.4467  "automatically!"
  1.4468  msgstr ""
  1.4469  
  1.4470 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.4471 -#: ../en/ch08-undo.xml:415
  1.4472 -msgid ""
  1.4473 -"<imageobject><imagedata fileref=\"images/undo-non-tip.png\"/> </imageobject>"
  1.4474 -msgstr ""
  1.4475 -
  1.4476 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.4477 -#: ../en/ch08-undo.xml:418
  1.4478 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.4479 +#: ../en/ch08-undo.xml:408
  1.4480  msgid ""
  1.4481  "Automated backout of a non-tip change using the <command role=\"hg-cmd\">hg "
  1.4482  "backout</command> command"
  1.4483  msgstr ""
  1.4484  
  1.4485 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.4486 -#: ../en/ch08-undo.xml:424
  1.4487 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.4488 +#: ../en/ch08-undo.xml:411
  1.4489 +msgid ""
  1.4490 +"<imageobject><imagedata fileref=\"figs/undo-non-tip.png\"/></imageobject>"
  1.4491 +msgstr ""
  1.4492 +
  1.4493 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.4494 +#: ../en/ch08-undo.xml:416
  1.4495  msgid ""
  1.4496  "The result is that you end up <quote>back where you were</quote>, only with "
  1.4497  "some extra history that undoes the effect of the changeset you wanted to back "
  1.4498 @@ -9469,12 +9461,12 @@
  1.4499  msgstr ""
  1.4500  
  1.4501  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.4502 -#: ../en/ch08-undo.xml:429
  1.4503 +#: ../en/ch08-undo.xml:421
  1.4504  msgid "Always use the <option role=\"hg-opt-backout\">--merge</option> option"
  1.4505  msgstr "始终使用选项 <option role=\"hg-opt-backout\">--merge</option>"
  1.4506  
  1.4507  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4508 -#: ../en/ch08-undo.xml:432
  1.4509 +#: ../en/ch08-undo.xml:424
  1.4510  msgid ""
  1.4511  "In fact, since the <option role=\"hg-opt-backout\">--merge</option> option "
  1.4512  "will do the <quote>right thing</quote> whether or not the changeset you're "
  1.4513 @@ -9484,12 +9476,12 @@
  1.4514  msgstr ""
  1.4515  
  1.4516  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4517 -#: ../en/ch08-undo.xml:443
  1.4518 +#: ../en/ch08-undo.xml:435
  1.4519  msgid "Gaining more control of the backout process"
  1.4520  msgstr "在恢复处理中获得更多控制"
  1.4521  
  1.4522  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4523 -#: ../en/ch08-undo.xml:445
  1.4524 +#: ../en/ch08-undo.xml:437
  1.4525  msgid ""
  1.4526  "While I've recommended that you always use the <option role=\"hg-opt-backout"
  1.4527  "\">--merge</option> option when backing out a change, the <command role=\"hg-"
  1.4528 @@ -9502,14 +9494,14 @@
  1.4529  msgstr ""
  1.4530  
  1.4531  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4532 -#: ../en/ch08-undo.xml:458
  1.4533 +#: ../en/ch08-undo.xml:450
  1.4534  msgid ""
  1.4535  "As with our earlier example, We'll commit a third changeset, then back out "
  1.4536  "its parent, and see what happens."
  1.4537  msgstr ""
  1.4538  
  1.4539  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4540 -#: ../en/ch08-undo.xml:464
  1.4541 +#: ../en/ch08-undo.xml:456
  1.4542  msgid ""
  1.4543  "Our new changeset is again a descendant of the changeset we backout out; it's "
  1.4544  "thus a new head, <emphasis>not</emphasis> a descendant of the changeset that "
  1.4545 @@ -9518,24 +9510,22 @@
  1.4546  msgstr ""
  1.4547  
  1.4548  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4549 -#: ../en/ch08-undo.xml:472
  1.4550 +#: ../en/ch08-undo.xml:464
  1.4551  msgid ""
  1.4552  "Again, it's easier to see what has happened by looking at a graph of the "
  1.4553 -"revision history, in figure <xref endterm=\"fig.undo.backout-manual.caption\" "
  1.4554 -"linkend=\"fig.undo.backout-manual\"/>.  This makes it clear that when we use "
  1.4555 -"<command role=\"hg-cmd\">hg backout</command> to back out a change other than "
  1.4556 -"the tip, Mercurial adds a new head to the repository (the change it committed "
  1.4557 -"is box-shaped)."
  1.4558 -msgstr ""
  1.4559 -
  1.4560 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.4561 -#: ../en/ch08-undo.xml:483
  1.4562 -msgid ""
  1.4563 -"<imageobject><imagedata fileref=\"images/undo-manual.png\"/> </imageobject>"
  1.4564 -msgstr ""
  1.4565 -
  1.4566 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.4567 -#: ../en/ch08-undo.xml:492
  1.4568 +"revision history, in <xref linkend=\"fig:undo:backout-manual\"/>.  This makes "
  1.4569 +"it clear that when we use <command role=\"hg-cmd\">hg backout</command> to "
  1.4570 +"back out a change other than the tip, Mercurial adds a new head to the "
  1.4571 +"repository (the change it committed is box-shaped)."
  1.4572 +msgstr ""
  1.4573 +
  1.4574 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.4575 +#: ../en/ch08-undo.xml:476
  1.4576 +msgid "<imageobject><imagedata fileref=\"figs/undo-manual.png\"/></imageobject>"
  1.4577 +msgstr ""
  1.4578 +
  1.4579 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.4580 +#: ../en/ch08-undo.xml:481
  1.4581  msgid ""
  1.4582  "After the <command role=\"hg-cmd\">hg backout</command> command has "
  1.4583  "completed, it leaves the new <quote>backout</quote> changeset as the parent "
  1.4584 @@ -9543,12 +9533,12 @@
  1.4585  msgstr ""
  1.4586  
  1.4587  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4588 -#: ../en/ch08-undo.xml:499
  1.4589 +#: ../en/ch08-undo.xml:488
  1.4590  msgid "Now we have two isolated sets of changes."
  1.4591  msgstr ""
  1.4592  
  1.4593  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4594 -#: ../en/ch08-undo.xml:503
  1.4595 +#: ../en/ch08-undo.xml:492
  1.4596  msgid ""
  1.4597  "Let's think about what we expect to see as the contents of <filename>myfile</"
  1.4598  "filename> now.  The first change should be present, because we've never "
  1.4599 @@ -9559,60 +9549,58 @@
  1.4600  msgstr ""
  1.4601  
  1.4602  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4603 -#: ../en/ch08-undo.xml:513
  1.4604 +#: ../en/ch08-undo.xml:502
  1.4605  msgid ""
  1.4606  "To get the third change back into the file, we just do a normal merge of our "
  1.4607  "two heads."
  1.4608  msgstr ""
  1.4609  
  1.4610  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4611 -#: ../en/ch08-undo.xml:518
  1.4612 -msgid ""
  1.4613 -"Afterwards, the graphical history of our repository looks like figure <xref "
  1.4614 -"endterm=\"fig.undo.backout-manual-merge.caption\" linkend=\"fig.undo.backout-"
  1.4615 -"manual-merge\"/>."
  1.4616 -msgstr ""
  1.4617 -
  1.4618 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.4619 -#: ../en/ch08-undo.xml:525
  1.4620 -msgid ""
  1.4621 -"<imageobject><imagedata fileref=\"images/undo-manual-merge.png\"/> </"
  1.4622 -"imageobject>"
  1.4623 -msgstr ""
  1.4624 -
  1.4625 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.4626 -#: ../en/ch08-undo.xml:528
  1.4627 +#: ../en/ch08-undo.xml:507
  1.4628 +msgid ""
  1.4629 +"Afterwards, the graphical history of our repository looks like <xref linkend="
  1.4630 +"\"fig:undo:backout-manual-merge\"/>."
  1.4631 +msgstr ""
  1.4632 +
  1.4633 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.4634 +#: ../en/ch08-undo.xml:512
  1.4635  msgid "Manually merging a backout change"
  1.4636  msgstr ""
  1.4637  
  1.4638 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.4639 +#: ../en/ch08-undo.xml:514
  1.4640 +msgid ""
  1.4641 +"<imageobject><imagedata fileref=\"figs/undo-manual-merge.png\"/></imageobject>"
  1.4642 +msgstr ""
  1.4643 +
  1.4644  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4645 -#: ../en/ch08-undo.xml:535
  1.4646 +#: ../en/ch08-undo.xml:521
  1.4647  msgid "Why <command role=\"hg-cmd\">hg backout</command> works as it does"
  1.4648  msgstr "<command role=\"hg-cmd\">hg backout</command> 的内幕"
  1.4649  
  1.4650  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4651 -#: ../en/ch08-undo.xml:538
  1.4652 +#: ../en/ch08-undo.xml:524
  1.4653  msgid ""
  1.4654  "Here's a brief description of how the <command role=\"hg-cmd\">hg backout</"
  1.4655  "command> command works."
  1.4656  msgstr ""
  1.4657  
  1.4658  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4659 -#: ../en/ch08-undo.xml:541
  1.4660 +#: ../en/ch08-undo.xml:527
  1.4661  msgid ""
  1.4662  "It ensures that the working directory is <quote>clean</quote>, i.e. that the "
  1.4663  "output of <command role=\"hg-cmd\">hg status</command> would be empty."
  1.4664  msgstr ""
  1.4665  
  1.4666  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4667 -#: ../en/ch08-undo.xml:545
  1.4668 +#: ../en/ch08-undo.xml:531
  1.4669  msgid ""
  1.4670  "It remembers the current parent of the working directory.  Let's call this "
  1.4671  "changeset <literal>orig</literal>"
  1.4672  msgstr ""
  1.4673  
  1.4674  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4675 -#: ../en/ch08-undo.xml:549
  1.4676 +#: ../en/ch08-undo.xml:535
  1.4677  msgid ""
  1.4678  "It does the equivalent of a <command role=\"hg-cmd\">hg update</command> to "
  1.4679  "sync the working directory to the changeset you want to back out.  Let's call "
  1.4680 @@ -9620,14 +9608,14 @@
  1.4681  msgstr ""
  1.4682  
  1.4683  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4684 -#: ../en/ch08-undo.xml:554
  1.4685 +#: ../en/ch08-undo.xml:540
  1.4686  msgid ""
  1.4687  "It finds the parent of that changeset.  Let's call that changeset "
  1.4688  "<literal>parent</literal>."
  1.4689  msgstr ""
  1.4690  
  1.4691  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4692 -#: ../en/ch08-undo.xml:557
  1.4693 +#: ../en/ch08-undo.xml:543
  1.4694  msgid ""
  1.4695  "For each file that the <literal>backout</literal> changeset affected, it does "
  1.4696  "the equivalent of a <command role=\"hg-cmd\">hg revert -r parent</command> on "
  1.4697 @@ -9636,14 +9624,14 @@
  1.4698  msgstr ""
  1.4699  
  1.4700  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4701 -#: ../en/ch08-undo.xml:564
  1.4702 +#: ../en/ch08-undo.xml:550
  1.4703  msgid ""
  1.4704  "It commits the result as a new changeset.  This changeset has "
  1.4705  "<literal>backout</literal> as its parent."
  1.4706  msgstr ""
  1.4707  
  1.4708  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4709 -#: ../en/ch08-undo.xml:568
  1.4710 +#: ../en/ch08-undo.xml:554
  1.4711  msgid ""
  1.4712  "If you specify <option role=\"hg-opt-backout\">--merge</option> on the "
  1.4713  "command line, it merges with <literal>orig</literal>, and commits the result "
  1.4714 @@ -9651,7 +9639,7 @@
  1.4715  msgstr ""
  1.4716  
  1.4717  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4718 -#: ../en/ch08-undo.xml:574
  1.4719 +#: ../en/ch08-undo.xml:560
  1.4720  msgid ""
  1.4721  "An alternative way to implement the <command role=\"hg-cmd\">hg backout</"
  1.4722  "command> command would be to <command role=\"hg-cmd\">hg export</command> the "
  1.4723 @@ -9662,7 +9650,7 @@
  1.4724  msgstr ""
  1.4725  
  1.4726  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4727 -#: ../en/ch08-undo.xml:584
  1.4728 +#: ../en/ch08-undo.xml:570
  1.4729  msgid ""
  1.4730  "The reason that <command role=\"hg-cmd\">hg backout</command> does an update, "
  1.4731  "a commit, a merge, and another commit is to give the merge machinery the best "
  1.4732 @@ -9671,14 +9659,14 @@
  1.4733  msgstr ""
  1.4734  
  1.4735  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4736 -#: ../en/ch08-undo.xml:591
  1.4737 +#: ../en/ch08-undo.xml:577
  1.4738  msgid ""
  1.4739  "If you're backing out a changeset that's 100 revisions back in your project's "
  1.4740  "history, the chances that the <command>patch</command> command will be able "
  1.4741  "to apply a reverse diff cleanly are not good, because intervening changes are "
  1.4742  "likely to have <quote>broken the context</quote> that <command>patch</"
  1.4743  "command> uses to determine whether it can apply a patch (if this sounds like "
  1.4744 -"gibberish, see <xref linkend=\"sec.mq.patch\"/> for a discussion of the "
  1.4745 +"gibberish, see <xref linkend=\"sec:mq:patch\"/> for a discussion of the "
  1.4746  "<command>patch</command> command).  Also, Mercurial's merge machinery will "
  1.4747  "handle files and directories being renamed, permission changes, and "
  1.4748  "modifications to binary files, none of which <command>patch</command> can "
  1.4749 @@ -9686,12 +9674,12 @@
  1.4750  msgstr ""
  1.4751  
  1.4752  #. type: Content of: <book><chapter><sect1><title>
  1.4753 -#: ../en/ch08-undo.xml:608
  1.4754 +#: ../en/ch08-undo.xml:594
  1.4755  msgid "Changes that should never have been"
  1.4756  msgstr "不该发生的修改"
  1.4757  
  1.4758  #. type: Content of: <book><chapter><sect1><para>
  1.4759 -#: ../en/ch08-undo.xml:610
  1.4760 +#: ../en/ch08-undo.xml:596
  1.4761  msgid ""
  1.4762  "Most of the time, the <command role=\"hg-cmd\">hg backout</command> command "
  1.4763  "is exactly what you need if you want to undo the effects of a change.  It "
  1.4764 @@ -9700,7 +9688,7 @@
  1.4765  msgstr ""
  1.4766  
  1.4767  #. type: Content of: <book><chapter><sect1><para>
  1.4768 -#: ../en/ch08-undo.xml:616
  1.4769 +#: ../en/ch08-undo.xml:602
  1.4770  msgid ""
  1.4771  "On rare occasions, though, you may find that you've committed a change that "
  1.4772  "really should not be present in the repository at all.  For example, it would "
  1.4773 @@ -9712,7 +9700,7 @@
  1.4774  msgstr ""
  1.4775  
  1.4776  #. type: Content of: <book><chapter><sect1><para>
  1.4777 -#: ../en/ch08-undo.xml:625
  1.4778 +#: ../en/ch08-undo.xml:611
  1.4779  msgid ""
  1.4780  "Before I discuss the options that you have if you commit a <quote>brown paper "
  1.4781  "bag</quote> change (the kind that's so bad that you want to pull a brown "
  1.4782 @@ -9721,19 +9709,19 @@
  1.4783  msgstr ""
  1.4784  
  1.4785  #. type: Content of: <book><chapter><sect1><para>
  1.4786 -#: ../en/ch08-undo.xml:630
  1.4787 +#: ../en/ch08-undo.xml:616
  1.4788  msgid ""
  1.4789  "Since Mercurial treats history as accumulative&emdash;every change builds on "
  1.4790  "top of all changes that preceded it&emdash;you generally can't just make "
  1.4791  "disastrous changes disappear.  The one exception is when you've just "
  1.4792  "committed a change, and it hasn't been pushed or pulled into another "
  1.4793  "repository.  That's when you can safely use the <command role=\"hg-cmd\">hg "
  1.4794 -"rollback</command> command, as I detailed in section <xref linkend=\"sec.undo."
  1.4795 -"rollback\"/>."
  1.4796 -msgstr ""
  1.4797 -
  1.4798 -#. type: Content of: <book><chapter><sect1><para>
  1.4799 -#: ../en/ch08-undo.xml:639
  1.4800 +"rollback</command> command, as I detailed in <xref linkend=\"sec:undo:rollback"
  1.4801 +"\"/>."
  1.4802 +msgstr ""
  1.4803 +
  1.4804 +#. type: Content of: <book><chapter><sect1><para>
  1.4805 +#: ../en/ch08-undo.xml:625
  1.4806  msgid ""
  1.4807  "After you've pushed a bad change to another repository, you <emphasis>could</"
  1.4808  "emphasis> still use <command role=\"hg-cmd\">hg rollback</command> to make "
  1.4809 @@ -9743,7 +9731,7 @@
  1.4810  msgstr ""
  1.4811  
  1.4812  #. type: Content of: <book><chapter><sect1><para>
  1.4813 -#: ../en/ch08-undo.xml:647
  1.4814 +#: ../en/ch08-undo.xml:633
  1.4815  msgid ""
  1.4816  "If a situation like this arises, and you know which repositories your bad "
  1.4817  "change has propagated into, you can <emphasis>try</emphasis> to get rid of "
  1.4818 @@ -9754,7 +9742,7 @@
  1.4819  msgstr ""
  1.4820  
  1.4821  #. type: Content of: <book><chapter><sect1><para>
  1.4822 -#: ../en/ch08-undo.xml:655
  1.4823 +#: ../en/ch08-undo.xml:641
  1.4824  msgid ""
  1.4825  "If you've committed one or more changes <emphasis>after</emphasis> the change "
  1.4826  "that you'd like to see disappear, your options are further reduced. Mercurial "
  1.4827 @@ -9763,7 +9751,7 @@
  1.4828  msgstr ""
  1.4829  
  1.4830  #. type: Content of: <book><chapter><sect1><para>
  1.4831 -#: ../en/ch08-undo.xml:661
  1.4832 +#: ../en/ch08-undo.xml:647
  1.4833  msgid ""
  1.4834  "XXX This needs filling out.  The <literal>hg-replay</literal> script in the "
  1.4835  "<literal>examples</literal> directory works, but doesn't handle merge "
  1.4836 @@ -9771,12 +9759,12 @@
  1.4837  msgstr ""
  1.4838  
  1.4839  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4840 -#: ../en/ch08-undo.xml:667
  1.4841 +#: ../en/ch08-undo.xml:653
  1.4842  msgid "Protect yourself from <quote>escaped</quote> changes"
  1.4843  msgstr "使用<quote>校验</quote>修改来保护你自己"
  1.4844  
  1.4845  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4846 -#: ../en/ch08-undo.xml:670
  1.4847 +#: ../en/ch08-undo.xml:656
  1.4848  msgid ""
  1.4849  "If you've committed some changes to your local repository and they've been "
  1.4850  "pushed or pulled somewhere else, this isn't necessarily a disaster.  You can "
  1.4851 @@ -9786,10 +9774,10 @@
  1.4852  msgstr ""
  1.4853  
  1.4854  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4855 -#: ../en/ch08-undo.xml:677
  1.4856 +#: ../en/ch08-undo.xml:663
  1.4857  msgid ""
  1.4858  "By configuring some hooks on that repository to validate incoming changesets "
  1.4859 -"(see chapter <xref linkend=\"chap.hook\"/>), you can automatically prevent "
  1.4860 +"(see chapter <xref linkend=\"chap:hook\"/>), you can automatically prevent "
  1.4861  "some kinds of bad changeset from being pushed to the central repository at "
  1.4862  "all.  With such a configuration in place, some kinds of bad changeset will "
  1.4863  "naturally tend to <quote>die out</quote> because they can't propagate into "
  1.4864 @@ -9798,7 +9786,7 @@
  1.4865  msgstr ""
  1.4866  
  1.4867  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4868 -#: ../en/ch08-undo.xml:687
  1.4869 +#: ../en/ch08-undo.xml:673
  1.4870  msgid ""
  1.4871  "For instance, an incoming change hook that verifies that a changeset will "
  1.4872  "actually compile can prevent people from inadvertantly <quote>breaking the "
  1.4873 @@ -9806,12 +9794,12 @@
  1.4874  msgstr ""
  1.4875  
  1.4876  #. type: Content of: <book><chapter><sect1><title>
  1.4877 -#: ../en/ch08-undo.xml:694
  1.4878 +#: ../en/ch08-undo.xml:680
  1.4879  msgid "Finding the source of a bug"
  1.4880  msgstr "查找问题的根源"
  1.4881  
  1.4882  #. type: Content of: <book><chapter><sect1><para>
  1.4883 -#: ../en/ch08-undo.xml:696
  1.4884 +#: ../en/ch08-undo.xml:682
  1.4885  msgid ""
  1.4886  "While it's all very well to be able to back out a changeset that introduced a "
  1.4887  "bug, this requires that you know which changeset to back out.  Mercurial "
  1.4888 @@ -9821,7 +9809,7 @@
  1.4889  msgstr ""
  1.4890  
  1.4891  #. type: Content of: <book><chapter><sect1><para>
  1.4892 -#: ../en/ch08-undo.xml:703
  1.4893 +#: ../en/ch08-undo.xml:689
  1.4894  msgid ""
  1.4895  "The idea behind the <command role=\"hg-cmd\">hg bisect</command> command is "
  1.4896  "that a changeset has introduced some change of behaviour that you can "
  1.4897 @@ -9833,14 +9821,14 @@
  1.4898  msgstr ""
  1.4899  
  1.4900  #. type: Content of: <book><chapter><sect1><para>
  1.4901 -#: ../en/ch08-undo.xml:712
  1.4902 +#: ../en/ch08-undo.xml:698
  1.4903  msgid ""
  1.4904  "Here are a few scenarios to help you understand how you might apply this "
  1.4905  "command."
  1.4906  msgstr ""
  1.4907  
  1.4908  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.4909 -#: ../en/ch08-undo.xml:715
  1.4910 +#: ../en/ch08-undo.xml:701
  1.4911  msgid ""
  1.4912  "The most recent version of your software has a bug that you remember wasn't "
  1.4913  "present a few weeks ago, but you don't know when it was introduced.  Here, "
  1.4914 @@ -9848,7 +9836,7 @@
  1.4915  msgstr ""
  1.4916  
  1.4917  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.4918 -#: ../en/ch08-undo.xml:720
  1.4919 +#: ../en/ch08-undo.xml:706
  1.4920  msgid ""
  1.4921  "You fixed a bug in a rush, and now it's time to close the entry in your "
  1.4922  "team's bug database.  The bug database requires a changeset ID when you close "
  1.4923 @@ -9857,7 +9845,7 @@
  1.4924  msgstr ""
  1.4925  
  1.4926  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.4927 -#: ../en/ch08-undo.xml:727
  1.4928 +#: ../en/ch08-undo.xml:713
  1.4929  msgid ""
  1.4930  "Your software works correctly, but runs 15% slower than the last time you "
  1.4931  "measured it.  You want to know which changeset introduced the performance "
  1.4932 @@ -9866,14 +9854,14 @@
  1.4933  msgstr ""
  1.4934  
  1.4935  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.4936 -#: ../en/ch08-undo.xml:734
  1.4937 +#: ../en/ch08-undo.xml:720
  1.4938  msgid ""
  1.4939  "The sizes of the components of your project that you ship exploded recently, "
  1.4940  "and you suspect that something changed in the way you build your project."
  1.4941  msgstr ""
  1.4942  
  1.4943  #. type: Content of: <book><chapter><sect1><para>
  1.4944 -#: ../en/ch08-undo.xml:739
  1.4945 +#: ../en/ch08-undo.xml:725
  1.4946  msgid ""
  1.4947  "From these examples, it should be clear that the <command role=\"hg-cmd\">hg "
  1.4948  "bisect</command> command is not useful only for finding the sources of bugs.  "
  1.4949 @@ -9883,7 +9871,7 @@
  1.4950  msgstr ""
  1.4951  
  1.4952  #. type: Content of: <book><chapter><sect1><para>
  1.4953 -#: ../en/ch08-undo.xml:746
  1.4954 +#: ../en/ch08-undo.xml:732
  1.4955  msgid ""
  1.4956  "We'll introduce a little bit of terminology here, just to make it clear which "
  1.4957  "parts of the search process are your responsibility, and which are "
  1.4958 @@ -9897,7 +9885,7 @@
  1.4959  msgstr ""
  1.4960  
  1.4961  #. type: Content of: <book><chapter><sect1><para>
  1.4962 -#: ../en/ch08-undo.xml:759
  1.4963 +#: ../en/ch08-undo.xml:745
  1.4964  msgid ""
  1.4965  "One simple way to automate the searching process would be simply to probe "
  1.4966  "every changeset.  However, this scales poorly.  If it took ten minutes to "
  1.4967 @@ -9910,7 +9898,7 @@
  1.4968  msgstr ""
  1.4969  
  1.4970  #. type: Content of: <book><chapter><sect1><para>
  1.4971 -#: ../en/ch08-undo.xml:769
  1.4972 +#: ../en/ch08-undo.xml:755
  1.4973  msgid ""
  1.4974  "What the <command role=\"hg-cmd\">hg bisect</command> command does is use its "
  1.4975  "knowledge of the <quote>shape</quote> of your project's revision history to "
  1.4976 @@ -9923,7 +9911,7 @@
  1.4977  msgstr ""
  1.4978  
  1.4979  #. type: Content of: <book><chapter><sect1><para>
  1.4980 -#: ../en/ch08-undo.xml:780
  1.4981 +#: ../en/ch08-undo.xml:766
  1.4982  msgid ""
  1.4983  "The <command role=\"hg-cmd\">hg bisect</command> command is aware of the "
  1.4984  "<quote>branchy</quote> nature of a Mercurial project's revision history, so "
  1.4985 @@ -9933,18 +9921,18 @@
  1.4986  msgstr ""
  1.4987  
  1.4988  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4989 -#: ../en/ch08-undo.xml:788
  1.4990 +#: ../en/ch08-undo.xml:774
  1.4991  msgid "Using the <command role=\"hg-cmd\">hg bisect</command> command"
  1.4992  msgstr "使用命令 <command role=\"hg-cmd\">hg bisect</command>"
  1.4993  
  1.4994  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4995 -#: ../en/ch08-undo.xml:791
  1.4996 +#: ../en/ch08-undo.xml:777
  1.4997  msgid ""
  1.4998  "Here's an example of <command role=\"hg-cmd\">hg bisect</command> in action."
  1.4999  msgstr ""
  1.5000  
  1.5001  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.5002 -#: ../en/ch08-undo.xml:795
  1.5003 +#: ../en/ch08-undo.xml:781
  1.5004  msgid ""
  1.5005  "In versions 0.9.5 and earlier of Mercurial, <command role=\"hg-cmd\">hg "
  1.5006  "bisect</command> was not a core command: it was distributed with Mercurial as "
  1.5007 @@ -9953,14 +9941,14 @@
  1.5008  msgstr ""
  1.5009  
  1.5010  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5011 -#: ../en/ch08-undo.xml:802
  1.5012 +#: ../en/ch08-undo.xml:788
  1.5013  msgid ""
  1.5014  "Now let's create a repository, so that we can try out the <command role=\"hg-"
  1.5015  "cmd\">hg bisect</command> command in isolation."
  1.5016  msgstr ""
  1.5017  
  1.5018  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5019 -#: ../en/ch08-undo.xml:808
  1.5020 +#: ../en/ch08-undo.xml:794
  1.5021  msgid ""
  1.5022  "We'll simulate a project that has a bug in it in a simple-minded way: create "
  1.5023  "trivial changes in a loop, and nominate one specific change that will have "
  1.5024 @@ -9970,7 +9958,7 @@
  1.5025  msgstr ""
  1.5026  
  1.5027  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5028 -#: ../en/ch08-undo.xml:818
  1.5029 +#: ../en/ch08-undo.xml:804
  1.5030  msgid ""
  1.5031  "The next thing that we'd like to do is figure out how to use the <command "
  1.5032  "role=\"hg-cmd\">hg bisect</command> command.  We can use Mercurial's normal "
  1.5033 @@ -9978,46 +9966,46 @@
  1.5034  msgstr ""
  1.5035  
  1.5036  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5037 -#: ../en/ch08-undo.xml:825
  1.5038 +#: ../en/ch08-undo.xml:811
  1.5039  msgid ""
  1.5040  "The <command role=\"hg-cmd\">hg bisect</command> command works in steps.  "
  1.5041  "Each step proceeds as follows."
  1.5042  msgstr ""
  1.5043  
  1.5044  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.5045 -#: ../en/ch08-undo.xml:828
  1.5046 +#: ../en/ch08-undo.xml:814
  1.5047  msgid "You run your binary test."
  1.5048  msgstr ""
  1.5049  
  1.5050  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><itemizedlist><listitem><para>
  1.5051 -#: ../en/ch08-undo.xml:830
  1.5052 +#: ../en/ch08-undo.xml:816
  1.5053  msgid ""
  1.5054  "If the test succeeded, you tell <command role=\"hg-cmd\">hg bisect</command> "
  1.5055  "by running the <command role=\"hg-cmd\">hg bisect good</command> command."
  1.5056  msgstr ""
  1.5057  
  1.5058  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><itemizedlist><listitem><para>
  1.5059 -#: ../en/ch08-undo.xml:835
  1.5060 +#: ../en/ch08-undo.xml:821
  1.5061  msgid ""
  1.5062  "If it failed, run the <command role=\"hg-cmd\">hg bisect bad</command> "
  1.5063  "command."
  1.5064  msgstr ""
  1.5065  
  1.5066  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.5067 -#: ../en/ch08-undo.xml:839
  1.5068 +#: ../en/ch08-undo.xml:825
  1.5069  msgid ""
  1.5070  "The command uses your information to decide which changeset to test next."
  1.5071  msgstr ""
  1.5072  
  1.5073  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.5074 -#: ../en/ch08-undo.xml:842
  1.5075 +#: ../en/ch08-undo.xml:828
  1.5076  msgid ""
  1.5077  "It updates the working directory to that changeset, and the process begins "
  1.5078  "again."
  1.5079  msgstr ""
  1.5080  
  1.5081  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5082 -#: ../en/ch08-undo.xml:845
  1.5083 +#: ../en/ch08-undo.xml:831
  1.5084  msgid ""
  1.5085  "The process ends when <command role=\"hg-cmd\">hg bisect</command> identifies "
  1.5086  "a unique changeset that marks the point where your test transitioned from "
  1.5087 @@ -10026,14 +10014,14 @@
  1.5088  
  1.5089  #
  1.5090  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5091 -#: ../en/ch08-undo.xml:850
  1.5092 +#: ../en/ch08-undo.xml:836
  1.5093  msgid ""
  1.5094  "To start the search, we must run the <command role=\"hg-cmd\">hg bisect --"
  1.5095  "reset</command> command."
  1.5096  msgstr ""
  1.5097  
  1.5098  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5099 -#: ../en/ch08-undo.xml:855
  1.5100 +#: ../en/ch08-undo.xml:841
  1.5101  msgid ""
  1.5102  "In our case, the binary test we use is simple: we check to see if any file in "
  1.5103  "the repository contains the string <quote>i have a gub</quote>.  If it does, "
  1.5104 @@ -10043,7 +10031,7 @@
  1.5105  msgstr ""
  1.5106  
  1.5107  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5108 -#: ../en/ch08-undo.xml:863
  1.5109 +#: ../en/ch08-undo.xml:849
  1.5110  msgid ""
  1.5111  "Most of the time, the revision to which the working directory is synced "
  1.5112  "(usually the tip) already exhibits the problem introduced by the buggy "
  1.5113 @@ -10052,7 +10040,7 @@
  1.5114  
  1.5115  #
  1.5116  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5117 -#: ../en/ch08-undo.xml:870
  1.5118 +#: ../en/ch08-undo.xml:856
  1.5119  msgid ""
  1.5120  "Our next task is to nominate a changeset that we know <emphasis>doesn't</"
  1.5121  "emphasis> have the bug; the <command role=\"hg-cmd\">hg bisect</command> "
  1.5122 @@ -10063,26 +10051,26 @@
  1.5123  msgstr ""
  1.5124  
  1.5125  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5126 -#: ../en/ch08-undo.xml:880
  1.5127 +#: ../en/ch08-undo.xml:866
  1.5128  msgid "Notice that this command printed some output."
  1.5129  msgstr ""
  1.5130  
  1.5131  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5132 -#: ../en/ch08-undo.xml:882
  1.5133 +#: ../en/ch08-undo.xml:868
  1.5134  msgid ""
  1.5135  "It told us how many changesets it must consider before it can identify the "
  1.5136  "one that introduced the bug, and how many tests that will require."
  1.5137  msgstr ""
  1.5138  
  1.5139  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5140 -#: ../en/ch08-undo.xml:886
  1.5141 +#: ../en/ch08-undo.xml:872
  1.5142  msgid ""
  1.5143  "It updated the working directory to the next changeset to test, and told us "
  1.5144  "which changeset it's testing."
  1.5145  msgstr ""
  1.5146  
  1.5147  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5148 -#: ../en/ch08-undo.xml:891
  1.5149 +#: ../en/ch08-undo.xml:877
  1.5150  msgid ""
  1.5151  "We now run our test in the working directory.  We use the <command>grep</"
  1.5152  "command> command to see if our <quote>bad</quote> file is present in the "
  1.5153 @@ -10091,26 +10079,26 @@
  1.5154  msgstr ""
  1.5155  
  1.5156  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5157 -#: ../en/ch08-undo.xml:897
  1.5158 +#: ../en/ch08-undo.xml:883
  1.5159  msgid ""
  1.5160  "This test looks like a perfect candidate for automation, so let's turn it "
  1.5161  "into a shell function."
  1.5162  msgstr ""
  1.5163  
  1.5164  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5165 -#: ../en/ch08-undo.xml:901
  1.5166 +#: ../en/ch08-undo.xml:887
  1.5167  msgid ""
  1.5168  "We can now run an entire test step with a single command, <literal>mytest</"
  1.5169  "literal>."
  1.5170  msgstr ""
  1.5171  
  1.5172  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5173 -#: ../en/ch08-undo.xml:906
  1.5174 +#: ../en/ch08-undo.xml:892
  1.5175  msgid "A few more invocations of our canned test step command, and we're done."
  1.5176  msgstr ""
  1.5177  
  1.5178  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5179 -#: ../en/ch08-undo.xml:911
  1.5180 +#: ../en/ch08-undo.xml:897
  1.5181  msgid ""
  1.5182  "Even though we had 40 changesets to search through, the <command role=\"hg-cmd"
  1.5183  "\">hg bisect</command> command let us find the changeset that introduced our "
  1.5184 @@ -10122,13 +10110,13 @@
  1.5185  msgstr ""
  1.5186  
  1.5187  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5188 -#: ../en/ch08-undo.xml:922
  1.5189 +#: ../en/ch08-undo.xml:908
  1.5190  msgid "Cleaning up after your search"
  1.5191  msgstr "搜索后的清理"
  1.5192  
  1.5193  #
  1.5194  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5195 -#: ../en/ch08-undo.xml:924
  1.5196 +#: ../en/ch08-undo.xml:910
  1.5197  msgid ""
  1.5198  "When you're finished using the <command role=\"hg-cmd\">hg bisect</command> "
  1.5199  "command in a repository, you can use the <command role=\"hg-cmd\">hg bisect "
  1.5200 @@ -10140,17 +10128,17 @@
  1.5201  msgstr ""
  1.5202  
  1.5203  #. type: Content of: <book><chapter><sect1><title>
  1.5204 -#: ../en/ch08-undo.xml:939
  1.5205 +#: ../en/ch08-undo.xml:925
  1.5206  msgid "Tips for finding bugs effectively"
  1.5207  msgstr "有效查找问题的技巧"
  1.5208  
  1.5209  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5210 -#: ../en/ch08-undo.xml:942
  1.5211 +#: ../en/ch08-undo.xml:928
  1.5212  msgid "Give consistent input"
  1.5213  msgstr "给出一致的输入"
  1.5214  
  1.5215  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5216 -#: ../en/ch08-undo.xml:944
  1.5217 +#: ../en/ch08-undo.xml:930
  1.5218  msgid ""
  1.5219  "The <command role=\"hg-cmd\">hg bisect</command> command requires that you "
  1.5220  "correctly report the result of every test you perform.  If you tell it that a "
  1.5221 @@ -10162,12 +10150,12 @@
  1.5222  msgstr ""
  1.5223  
  1.5224  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5225 -#: ../en/ch08-undo.xml:956
  1.5226 +#: ../en/ch08-undo.xml:942
  1.5227  msgid "Automate as much as possible"
  1.5228  msgstr "尽量自动"
  1.5229  
  1.5230  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5231 -#: ../en/ch08-undo.xml:958
  1.5232 +#: ../en/ch08-undo.xml:944
  1.5233  msgid ""
  1.5234  "When I started using the <command role=\"hg-cmd\">hg bisect</command> "
  1.5235  "command, I tried a few times to run my tests by hand, on the command line.  "
  1.5236 @@ -10177,7 +10165,7 @@
  1.5237  msgstr ""
  1.5238  
  1.5239  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5240 -#: ../en/ch08-undo.xml:966
  1.5241 +#: ../en/ch08-undo.xml:952
  1.5242  msgid ""
  1.5243  "My initial problems with driving the <command role=\"hg-cmd\">hg bisect</"
  1.5244  "command> command by hand occurred even with simple searches on small "
  1.5245 @@ -10188,24 +10176,24 @@
  1.5246  msgstr ""
  1.5247  
  1.5248  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5249 -#: ../en/ch08-undo.xml:975
  1.5250 +#: ../en/ch08-undo.xml:961
  1.5251  msgid "The key to automated testing is twofold:"
  1.5252  msgstr ""
  1.5253  
  1.5254  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5255 -#: ../en/ch08-undo.xml:977
  1.5256 +#: ../en/ch08-undo.xml:963
  1.5257  msgid "always test for the same symptom, and"
  1.5258  msgstr ""
  1.5259  
  1.5260  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5261 -#: ../en/ch08-undo.xml:979
  1.5262 +#: ../en/ch08-undo.xml:965
  1.5263  msgid ""
  1.5264  "always feed consistent input to the <command role=\"hg-cmd\">hg bisect</"
  1.5265  "command> command."
  1.5266  msgstr ""
  1.5267  
  1.5268  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5269 -#: ../en/ch08-undo.xml:982
  1.5270 +#: ../en/ch08-undo.xml:968
  1.5271  msgid ""
  1.5272  "In my tutorial example above, the <command>grep</command> command tests for "
  1.5273  "the symptom, and the <literal>if</literal> statement takes the result of this "
  1.5274 @@ -10216,12 +10204,12 @@
  1.5275  msgstr ""
  1.5276  
  1.5277  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5278 -#: ../en/ch08-undo.xml:992
  1.5279 +#: ../en/ch08-undo.xml:978
  1.5280  msgid "Check your results"
  1.5281  msgstr "检查你的结果"
  1.5282  
  1.5283  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5284 -#: ../en/ch08-undo.xml:994
  1.5285 +#: ../en/ch08-undo.xml:980
  1.5286  msgid ""
  1.5287  "Because the output of a <command role=\"hg-cmd\">hg bisect</command> search "
  1.5288  "is only as good as the input you give it, don't take the changeset it reports "
  1.5289 @@ -10230,32 +10218,32 @@
  1.5290  msgstr ""
  1.5291  
  1.5292  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5293 -#: ../en/ch08-undo.xml:1000
  1.5294 +#: ../en/ch08-undo.xml:986
  1.5295  msgid ""
  1.5296  "The changeset that it reports as the first bad revision.  Your test should "
  1.5297  "still report this as bad."
  1.5298  msgstr ""
  1.5299  
  1.5300  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5301 -#: ../en/ch08-undo.xml:1004
  1.5302 +#: ../en/ch08-undo.xml:990
  1.5303  msgid ""
  1.5304  "The parent of that changeset (either parent, if it's a merge). Your test "
  1.5305  "should report this changeset as good."
  1.5306  msgstr ""
  1.5307  
  1.5308  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5309 -#: ../en/ch08-undo.xml:1008
  1.5310 +#: ../en/ch08-undo.xml:994
  1.5311  msgid ""
  1.5312  "A child of that changeset.  Your test should report this changeset as bad."
  1.5313  msgstr ""
  1.5314  
  1.5315  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5316 -#: ../en/ch08-undo.xml:1014
  1.5317 +#: ../en/ch08-undo.xml:1000
  1.5318  msgid "Beware interference between bugs"
  1.5319  msgstr "谨防问题之间的冲突"
  1.5320  
  1.5321  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5322 -#: ../en/ch08-undo.xml:1016
  1.5323 +#: ../en/ch08-undo.xml:1002
  1.5324  msgid ""
  1.5325  "It's possible that your search for one bug could be disrupted by the presence "
  1.5326  "of another.  For example, let's say your software crashes at revision 100, "
  1.5327 @@ -10265,7 +10253,7 @@
  1.5328  msgstr ""
  1.5329  
  1.5330  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5331 -#: ../en/ch08-undo.xml:1024
  1.5332 +#: ../en/ch08-undo.xml:1010
  1.5333  msgid ""
  1.5334  "It is possible that this other bug completely <quote>masks</quote> yours, "
  1.5335  "which is to say that it occurs before your bug has a chance to manifest "
  1.5336 @@ -10277,7 +10265,7 @@
  1.5337  msgstr ""
  1.5338  
  1.5339  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5340 -#: ../en/ch08-undo.xml:1034
  1.5341 +#: ../en/ch08-undo.xml:1020
  1.5342  msgid ""
  1.5343  "A different problem could arise if your test for a bug's presence is not "
  1.5344  "specific enough.  If you check for <quote>my program crashes</quote>, then "
  1.5345 @@ -10286,7 +10274,7 @@
  1.5346  msgstr ""
  1.5347  
  1.5348  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5349 -#: ../en/ch08-undo.xml:1041
  1.5350 +#: ../en/ch08-undo.xml:1027
  1.5351  msgid ""
  1.5352  "Another useful situation in which to use <command role=\"hg-cmd\">hg bisect --"
  1.5353  "skip</command> is if you can't test a revision because your project was in a "
  1.5354 @@ -10295,12 +10283,12 @@
  1.5355  msgstr ""
  1.5356  
  1.5357  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5358 -#: ../en/ch08-undo.xml:1050
  1.5359 +#: ../en/ch08-undo.xml:1036
  1.5360  msgid "Bracket your search lazily"
  1.5361  msgstr "减少你的查找工作"
  1.5362  
  1.5363  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5364 -#: ../en/ch08-undo.xml:1052
  1.5365 +#: ../en/ch08-undo.xml:1038
  1.5366  msgid ""
  1.5367  "Choosing the first <quote>good</quote> and <quote>bad</quote> changesets that "
  1.5368  "will mark the end points of your search is often easy, but it bears a little "
  1.5369 @@ -10310,7 +10298,7 @@
  1.5370  msgstr ""
  1.5371  
  1.5372  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5373 -#: ../en/ch08-undo.xml:1060
  1.5374 +#: ../en/ch08-undo.xml:1046
  1.5375  msgid ""
  1.5376  "If you're having trouble remembering when a suitable <quote>good</quote> "
  1.5377  "change was, so that you can tell <command role=\"hg-cmd\">hg bisect</"
  1.5378 @@ -10321,7 +10309,7 @@
  1.5379  msgstr ""
  1.5380  
  1.5381  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5382 -#: ../en/ch08-undo.xml:1069
  1.5383 +#: ../en/ch08-undo.xml:1055
  1.5384  msgid ""
  1.5385  "Even if you end up <quote>early</quote> by thousands of changesets or months "
  1.5386  "of history, you will only add a handful of tests to the total number that "
  1.5387 @@ -10358,9 +10346,8 @@
  1.5388  #. type: Content of: <book><chapter><sect1><para>
  1.5389  #: ../en/ch09-hook.xml:20
  1.5390  msgid ""
  1.5391 -"Here is a brief list of the hooks that Mercurial supports.  We will revisit "
  1.5392 -"each of these hooks in more detail later, in section <xref linkend=\"sec.hook."
  1.5393 -"ref\"/>."
  1.5394 +"Here is a brief list of the hooks that Mercurial supports. We will revisit "
  1.5395 +"each of these hooks in more detail later, in <xref linkend=\"sec:hook:ref\"/>."
  1.5396  msgstr ""
  1.5397  
  1.5398  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.5399 @@ -10838,8 +10825,7 @@
  1.5400  "new hook.  This will help you to remember what the hook was for.  If the hook "
  1.5401  "fails, you'll get an error message that contains the hook name and extension, "
  1.5402  "so using a descriptive extension could give you an immediate hint as to why "
  1.5403 -"the hook failed (see section <xref linkend=\"sec.hook.perm\"/> for an "
  1.5404 -"example)."
  1.5405 +"the hook failed (see <xref linkend=\"sec:hook:perm\"/> for an example)."
  1.5406  msgstr ""
  1.5407  
  1.5408  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5409 @@ -11335,7 +11321,7 @@
  1.5410  msgstr ""
  1.5411  
  1.5412  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.5413 -#: ../en/ch09-hook.xml:822 ../en/ch09-hook.xml:1089 ../en/ch09-hook.xml:1280
  1.5414 +#: ../en/ch09-hook.xml:822 ../en/ch09-hook.xml:1089 ../en/ch09-hook.xml:1279
  1.5415  msgid "Testing and troubleshooting"
  1.5416  msgstr "测试与问题处理"
  1.5417  
  1.5418 @@ -11632,12 +11618,12 @@
  1.5419  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.5420  #: ../en/ch09-hook.xml:1097
  1.5421  msgid ""
  1.5422 -"Recall from section <xref linkend=\"sec.hook.bugzilla.config\"/> above that "
  1.5423 -"the user that runs the Mercurial process on the server is also the one that "
  1.5424 -"will run the <filename>processmail</filename> script.  The "
  1.5425 -"<filename>processmail</filename> script sometimes causes Bugzilla to write to "
  1.5426 -"files in its configuration directory, and Bugzilla's configuration files are "
  1.5427 -"usually owned by the user that your web server runs under."
  1.5428 +"Recall from <xref linkend=\"sec:hook:bugzilla:config\"/> above that the user "
  1.5429 +"that runs the Mercurial process on the server is also the one that will run "
  1.5430 +"the <filename>processmail</filename> script.  The <filename>processmail</"
  1.5431 +"filename> script sometimes causes Bugzilla to write to files in its "
  1.5432 +"configuration directory, and Bugzilla's configuration files are usually owned "
  1.5433 +"by the user that your web server runs under."
  1.5434  msgstr ""
  1.5435  
  1.5436  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.5437 @@ -11805,12 +11791,12 @@
  1.5438  "<envar role=\"rc-item-notify\">sources</envar>: A list of sources of "
  1.5439  "changesets to consider.  This lets you limit <literal role=\"hg-ext\">notify</"
  1.5440  "literal> to only sending out email about changes that remote users pushed "
  1.5441 -"into this repository via a server, for example.  See section <xref linkend="
  1.5442 -"\"sec.hook.sources\"/> for the sources you can specify here."
  1.5443 +"into this repository via a server, for example.  See <xref linkend=\"sec:hook:"
  1.5444 +"sources\"/> for the sources you can specify here."
  1.5445  msgstr ""
  1.5446  
  1.5447  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.5448 -#: ../en/ch09-hook.xml:1260
  1.5449 +#: ../en/ch09-hook.xml:1259
  1.5450  msgid ""
  1.5451  "If you set the <envar role=\"rc-item-web\">baseurl</envar> item in the "
  1.5452  "<literal role=\"rc-web\">web</literal> section, you can use it in a template; "
  1.5453 @@ -11818,19 +11804,19 @@
  1.5454  msgstr ""
  1.5455  
  1.5456  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.5457 -#: ../en/ch09-hook.xml:1266
  1.5458 +#: ../en/ch09-hook.xml:1265
  1.5459  msgid ""
  1.5460  "Here is an example set of <literal role=\"hg-ext\">notify</literal> "
  1.5461  "configuration information."
  1.5462  msgstr ""
  1.5463  
  1.5464  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.5465 -#: ../en/ch09-hook.xml:1272
  1.5466 +#: ../en/ch09-hook.xml:1271
  1.5467  msgid "This will produce a message that looks like the following:"
  1.5468  msgstr ""
  1.5469  
  1.5470  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.5471 -#: ../en/ch09-hook.xml:1282
  1.5472 +#: ../en/ch09-hook.xml:1281
  1.5473  msgid ""
  1.5474  "Do not forget that by default, the <literal role=\"hg-ext\">notify</literal> "
  1.5475  "extension <emphasis>will not send any mail</emphasis> until you explicitly "
  1.5476 @@ -11840,22 +11826,22 @@
  1.5477  msgstr ""
  1.5478  
  1.5479  #. type: Content of: <book><chapter><sect1><title>
  1.5480 -#: ../en/ch09-hook.xml:1294
  1.5481 +#: ../en/ch09-hook.xml:1293
  1.5482  msgid "Information for writers of hooks"
  1.5483  msgstr "编写钩子的信息"
  1.5484  
  1.5485  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5486 -#: ../en/ch09-hook.xml:1297
  1.5487 +#: ../en/ch09-hook.xml:1296
  1.5488  msgid "In-process hook execution"
  1.5489  msgstr "进程内钩子的执行"
  1.5490  
  1.5491  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5492 -#: ../en/ch09-hook.xml:1299
  1.5493 +#: ../en/ch09-hook.xml:1298
  1.5494  msgid "An in-process hook is called with arguments of the following form:"
  1.5495  msgstr ""
  1.5496  
  1.5497  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5498 -#: ../en/ch09-hook.xml:1303
  1.5499 +#: ../en/ch09-hook.xml:1302
  1.5500  msgid ""
  1.5501  "The <literal>ui</literal> parameter is a <literal role=\"py-mod-mercurial.ui"
  1.5502  "\">ui</literal> object. The <literal>repo</literal> parameter is a <literal "
  1.5503 @@ -11865,7 +11851,7 @@
  1.5504  msgstr ""
  1.5505  
  1.5506  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5507 -#: ../en/ch09-hook.xml:1312
  1.5508 +#: ../en/ch09-hook.xml:1311
  1.5509  msgid ""
  1.5510  "If a parameter is named <literal>node</literal> or <literal>parentN</"
  1.5511  "literal>, it will contain a hexadecimal changeset ID. The empty string is "
  1.5512 @@ -11874,21 +11860,21 @@
  1.5513  msgstr ""
  1.5514  
  1.5515  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5516 -#: ../en/ch09-hook.xml:1319
  1.5517 +#: ../en/ch09-hook.xml:1318
  1.5518  msgid ""
  1.5519  "If a parameter is named <literal>url</literal>, it will contain the URL of a "
  1.5520  "remote repository, if that can be determined."
  1.5521  msgstr ""
  1.5522  
  1.5523  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5524 -#: ../en/ch09-hook.xml:1324
  1.5525 +#: ../en/ch09-hook.xml:1323
  1.5526  msgid ""
  1.5527  "Boolean-valued parameters are represented as Python <literal>bool</literal> "
  1.5528  "objects."
  1.5529  msgstr ""
  1.5530  
  1.5531  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5532 -#: ../en/ch09-hook.xml:1329
  1.5533 +#: ../en/ch09-hook.xml:1328
  1.5534  msgid ""
  1.5535  "An in-process hook is called without a change to the process's working "
  1.5536  "directory (unlike external hooks, which are run in the root of the "
  1.5537 @@ -11897,7 +11883,7 @@
  1.5538  msgstr ""
  1.5539  
  1.5540  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5541 -#: ../en/ch09-hook.xml:1336
  1.5542 +#: ../en/ch09-hook.xml:1335
  1.5543  msgid ""
  1.5544  "If a hook returns a boolean <quote>false</quote> value, it is considered to "
  1.5545  "have succeeded.  If it returns a boolean <quote>true</quote> value or raises "
  1.5546 @@ -11906,7 +11892,7 @@
  1.5547  msgstr ""
  1.5548  
  1.5549  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5550 -#: ../en/ch09-hook.xml:1343
  1.5551 +#: ../en/ch09-hook.xml:1342
  1.5552  msgid ""
  1.5553  "Note that changeset IDs are passed into Python hooks as hexadecimal strings, "
  1.5554  "not the binary hashes that Mercurial's APIs normally use.  To convert a hash "
  1.5555 @@ -11914,12 +11900,12 @@
  1.5556  msgstr ""
  1.5557  
  1.5558  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5559 -#: ../en/ch09-hook.xml:1351
  1.5560 +#: ../en/ch09-hook.xml:1350
  1.5561  msgid "External hook execution"
  1.5562  msgstr "外部钩子的执行"
  1.5563  
  1.5564  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5565 -#: ../en/ch09-hook.xml:1353
  1.5566 +#: ../en/ch09-hook.xml:1352
  1.5567  msgid ""
  1.5568  "An external hook is passed to the shell of the user running Mercurial. "
  1.5569  "Features of that shell, such as variable substitution and command "
  1.5570 @@ -11929,7 +11915,7 @@
  1.5571  msgstr ""
  1.5572  
  1.5573  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5574 -#: ../en/ch09-hook.xml:1361
  1.5575 +#: ../en/ch09-hook.xml:1360
  1.5576  msgid ""
  1.5577  "Hook parameters are passed to the hook as environment variables.  Each "
  1.5578  "environment variable's name is converted in upper case and prefixed with the "
  1.5579 @@ -11940,7 +11926,7 @@
  1.5580  msgstr ""
  1.5581  
  1.5582  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5583 -#: ../en/ch09-hook.xml:1370
  1.5584 +#: ../en/ch09-hook.xml:1369
  1.5585  msgid ""
  1.5586  "A boolean parameter is represented as the string <quote><literal>1</literal></"
  1.5587  "quote> for <quote>true</quote>, <quote><literal>0</literal></quote> for "
  1.5588 @@ -11953,19 +11939,19 @@
  1.5589  msgstr ""
  1.5590  
  1.5591  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5592 -#: ../en/ch09-hook.xml:1382
  1.5593 +#: ../en/ch09-hook.xml:1381
  1.5594  msgid ""
  1.5595  "If a hook exits with a status of zero, it is considered to have succeeded.  "
  1.5596  "If it exits with a non-zero status, it is considered to have failed."
  1.5597  msgstr ""
  1.5598  
  1.5599  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5600 -#: ../en/ch09-hook.xml:1389
  1.5601 +#: ../en/ch09-hook.xml:1388
  1.5602  msgid "Finding out where changesets come from"
  1.5603  msgstr "检查修改集来自何处"
  1.5604  
  1.5605  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5606 -#: ../en/ch09-hook.xml:1391
  1.5607 +#: ../en/ch09-hook.xml:1390
  1.5608  msgid ""
  1.5609  "A hook that involves the transfer of changesets between a local repository "
  1.5610  "and another may be able to find out information about the <quote>far side</"
  1.5611 @@ -11975,12 +11961,12 @@
  1.5612  msgstr ""
  1.5613  
  1.5614  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.5615 -#: ../en/ch09-hook.xml:1400
  1.5616 +#: ../en/ch09-hook.xml:1399
  1.5617  msgid "Sources of changesets"
  1.5618  msgstr "修改集的来源"
  1.5619  
  1.5620  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.5621 -#: ../en/ch09-hook.xml:1402
  1.5622 +#: ../en/ch09-hook.xml:1401
  1.5623  msgid ""
  1.5624  "Mercurial will tell a hook what means are, or were, used to transfer "
  1.5625  "changesets between repositories.  This is provided by Mercurial in a Python "
  1.5626 @@ -11989,40 +11975,40 @@
  1.5627  msgstr ""
  1.5628  
  1.5629  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.5630 -#: ../en/ch09-hook.xml:1410
  1.5631 +#: ../en/ch09-hook.xml:1409
  1.5632  msgid ""
  1.5633  "<literal>serve</literal>: Changesets are transferred to or from a remote "
  1.5634  "repository over http or ssh."
  1.5635  msgstr ""
  1.5636  
  1.5637  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.5638 -#: ../en/ch09-hook.xml:1415
  1.5639 +#: ../en/ch09-hook.xml:1414
  1.5640  msgid ""
  1.5641  "<literal>pull</literal>: Changesets are being transferred via a pull from one "
  1.5642  "repository into another."
  1.5643  msgstr ""
  1.5644  
  1.5645  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.5646 -#: ../en/ch09-hook.xml:1420
  1.5647 +#: ../en/ch09-hook.xml:1419
  1.5648  msgid ""
  1.5649  "<literal>push</literal>: Changesets are being transferred via a push from one "
  1.5650  "repository into another."
  1.5651  msgstr ""
  1.5652  
  1.5653  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.5654 -#: ../en/ch09-hook.xml:1425
  1.5655 +#: ../en/ch09-hook.xml:1424
  1.5656  msgid ""
  1.5657  "<literal>bundle</literal>: Changesets are being transferred to or from a "
  1.5658  "bundle."
  1.5659  msgstr ""
  1.5660  
  1.5661  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.5662 -#: ../en/ch09-hook.xml:1432
  1.5663 +#: ../en/ch09-hook.xml:1431
  1.5664  msgid "Where changes are going&emdash;remote repository URLs"
  1.5665  msgstr "修改集要到哪里&emdash;远程版本库的地址"
  1.5666  
  1.5667  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.5668 -#: ../en/ch09-hook.xml:1435
  1.5669 +#: ../en/ch09-hook.xml:1434
  1.5670  msgid ""
  1.5671  "When possible, Mercurial will tell a hook the location of the <quote>far "
  1.5672  "side</quote> of an activity that transfers changeset data between "
  1.5673 @@ -12032,7 +12018,7 @@
  1.5674  msgstr ""
  1.5675  
  1.5676  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.5677 -#: ../en/ch09-hook.xml:1443
  1.5678 +#: ../en/ch09-hook.xml:1442
  1.5679  msgid ""
  1.5680  "This information is not always known.  If a hook is invoked in a repository "
  1.5681  "that is being served via http or ssh, Mercurial cannot tell where the remote "
  1.5682 @@ -12041,14 +12027,14 @@
  1.5683  msgstr ""
  1.5684  
  1.5685  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.5686 -#: ../en/ch09-hook.xml:1450
  1.5687 +#: ../en/ch09-hook.xml:1449
  1.5688  msgid ""
  1.5689  "<literal>remote:ssh:1.2.3.4</literal>&emdash;remote ssh client, at the IP "
  1.5690  "address <literal>1.2.3.4</literal>."
  1.5691  msgstr ""
  1.5692  
  1.5693  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.5694 -#: ../en/ch09-hook.xml:1455
  1.5695 +#: ../en/ch09-hook.xml:1454
  1.5696  msgid ""
  1.5697  "<literal>remote:http:1.2.3.4</literal>&emdash;remote http client, at the IP "
  1.5698  "address <literal>1.2.3.4</literal>.  If the client is using SSL, this will be "
  1.5699 @@ -12056,24 +12042,24 @@
  1.5700  msgstr ""
  1.5701  
  1.5702  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.5703 -#: ../en/ch09-hook.xml:1462
  1.5704 +#: ../en/ch09-hook.xml:1461
  1.5705  msgid "Empty&emdash;no information could be discovered about the remote client."
  1.5706  msgstr ""
  1.5707  
  1.5708  #. type: Content of: <book><chapter><sect1><title>
  1.5709 -#: ../en/ch09-hook.xml:1471
  1.5710 +#: ../en/ch09-hook.xml:1470
  1.5711  msgid "Hook reference"
  1.5712  msgstr "钩子参考"
  1.5713  
  1.5714  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5715 -#: ../en/ch09-hook.xml:1474
  1.5716 +#: ../en/ch09-hook.xml:1473
  1.5717  msgid ""
  1.5718  "<literal role=\"hook\">changegroup</literal>&emdash;after remote changesets "
  1.5719  "added"
  1.5720  msgstr "<literal role=\"hook\">changegroup</literal>&emdash;增加远程修改集之后"
  1.5721  
  1.5722  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5723 -#: ../en/ch09-hook.xml:1477
  1.5724 +#: ../en/ch09-hook.xml:1476
  1.5725  msgid ""
  1.5726  "This hook is run after a group of pre-existing changesets has been added to "
  1.5727  "the repository, for example via a <command role=\"hg-cmd\">hg pull</command> "
  1.5728 @@ -12084,7 +12070,7 @@
  1.5729  msgstr ""
  1.5730  
  1.5731  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5732 -#: ../en/ch09-hook.xml:1487
  1.5733 +#: ../en/ch09-hook.xml:1486
  1.5734  msgid ""
  1.5735  "Some possible uses for this hook include kicking off an automated build or "
  1.5736  "test of the added changesets, updating a bug database, or notifying "
  1.5737 @@ -12092,15 +12078,15 @@
  1.5738  msgstr ""
  1.5739  
  1.5740  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5741 -#: ../en/ch09-hook.xml:1493 ../en/ch09-hook.xml:1533 ../en/ch09-hook.xml:1576
  1.5742 +#: ../en/ch09-hook.xml:1492 ../en/ch09-hook.xml:1532 ../en/ch09-hook.xml:1576
  1.5743  #: ../en/ch09-hook.xml:1618 ../en/ch09-hook.xml:1673 ../en/ch09-hook.xml:1713
  1.5744 -#: ../en/ch09-hook.xml:1749 ../en/ch09-hook.xml:1784 ../en/ch09-hook.xml:1846
  1.5745 -#: ../en/ch09-hook.xml:1904 ../en/ch09-hook.xml:1938 ../en/ch09-hook.xml:1966
  1.5746 +#: ../en/ch09-hook.xml:1749 ../en/ch09-hook.xml:1783 ../en/ch09-hook.xml:1846
  1.5747 +#: ../en/ch09-hook.xml:1904 ../en/ch09-hook.xml:1940 ../en/ch09-hook.xml:1967
  1.5748  msgid "Parameters to this hook:"
  1.5749  msgstr ""
  1.5750  
  1.5751  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5752 -#: ../en/ch09-hook.xml:1496 ../en/ch09-hook.xml:1849
  1.5753 +#: ../en/ch09-hook.xml:1495 ../en/ch09-hook.xml:1849
  1.5754  msgid ""
  1.5755  "<literal>node</literal>: A changeset ID.  The changeset ID of the first "
  1.5756  "changeset in the group that was added.  All changesets between this and "
  1.5757 @@ -12110,70 +12096,69 @@
  1.5758  msgstr ""
  1.5759  
  1.5760  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5761 -#: ../en/ch09-hook.xml:1505 ../en/ch09-hook.xml:1583 ../en/ch09-hook.xml:1676
  1.5762 +#: ../en/ch09-hook.xml:1504 ../en/ch09-hook.xml:1583 ../en/ch09-hook.xml:1676
  1.5763  #: ../en/ch09-hook.xml:1859
  1.5764  msgid ""
  1.5765 -"<literal>source</literal>: A string.  The source of these changes.  See "
  1.5766 -"section <xref linkend=\"sec.hook.sources\"/> for details."
  1.5767 +"<literal>source</literal>: A string.  The source of these changes.  See <xref "
  1.5768 +"linkend=\"sec:hook:sources\"/> for details."
  1.5769  msgstr ""
  1.5770  
  1.5771  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5772 -#: ../en/ch09-hook.xml:1510 ../en/ch09-hook.xml:1588 ../en/ch09-hook.xml:1639
  1.5773 -#: ../en/ch09-hook.xml:1681 ../en/ch09-hook.xml:1763 ../en/ch09-hook.xml:1864
  1.5774 +#: ../en/ch09-hook.xml:1509 ../en/ch09-hook.xml:1588 ../en/ch09-hook.xml:1639
  1.5775 +#: ../en/ch09-hook.xml:1681 ../en/ch09-hook.xml:1762 ../en/ch09-hook.xml:1864
  1.5776  msgid ""
  1.5777  "<literal>url</literal>: A URL.  The location of the remote repository, if "
  1.5778 -"known.  See section <xref linkend=\"sec.hook.url\"/> for more information."
  1.5779 -msgstr ""
  1.5780 -
  1.5781 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.5782 -#: ../en/ch09-hook.xml:1517
  1.5783 -msgid ""
  1.5784 -"See also: <literal role=\"hook\">incoming</literal> (section <xref linkend="
  1.5785 -"\"sec.hook.incoming\"/>), <literal role=\"hook\">prechangegroup</literal> "
  1.5786 -"(section <xref linkend=\"sec.hook.prechangegroup\"/>), <literal role=\"hook"
  1.5787 -"\">pretxnchangegroup</literal> (section <xref linkend=\"sec.hook."
  1.5788 -"pretxnchangegroup\"/>)"
  1.5789 +"known.  See <xref linkend=\"sec:hook:url\"/> for more information."
  1.5790 +msgstr ""
  1.5791 +
  1.5792 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.5793 +#: ../en/ch09-hook.xml:1515
  1.5794 +msgid ""
  1.5795 +"See also: <literal role=\"hook\">incoming</literal> (<xref linkend=\"sec:hook:"
  1.5796 +"incoming\"/>), <literal role=\"hook\">prechangegroup</literal> (<xref linkend="
  1.5797 +"\"sec:hook:prechangegroup\"/>), <literal role=\"hook\">pretxnchangegroup</"
  1.5798 +"literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/>)"
  1.5799  msgstr ""
  1.5800  
  1.5801  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5802 -#: ../en/ch09-hook.xml:1527
  1.5803 +#: ../en/ch09-hook.xml:1526
  1.5804  msgid ""
  1.5805  "<literal role=\"hook\">commit</literal>&emdash;after a new changeset is "
  1.5806  "created"
  1.5807  msgstr "<literal role=\"hook\">commit</literal>&emdash;创建新修改集之后"
  1.5808  
  1.5809  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5810 -#: ../en/ch09-hook.xml:1530
  1.5811 +#: ../en/ch09-hook.xml:1529
  1.5812  msgid "This hook is run after a new changeset has been created."
  1.5813  msgstr ""
  1.5814  
  1.5815  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5816 -#: ../en/ch09-hook.xml:1536 ../en/ch09-hook.xml:1907
  1.5817 +#: ../en/ch09-hook.xml:1535 ../en/ch09-hook.xml:1907
  1.5818  msgid ""
  1.5819  "<literal>node</literal>: A changeset ID.  The changeset ID of the newly "
  1.5820  "committed changeset."
  1.5821  msgstr ""
  1.5822  
  1.5823  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5824 -#: ../en/ch09-hook.xml:1540 ../en/ch09-hook.xml:1911
  1.5825 +#: ../en/ch09-hook.xml:1539 ../en/ch09-hook.xml:1911
  1.5826  msgid ""
  1.5827  "<literal>parent1</literal>: A changeset ID.  The changeset ID of the first "
  1.5828  "parent of the newly committed changeset."
  1.5829  msgstr ""
  1.5830  
  1.5831  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5832 -#: ../en/ch09-hook.xml:1545 ../en/ch09-hook.xml:1916
  1.5833 +#: ../en/ch09-hook.xml:1544 ../en/ch09-hook.xml:1916
  1.5834  msgid ""
  1.5835  "<literal>parent2</literal>: A changeset ID.  The changeset ID of the second "
  1.5836  "parent of the newly committed changeset."
  1.5837  msgstr ""
  1.5838  
  1.5839  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5840 -#: ../en/ch09-hook.xml:1551
  1.5841 -msgid ""
  1.5842 -"See also: <literal role=\"hook\">precommit</literal> (section <xref linkend="
  1.5843 -"\"sec.hook.precommit\"/>), <literal role=\"hook\">pretxncommit</literal> "
  1.5844 -"(section <xref linkend=\"sec.hook.pretxncommit\"/>)"
  1.5845 +#: ../en/ch09-hook.xml:1550
  1.5846 +msgid ""
  1.5847 +"See also: <literal role=\"hook\">precommit</literal> (<xref linkend=\"sec:"
  1.5848 +"hook:precommit\"/>), <literal role=\"hook\">pretxncommit</literal> (<xref "
  1.5849 +"linkend=\"sec:hook:pretxncommit\"/>)"
  1.5850  msgstr ""
  1.5851  
  1.5852  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5853 @@ -12196,8 +12181,8 @@
  1.5854  #: ../en/ch09-hook.xml:1569
  1.5855  msgid ""
  1.5856  "You can use this hook for the same purposes as the <literal role=\"hook"
  1.5857 -"\">changegroup</literal> hook (section <xref linkend=\"sec.hook.changegroup\"/"
  1.5858 -">); it's simply more convenient sometimes to run a hook once per group of "
  1.5859 +"\">changegroup</literal> hook (<xref linkend=\"sec:hook:changegroup\"/>); "
  1.5860 +"it's simply more convenient sometimes to run a hook once per group of "
  1.5861  "changesets, while other times it's handier once per changeset."
  1.5862  msgstr ""
  1.5863  
  1.5864 @@ -12208,13 +12193,13 @@
  1.5865  msgstr ""
  1.5866  
  1.5867  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5868 -#: ../en/ch09-hook.xml:1595
  1.5869 -msgid ""
  1.5870 -"See also: <literal role=\"hook\">changegroup</literal> (section <xref linkend="
  1.5871 -"\"sec.hook.changegroup\"/>) <literal role=\"hook\">prechangegroup</literal> "
  1.5872 -"(section <xref linkend=\"sec.hook.prechangegroup\"/>), <literal role=\"hook"
  1.5873 -"\">pretxnchangegroup</literal> (section <xref linkend=\"sec.hook."
  1.5874 -"pretxnchangegroup\"/>)"
  1.5875 +#: ../en/ch09-hook.xml:1594
  1.5876 +msgid ""
  1.5877 +"See also: <literal role=\"hook\">changegroup</literal> (<xref linkend=\"sec:"
  1.5878 +"hook:changegroup\"/>) <literal role=\"hook\">prechangegroup</literal> (<xref "
  1.5879 +"linkend=\"sec:hook:prechangegroup\"/>), <literal role=\"hook"
  1.5880 +"\">pretxnchangegroup</literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/"
  1.5881 +">)"
  1.5882  msgstr ""
  1.5883  
  1.5884  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5885 @@ -12250,19 +12235,19 @@
  1.5886  #: ../en/ch09-hook.xml:1626
  1.5887  msgid ""
  1.5888  "<literal>source</literal>: A string.  The source of the of the operation (see "
  1.5889 -"section <xref linkend=\"sec.hook.sources\"/>).  If a remote client pulled "
  1.5890 -"changes from this repository, <literal>source</literal> will be "
  1.5891 -"<literal>serve</literal>.  If the client that obtained changes from this "
  1.5892 -"repository was local, <literal>source</literal> will be <literal>bundle</"
  1.5893 -"literal>, <literal>pull</literal>, or <literal>push</literal>, depending on "
  1.5894 -"the operation the client performed."
  1.5895 -msgstr ""
  1.5896 -
  1.5897 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.5898 -#: ../en/ch09-hook.xml:1646
  1.5899 -msgid ""
  1.5900 -"See also: <literal role=\"hook\">preoutgoing</literal> (section <xref linkend="
  1.5901 -"\"sec.hook.preoutgoing\"/>)"
  1.5902 +"<xref linkend=\"sec:hook:sources\"/>).  If a remote client pulled changes "
  1.5903 +"from this repository, <literal>source</literal> will be <literal>serve</"
  1.5904 +"literal>.  If the client that obtained changes from this repository was "
  1.5905 +"local, <literal>source</literal> will be <literal>bundle</literal>, "
  1.5906 +"<literal>pull</literal>, or <literal>push</literal>, depending on the "
  1.5907 +"operation the client performed."
  1.5908 +msgstr ""
  1.5909 +
  1.5910 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.5911 +#: ../en/ch09-hook.xml:1645
  1.5912 +msgid ""
  1.5913 +"See also: <literal role=\"hook\">preoutgoing</literal> (<xref linkend=\"sec:"
  1.5914 +"hook:preoutgoing\"/>)"
  1.5915  msgstr ""
  1.5916  
  1.5917  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5918 @@ -12298,13 +12283,12 @@
  1.5919  msgstr ""
  1.5920  
  1.5921  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5922 -#: ../en/ch09-hook.xml:1688
  1.5923 -msgid ""
  1.5924 -"See also: <literal role=\"hook\">changegroup</literal> (section <xref linkend="
  1.5925 -"\"sec.hook.changegroup\"/>), <literal role=\"hook\">incoming</literal> "
  1.5926 -"(section <xref linkend=\"sec.hook.incoming\"/>), , <literal role=\"hook"
  1.5927 -"\">pretxnchangegroup</literal> (section <xref linkend=\"sec.hook."
  1.5928 -"pretxnchangegroup\"/>)"
  1.5929 +#: ../en/ch09-hook.xml:1687
  1.5930 +msgid ""
  1.5931 +"See also: <literal role=\"hook\">changegroup</literal> (<xref linkend=\"sec:"
  1.5932 +"hook:changegroup\"/>), <literal role=\"hook\">incoming</literal> (<xref "
  1.5933 +"linkend=\"sec:hook:incoming\"/>), <literal role=\"hook\">pretxnchangegroup</"
  1.5934 +"literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/>)"
  1.5935  msgstr ""
  1.5936  
  1.5937  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5938 @@ -12354,9 +12338,9 @@
  1.5939  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5940  #: ../en/ch09-hook.xml:1730
  1.5941  msgid ""
  1.5942 -"See also: <literal role=\"hook\">commit</literal> (section <xref linkend="
  1.5943 -"\"sec.hook.commit\"/>), <literal role=\"hook\">pretxncommit</literal> "
  1.5944 -"(section <xref linkend=\"sec.hook.pretxncommit\"/>)"
  1.5945 +"See also: <literal role=\"hook\">commit</literal> (<xref linkend=\"sec:hook:"
  1.5946 +"commit\"/>), <literal role=\"hook\">pretxncommit</literal> (<xref linkend="
  1.5947 +"\"sec:hook:pretxncommit\"/>)"
  1.5948  msgstr ""
  1.5949  
  1.5950  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5951 @@ -12384,35 +12368,34 @@
  1.5952  #: ../en/ch09-hook.xml:1752
  1.5953  msgid ""
  1.5954  "<literal>source</literal>: A string.  The source of the operation that is "
  1.5955 -"attempting to obtain changes from this repository (see section <xref linkend="
  1.5956 -"\"sec.hook.sources\"/>).  See the documentation for the <literal>source</"
  1.5957 -"literal> parameter to the <literal role=\"hook\">outgoing</literal> hook, in "
  1.5958 -"section <xref linkend=\"sec.hook.outgoing\"/>, for possible values of this "
  1.5959 -"parameter."
  1.5960 -msgstr ""
  1.5961 -
  1.5962 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.5963 -#: ../en/ch09-hook.xml:1770
  1.5964 -msgid ""
  1.5965 -"See also: <literal role=\"hook\">outgoing</literal> (section <xref linkend="
  1.5966 -"\"sec.hook.outgoing\"/>)"
  1.5967 +"attempting to obtain changes from this repository (see <xref linkend=\"sec:"
  1.5968 +"hook:sources\"/>).  See the documentation for the <literal>source</literal> "
  1.5969 +"parameter to the <literal role=\"hook\">outgoing</literal> hook, in <xref "
  1.5970 +"linkend=\"sec:hook:outgoing\"/>, for possible values of this parameter."
  1.5971 +msgstr ""
  1.5972 +
  1.5973 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.5974 +#: ../en/ch09-hook.xml:1768
  1.5975 +msgid ""
  1.5976 +"See also: <literal role=\"hook\">outgoing</literal> (<xref linkend=\"sec:hook:"
  1.5977 +"outgoing\"/>)"
  1.5978  msgstr ""
  1.5979  
  1.5980  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5981 -#: ../en/ch09-hook.xml:1776
  1.5982 +#: ../en/ch09-hook.xml:1775
  1.5983  msgid ""
  1.5984  "<literal role=\"hook\">pretag</literal>&emdash;before tagging a changeset"
  1.5985  msgstr "<literal role=\"hook\">pretag</literal>&emdash;创建标签之前"
  1.5986  
  1.5987  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5988 -#: ../en/ch09-hook.xml:1779
  1.5989 +#: ../en/ch09-hook.xml:1778
  1.5990  msgid ""
  1.5991  "This controlling hook is run before a tag is created.  If the hook succeeds, "
  1.5992  "creation of the tag proceeds.  If the hook fails, the tag is not created."
  1.5993  msgstr ""
  1.5994  
  1.5995  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5996 -#: ../en/ch09-hook.xml:1787
  1.5997 +#: ../en/ch09-hook.xml:1786
  1.5998  msgid ""
  1.5999  "<literal>local</literal>: A boolean.  Whether the tag is local to this "
  1.6000  "repository instance (i.e. stored in <filename role=\"special\">.hg/localtags</"
  1.6001 @@ -12421,31 +12404,31 @@
  1.6002  msgstr ""
  1.6003  
  1.6004  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6005 -#: ../en/ch09-hook.xml:1794
  1.6006 +#: ../en/ch09-hook.xml:1793
  1.6007  msgid ""
  1.6008  "<literal>node</literal>: A changeset ID.  The ID of the changeset to be "
  1.6009  "tagged."
  1.6010  msgstr ""
  1.6011  
  1.6012  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6013 -#: ../en/ch09-hook.xml:1798
  1.6014 +#: ../en/ch09-hook.xml:1797
  1.6015  msgid "<literal>tag</literal>: A string.  The name of the tag to be created."
  1.6016  msgstr ""
  1.6017  
  1.6018  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6019 -#: ../en/ch09-hook.xml:1803
  1.6020 +#: ../en/ch09-hook.xml:1802
  1.6021  msgid ""
  1.6022  "If the tag to be created is revision-controlled, the <literal role=\"hook"
  1.6023  "\">precommit</literal> and <literal role=\"hook\">pretxncommit</literal> "
  1.6024 -"hooks (sections <xref linkend=\"sec.hook.commit\"/> and <xref linkend=\"sec."
  1.6025 -"hook.pretxncommit\"/>) will also be run."
  1.6026 +"hooks (<xref linkend=\"sec:hook:commit\"/> and <xref linkend=\"sec:hook:"
  1.6027 +"pretxncommit\"/>) will also be run."
  1.6028  msgstr ""
  1.6029  
  1.6030  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6031  #: ../en/ch09-hook.xml:1810
  1.6032  msgid ""
  1.6033 -"See also: <literal role=\"hook\">tag</literal> (section <xref linkend=\"sec."
  1.6034 -"hook.tag\"/>)"
  1.6035 +"See also: <literal role=\"hook\">tag</literal> (<xref linkend=\"sec:hook:tag"
  1.6036 +"\"/>)"
  1.6037  msgstr ""
  1.6038  
  1.6039  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6040 @@ -12493,13 +12476,12 @@
  1.6041  msgstr ""
  1.6042  
  1.6043  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6044 -#: ../en/ch09-hook.xml:1871
  1.6045 -msgid ""
  1.6046 -"See also: <literal role=\"hook\">changegroup</literal> (section <xref linkend="
  1.6047 -"\"sec.hook.changegroup\"/>), <literal role=\"hook\">incoming</literal> "
  1.6048 -"(section <xref linkend=\"sec.hook.incoming\"/>), <literal role=\"hook"
  1.6049 -"\">prechangegroup</literal> (section <xref linkend=\"sec.hook.prechangegroup"
  1.6050 -"\"/>)"
  1.6051 +#: ../en/ch09-hook.xml:1870
  1.6052 +msgid ""
  1.6053 +"See also: <literal role=\"hook\">changegroup</literal> (<xref linkend=\"sec:"
  1.6054 +"hook:changegroup\"/>), <literal role=\"hook\">incoming</literal> (<xref "
  1.6055 +"linkend=\"sec:hook:incoming\"/>), <literal role=\"hook\">prechangegroup</"
  1.6056 +"literal> (<xref linkend=\"sec:hook:prechangegroup\"/>)"
  1.6057  msgstr ""
  1.6058  
  1.6059  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6060 @@ -12537,13 +12519,14 @@
  1.6061  
  1.6062  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6063  #: ../en/ch09-hook.xml:1922
  1.6064 -msgid ""
  1.6065 -"See also: <literal role=\"hook\">precommit</literal> (section <xref linkend="
  1.6066 -"\"sec.hook.precommit\"/>)"
  1.6067 -msgstr ""
  1.6068 +#, fuzzy
  1.6069 +msgid ""
  1.6070 +"See also: <literal role=\"hook\">precommit</literal> (<xref linkend=\"sec:"
  1.6071 +"hook:precommit\"/>)"
  1.6072 +msgstr "<literal role=\"hook\">precommit</literal>&emdash;提交修改集之前"
  1.6073  
  1.6074  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6075 -#: ../en/ch09-hook.xml:1928
  1.6076 +#: ../en/ch09-hook.xml:1929
  1.6077  msgid ""
  1.6078  "<literal role=\"hook\">preupdate</literal>&emdash;before updating or merging "
  1.6079  "working directory"
  1.6080 @@ -12551,7 +12534,7 @@
  1.6081  "<literal role=\"hook\">preupdate</literal>&emdash;更新或合并工作目录之前"
  1.6082  
  1.6083  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6084 -#: ../en/ch09-hook.xml:1931
  1.6085 +#: ../en/ch09-hook.xml:1932
  1.6086  msgid ""
  1.6087  "This controlling hook is run before an update or merge of the working "
  1.6088  "directory begins.  It is run only if Mercurial's normal pre-update checks "
  1.6089 @@ -12560,40 +12543,40 @@
  1.6090  msgstr ""
  1.6091  
  1.6092  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6093 -#: ../en/ch09-hook.xml:1941
  1.6094 -msgid ""
  1.6095 -"<literal>parent1</literal>: A changeset ID.  The ID of the parent that the "
  1.6096 +#: ../en/ch09-hook.xml:1943
  1.6097 +msgid ""
  1.6098 +"<literal>parent1</literal>: A changeset ID. The ID of the parent that the "
  1.6099  "working directory is to be updated to.  If the working directory is being "
  1.6100  "merged, it will not change this parent."
  1.6101  msgstr ""
  1.6102  
  1.6103  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6104 -#: ../en/ch09-hook.xml:1947
  1.6105 -msgid ""
  1.6106 -"<literal>parent2</literal>: A changeset ID.  Only set if the working "
  1.6107 -"directory is being merged.  The ID of the revision that the working directory "
  1.6108 -"is being merged with."
  1.6109 -msgstr ""
  1.6110 -
  1.6111 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.6112 -#: ../en/ch09-hook.xml:1954
  1.6113 -msgid ""
  1.6114 -"See also: <literal role=\"hook\">update</literal> (section <xref linkend="
  1.6115 -"\"sec.hook.update\"/>)"
  1.6116 +#: ../en/ch09-hook.xml:1949
  1.6117 +msgid ""
  1.6118 +"<literal>parent2</literal>: A changeset ID. Only set if the working directory "
  1.6119 +"is being merged.  The ID of the revision that the working directory is being "
  1.6120 +"merged with."
  1.6121 +msgstr ""
  1.6122 +
  1.6123 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.6124 +#: ../en/ch09-hook.xml:1956
  1.6125 +msgid ""
  1.6126 +"See also: <literal role=\"hook\">update</literal> (<xref linkend=\"sec:hook:"
  1.6127 +"update\"/>)"
  1.6128  msgstr ""
  1.6129  
  1.6130  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6131 -#: ../en/ch09-hook.xml:1960
  1.6132 +#: ../en/ch09-hook.xml:1961
  1.6133  msgid "<literal role=\"hook\">tag</literal>&emdash;after tagging a changeset"
  1.6134  msgstr "<literal role=\"hook\">tag</literal>&emdash;创建标签之后"
  1.6135  
  1.6136  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6137 -#: ../en/ch09-hook.xml:1963
  1.6138 +#: ../en/ch09-hook.xml:1964
  1.6139  msgid "This hook is run after a tag has been created."
  1.6140  msgstr ""
  1.6141  
  1.6142  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6143 -#: ../en/ch09-hook.xml:1969
  1.6144 +#: ../en/ch09-hook.xml:1970
  1.6145  msgid ""
  1.6146  "<literal>local</literal>: A boolean.  Whether the new tag is local to this "
  1.6147  "repository instance (i.e.  stored in <filename role=\"special\">.hg/"
  1.6148 @@ -12602,41 +12585,42 @@
  1.6149  msgstr ""
  1.6150  
  1.6151  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6152 -#: ../en/ch09-hook.xml:1977
  1.6153 +#: ../en/ch09-hook.xml:1978
  1.6154  msgid ""
  1.6155  "<literal>node</literal>: A changeset ID.  The ID of the changeset that was "
  1.6156  "tagged."
  1.6157  msgstr ""
  1.6158  
  1.6159  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6160 -#: ../en/ch09-hook.xml:1981
  1.6161 +#: ../en/ch09-hook.xml:1982
  1.6162  msgid "<literal>tag</literal>: A string.  The name of the tag that was created."
  1.6163  msgstr ""
  1.6164  
  1.6165  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6166 -#: ../en/ch09-hook.xml:1986
  1.6167 +#: ../en/ch09-hook.xml:1987
  1.6168  msgid ""
  1.6169  "If the created tag is revision-controlled, the <literal role=\"hook\">commit</"
  1.6170 -"literal> hook (section <xref linkend=\"sec.hook.commit\"/>) is run before "
  1.6171 +"literal> hook (section <xref linkend=\"sec:hook:commit\"/>) is run before "
  1.6172  "this hook."
  1.6173  msgstr ""
  1.6174  
  1.6175  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6176 -#: ../en/ch09-hook.xml:1991
  1.6177 -msgid ""
  1.6178 -"See also: <literal role=\"hook\">pretag</literal> (section <xref linkend="
  1.6179 -"\"sec.hook.pretag\"/>)"
  1.6180 -msgstr ""
  1.6181 +#: ../en/ch09-hook.xml:1992
  1.6182 +#, fuzzy
  1.6183 +msgid ""
  1.6184 +"See also: <literal role=\"hook\">pretag</literal> (<xref linkend=\"sec:hook:"
  1.6185 +"pretag\"/>)"
  1.6186 +msgstr "<literal role=\"hook\">pretag</literal>&emdash;创建标签之前"
  1.6187  
  1.6188  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6189 -#: ../en/ch09-hook.xml:1997
  1.6190 +#: ../en/ch09-hook.xml:1998
  1.6191  msgid ""
  1.6192  "<literal role=\"hook\">update</literal>&emdash;after updating or merging "
  1.6193  "working directory"
  1.6194  msgstr "<literal role=\"hook\">update</literal>&emdash;更新或合并工作目录之后"
  1.6195  
  1.6196  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6197 -#: ../en/ch09-hook.xml:2000
  1.6198 +#: ../en/ch09-hook.xml:2001
  1.6199  msgid ""
  1.6200  "This hook is run after an update or merge of the working directory "
  1.6201  "completes.  Since a merge can fail (if the external <command>hgmerge</"
  1.6202 @@ -12645,14 +12629,14 @@
  1.6203  msgstr ""
  1.6204  
  1.6205  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6206 -#: ../en/ch09-hook.xml:2008
  1.6207 +#: ../en/ch09-hook.xml:2009
  1.6208  msgid ""
  1.6209  "<literal>error</literal>: A boolean.  Indicates whether the update or merge "
  1.6210  "completed successfully."
  1.6211  msgstr ""
  1.6212  
  1.6213  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6214 -#: ../en/ch09-hook.xml:2013
  1.6215 +#: ../en/ch09-hook.xml:2014
  1.6216  msgid ""
  1.6217  "<literal>parent1</literal>: A changeset ID.  The ID of the parent that the "
  1.6218  "working directory was updated to.  If the working directory was merged, it "
  1.6219 @@ -12660,7 +12644,7 @@
  1.6220  msgstr ""
  1.6221  
  1.6222  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6223 -#: ../en/ch09-hook.xml:2019
  1.6224 +#: ../en/ch09-hook.xml:2020
  1.6225  msgid ""
  1.6226  "<literal>parent2</literal>: A changeset ID.  Only set if the working "
  1.6227  "directory was merged.  The ID of the revision that the working directory was "
  1.6228 @@ -12668,10 +12652,10 @@
  1.6229  msgstr ""
  1.6230  
  1.6231  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6232 -#: ../en/ch09-hook.xml:2025
  1.6233 -msgid ""
  1.6234 -"See also: <literal role=\"hook\">preupdate</literal> (section <xref linkend="
  1.6235 -"\"sec.hook.preupdate\"/>)"
  1.6236 +#: ../en/ch09-hook.xml:2026
  1.6237 +msgid ""
  1.6238 +"See also: <literal role=\"hook\">preupdate</literal> (<xref linkend=\"sec:"
  1.6239 +"hook:preupdate\"/>)"
  1.6240  msgstr ""
  1.6241  
  1.6242  #. type: Content of: <book><chapter><title>
  1.6243 @@ -12818,8 +12802,8 @@
  1.6244  "Notice that the template string above ends with the text <quote><literal>\\n</"
  1.6245  "literal></quote>.  This is an <emphasis>escape sequence</emphasis>, telling "
  1.6246  "Mercurial to print a newline at the end of each template item.  If you omit "
  1.6247 -"this newline, Mercurial will run each piece of output together.  See section "
  1.6248 -"<xref linkend=\"sec.template.escape\"/> for more details of escape sequences."
  1.6249 +"this newline, Mercurial will run each piece of output together.  See <xref "
  1.6250 +"linkend=\"sec:template:escape\"/> for more details of escape sequences."
  1.6251  msgstr ""
  1.6252  
  1.6253  #. type: Content of: <book><chapter><sect1><para>
  1.6254 @@ -12838,29 +12822,29 @@
  1.6255  "(<quote><literal>{</literal></quote> and <quote><literal>}</literal></"
  1.6256  "quote>), it will try to replace the braces and text with the expansion of "
  1.6257  "whatever is inside.  To print a literal curly brace, you must escape it, as "
  1.6258 -"described in section <xref linkend=\"sec.template.escape\"/>."
  1.6259 +"described in <xref linkend=\"sec:template:escape\"/>."
  1.6260  msgstr ""
  1.6261  
  1.6262  #. type: Content of: <book><chapter><sect1><title>
  1.6263 -#: ../en/ch10-template.xml:132
  1.6264 +#: ../en/ch10-template.xml:131
  1.6265  msgid "Common template keywords"
  1.6266  msgstr "模版关键字"
  1.6267  
  1.6268  #. type: Content of: <book><chapter><sect1><para>
  1.6269 -#: ../en/ch10-template.xml:134
  1.6270 +#: ../en/ch10-template.xml:133
  1.6271  msgid ""
  1.6272  "You can start writing simple templates immediately using the keywords below."
  1.6273  msgstr ""
  1.6274  
  1.6275  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6276 -#: ../en/ch10-template.xml:138
  1.6277 +#: ../en/ch10-template.xml:137
  1.6278  msgid ""
  1.6279  "<literal role=\"template-keyword\">author</literal>: String.  The unmodified "
  1.6280  "author of the changeset."
  1.6281  msgstr ""
  1.6282  
  1.6283  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6284 -#: ../en/ch10-template.xml:142
  1.6285 +#: ../en/ch10-template.xml:141
  1.6286  msgid ""
  1.6287  "<literal role=\"template-keyword\">branches</literal>: String.  The name of "
  1.6288  "the branch on which the changeset was committed.  Will be empty if the branch "
  1.6289 @@ -12868,96 +12852,95 @@
  1.6290  msgstr ""
  1.6291  
  1.6292  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6293 -#: ../en/ch10-template.xml:148
  1.6294 +#: ../en/ch10-template.xml:147
  1.6295  msgid ""
  1.6296  "<literal role=\"template-keyword\">date</literal>: Date information.  The "
  1.6297  "date when the changeset was committed.  This is <emphasis>not</emphasis> "
  1.6298  "human-readable; you must pass it through a filter that will render it "
  1.6299 -"appropriately.  See section <xref linkend=\"sec.template.filter\"/> for more "
  1.6300 +"appropriately.  See <xref linkend=\"sec:template:filter\"/> for more "
  1.6301  "information on filters. The date is expressed as a pair of numbers.  The "
  1.6302  "first number is a Unix UTC timestamp (seconds since January 1, 1970); the "
  1.6303  "second is the offset of the committer's timezone from UTC, in seconds."
  1.6304  msgstr ""
  1.6305  
  1.6306  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6307 -#: ../en/ch10-template.xml:159
  1.6308 +#: ../en/ch10-template.xml:158
  1.6309  msgid ""
  1.6310  "<literal role=\"template-keyword\">desc</literal>: String.  The text of the "
  1.6311  "changeset description."
  1.6312  msgstr ""
  1.6313  
  1.6314  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6315 -#: ../en/ch10-template.xml:162
  1.6316 +#: ../en/ch10-template.xml:161
  1.6317  msgid ""
  1.6318  "<literal role=\"template-keyword\">files</literal>: List of strings.  All "
  1.6319  "files modified, added, or removed by this changeset."
  1.6320  msgstr ""
  1.6321  
  1.6322  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6323 -#: ../en/ch10-template.xml:167
  1.6324 +#: ../en/ch10-template.xml:166
  1.6325  msgid ""
  1.6326  "<literal role=\"template-keyword\">file_adds</literal>: List of strings.  "
  1.6327  "Files added by this changeset."
  1.6328  msgstr ""
  1.6329  
  1.6330  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6331 -#: ../en/ch10-template.xml:171
  1.6332 +#: ../en/ch10-template.xml:170
  1.6333  msgid ""
  1.6334  "<literal role=\"template-keyword\">file_dels</literal>: List of strings.  "
  1.6335  "Files removed by this changeset."
  1.6336  msgstr ""
  1.6337  
  1.6338  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6339 -#: ../en/ch10-template.xml:175
  1.6340 +#: ../en/ch10-template.xml:174
  1.6341  msgid ""
  1.6342  "<literal role=\"template-keyword\">node</literal>: String.  The changeset "
  1.6343  "identification hash, as a 40-character hexadecimal string."
  1.6344  msgstr ""
  1.6345  
  1.6346  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6347 -#: ../en/ch10-template.xml:179
  1.6348 +#: ../en/ch10-template.xml:178
  1.6349  msgid ""
  1.6350  "<literal role=\"template-keyword\">parents</literal>: List of strings.  The "
  1.6351  "parents of the changeset."
  1.6352  msgstr ""
  1.6353  
  1.6354  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6355 -#: ../en/ch10-template.xml:183
  1.6356 +#: ../en/ch10-template.xml:182
  1.6357  msgid ""
  1.6358  "<literal role=\"template-keyword\">rev</literal>: Integer.  The repository-"
  1.6359  "local changeset revision number."
  1.6360  msgstr ""
  1.6361  
  1.6362  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6363 -#: ../en/ch10-template.xml:187
  1.6364 +#: ../en/ch10-template.xml:186
  1.6365  msgid ""
  1.6366  "<literal role=\"template-keyword\">tags</literal>: List of strings.  Any tags "
  1.6367  "associated with the changeset."
  1.6368  msgstr ""
  1.6369  
  1.6370  #. type: Content of: <book><chapter><sect1><para>
  1.6371 -#: ../en/ch10-template.xml:192
  1.6372 +#: ../en/ch10-template.xml:191
  1.6373  msgid ""
  1.6374  "A few simple experiments will show us what to expect when we use these "
  1.6375  "keywords; you can see the results below."
  1.6376  msgstr ""
  1.6377  
  1.6378  #. type: Content of: <book><chapter><sect1><para>
  1.6379 -#: ../en/ch10-template.xml:197
  1.6380 +#: ../en/ch10-template.xml:196
  1.6381  msgid ""
  1.6382  "As we noted above, the date keyword does not produce human-readable output, "
  1.6383  "so we must treat it specially.  This involves using a <emphasis>filter</"
  1.6384 -"emphasis>, about which more in section <xref linkend=\"sec.template.filter\"/"
  1.6385 -">."
  1.6386 +"emphasis>, about which more in <xref linkend=\"sec:template:filter\"/>."
  1.6387  msgstr ""
  1.6388  
  1.6389  #. type: Content of: <book><chapter><sect1><title>
  1.6390 -#: ../en/ch10-template.xml:207
  1.6391 +#: ../en/ch10-template.xml:205
  1.6392  msgid "Escape sequences"
  1.6393  msgstr "转义序列"
  1.6394  
  1.6395  #. type: Content of: <book><chapter><sect1><para>
  1.6396 -#: ../en/ch10-template.xml:209
  1.6397 +#: ../en/ch10-template.xml:207
  1.6398  msgid ""
  1.6399  "Mercurial's templating engine recognises the most commonly used escape "
  1.6400  "sequences in strings.  When it sees a backslash (<quote><literal>\\</"
  1.6401 @@ -12966,48 +12949,48 @@
  1.6402  msgstr ""
  1.6403  
  1.6404  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6405 -#: ../en/ch10-template.xml:216
  1.6406 +#: ../en/ch10-template.xml:214
  1.6407  msgid ""
  1.6408  "<literal>\\</literal>: Backslash, <quote><literal>\\</literal></quote>, ASCII "
  1.6409  "134."
  1.6410  msgstr ""
  1.6411  
  1.6412  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6413 -#: ../en/ch10-template.xml:220
  1.6414 +#: ../en/ch10-template.xml:218
  1.6415  msgid "<literal>\\n</literal>: Newline, ASCII 12."
  1.6416  msgstr ""
  1.6417  
  1.6418  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6419 -#: ../en/ch10-template.xml:223
  1.6420 +#: ../en/ch10-template.xml:221
  1.6421  msgid "<literal>\\r</literal>: Carriage return, ASCII 15."
  1.6422  msgstr ""
  1.6423  
  1.6424  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6425 -#: ../en/ch10-template.xml:226
  1.6426 +#: ../en/ch10-template.xml:224
  1.6427  msgid "<literal>\\t</literal>: Tab, ASCII 11."
  1.6428  msgstr ""
  1.6429  
  1.6430  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6431 -#: ../en/ch10-template.xml:229
  1.6432 +#: ../en/ch10-template.xml:227
  1.6433  msgid "<literal>\\v</literal>: Vertical tab, ASCII 13."
  1.6434  msgstr ""
  1.6435  
  1.6436  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6437 -#: ../en/ch10-template.xml:232
  1.6438 +#: ../en/ch10-template.xml:230
  1.6439  msgid ""
  1.6440  "<literal>{</literal>: Open curly brace, <quote><literal>{</literal></quote>, "
  1.6441  "ASCII 173."
  1.6442  msgstr ""
  1.6443  
  1.6444  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6445 -#: ../en/ch10-template.xml:236
  1.6446 +#: ../en/ch10-template.xml:234
  1.6447  msgid ""
  1.6448  "<literal>}</literal>: Close curly brace, <quote><literal>}</literal></quote>, "
  1.6449  "ASCII 175."
  1.6450  msgstr ""
  1.6451  
  1.6452  #. type: Content of: <book><chapter><sect1><para>
  1.6453 -#: ../en/ch10-template.xml:241
  1.6454 +#: ../en/ch10-template.xml:239
  1.6455  msgid ""
  1.6456  "As indicated above, if you want the expansion of a template to contain a "
  1.6457  "literal <quote><literal>\\</literal></quote>, <quote><literal>{</literal></"
  1.6458 @@ -13015,12 +12998,12 @@
  1.6459  msgstr ""
  1.6460  
  1.6461  #. type: Content of: <book><chapter><sect1><title>
  1.6462 -#: ../en/ch10-template.xml:249
  1.6463 +#: ../en/ch10-template.xml:247
  1.6464  msgid "Filtering keywords to change their results"
  1.6465  msgstr "通过过滤关键字来修改输出结果"
  1.6466  
  1.6467  #. type: Content of: <book><chapter><sect1><para>
  1.6468 -#: ../en/ch10-template.xml:251
  1.6469 +#: ../en/ch10-template.xml:249
  1.6470  msgid ""
  1.6471  "Some of the results of template expansion are not immediately easy to use.  "
  1.6472  "Mercurial lets you specify an optional chain of <emphasis>filters</emphasis> "
  1.6473 @@ -13030,7 +13013,7 @@
  1.6474  msgstr ""
  1.6475  
  1.6476  #. type: Content of: <book><chapter><sect1><para>
  1.6477 -#: ../en/ch10-template.xml:258
  1.6478 +#: ../en/ch10-template.xml:256
  1.6479  msgid ""
  1.6480  "Below is a list of the most commonly used filters that Mercurial supports.  "
  1.6481  "While some filters can be applied to any text, others can only be used in "
  1.6482 @@ -13039,7 +13022,7 @@
  1.6483  msgstr ""
  1.6484  
  1.6485  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6486 -#: ../en/ch10-template.xml:265
  1.6487 +#: ../en/ch10-template.xml:263
  1.6488  msgid ""
  1.6489  "<literal role=\"template-filter\">addbreaks</literal>: Any text. Add an XHTML "
  1.6490  "<quote><literal>&lt;br/&gt;</literal></quote> tag before the end of every "
  1.6491 @@ -13048,7 +13031,7 @@
  1.6492  msgstr ""
  1.6493  
  1.6494  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6495 -#: ../en/ch10-template.xml:272
  1.6496 +#: ../en/ch10-template.xml:270
  1.6497  msgid ""
  1.6498  "<literal role=\"template-kw-filt-date\">age</literal>: <literal role="
  1.6499  "\"template-keyword\">date</literal> keyword.  Render the age of the date, "
  1.6500 @@ -13057,7 +13040,7 @@
  1.6501  msgstr ""
  1.6502  
  1.6503  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6504 -#: ../en/ch10-template.xml:279
  1.6505 +#: ../en/ch10-template.xml:277
  1.6506  msgid ""
  1.6507  "<literal role=\"template-filter\">basename</literal>: Any text, but most "
  1.6508  "useful for the <literal role=\"template-keyword\">files</literal> keyword and "
  1.6509 @@ -13067,7 +13050,7 @@
  1.6510  msgstr ""
  1.6511  
  1.6512  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6513 -#: ../en/ch10-template.xml:288
  1.6514 +#: ../en/ch10-template.xml:286
  1.6515  msgid ""
  1.6516  "<literal role=\"template-kw-filt-date\">date</literal>: <literal role="
  1.6517  "\"template-keyword\">date</literal> keyword.  Render a date in a similar "
  1.6518 @@ -13077,7 +13060,7 @@
  1.6519  msgstr ""
  1.6520  
  1.6521  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6522 -#: ../en/ch10-template.xml:296
  1.6523 +#: ../en/ch10-template.xml:294
  1.6524  msgid ""
  1.6525  "<literal role=\"template-kw-filt-author\">domain</literal>: Any text, but "
  1.6526  "most useful for the <literal role=\"template-keyword\">author</literal> "
  1.6527 @@ -13088,7 +13071,7 @@
  1.6528  msgstr ""
  1.6529  
  1.6530  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6531 -#: ../en/ch10-template.xml:306
  1.6532 +#: ../en/ch10-template.xml:304
  1.6533  msgid ""
  1.6534  "<literal role=\"template-kw-filt-author\">email</literal>: Any text, but most "
  1.6535  "useful for the <literal role=\"template-keyword\">author</literal> keyword.  "
  1.6536 @@ -13098,7 +13081,7 @@
  1.6537  msgstr ""
  1.6538  
  1.6539  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6540 -#: ../en/ch10-template.xml:315
  1.6541 +#: ../en/ch10-template.xml:313
  1.6542  msgid ""
  1.6543  "<literal role=\"template-filter\">escape</literal>: Any text.  Replace the "
  1.6544  "special XML/XHTML characters <quote><literal>&amp;</literal></quote>, "
  1.6545 @@ -13107,7 +13090,7 @@
  1.6546  msgstr ""
  1.6547  
  1.6548  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6549 -#: ../en/ch10-template.xml:323
  1.6550 +#: ../en/ch10-template.xml:321
  1.6551  msgid ""
  1.6552  "<literal role=\"template-filter\">fill68</literal>: Any text.  Wrap the text "
  1.6553  "to fit in 68 columns.  This is useful before you pass text through the "
  1.6554 @@ -13116,21 +13099,21 @@
  1.6555  msgstr ""
  1.6556  
  1.6557  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6558 -#: ../en/ch10-template.xml:331
  1.6559 +#: ../en/ch10-template.xml:329
  1.6560  msgid ""
  1.6561  "<literal role=\"template-filter\">fill76</literal>: Any text.  Wrap the text "
  1.6562  "to fit in 76 columns."
  1.6563  msgstr ""
  1.6564  
  1.6565  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6566 -#: ../en/ch10-template.xml:335
  1.6567 +#: ../en/ch10-template.xml:333
  1.6568  msgid ""
  1.6569  "<literal role=\"template-filter\">firstline</literal>: Any text.  Yield the "
  1.6570  "first line of text, without any trailing newlines."
  1.6571  msgstr ""
  1.6572  
  1.6573  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6574 -#: ../en/ch10-template.xml:340
  1.6575 +#: ../en/ch10-template.xml:338
  1.6576  msgid ""
  1.6577  "<literal role=\"template-kw-filt-date\">hgdate</literal>: <literal role="
  1.6578  "\"template-keyword\">date</literal> keyword.  Render the date as a pair of "
  1.6579 @@ -13139,7 +13122,7 @@
  1.6580  msgstr ""
  1.6581  
  1.6582  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6583 -#: ../en/ch10-template.xml:347
  1.6584 +#: ../en/ch10-template.xml:345
  1.6585  msgid ""
  1.6586  "<literal role=\"template-kw-filt-date\">isodate</literal>: <literal role="
  1.6587  "\"template-keyword\">date</literal> keyword.  Render the date as a text "
  1.6588 @@ -13148,7 +13131,7 @@
  1.6589  msgstr ""
  1.6590  
  1.6591  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6592 -#: ../en/ch10-template.xml:354
  1.6593 +#: ../en/ch10-template.xml:352
  1.6594  msgid ""
  1.6595  "<literal role=\"template-filter\">obfuscate</literal>: Any text, but most "
  1.6596  "useful for the <literal role=\"template-keyword\">author</literal> keyword.  "
  1.6597 @@ -13157,7 +13140,7 @@
  1.6598  msgstr ""
  1.6599  
  1.6600  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6601 -#: ../en/ch10-template.xml:362
  1.6602 +#: ../en/ch10-template.xml:360
  1.6603  msgid ""
  1.6604  "<literal role=\"template-kw-filt-author\">person</literal>: Any text, but "
  1.6605  "most useful for the <literal role=\"template-keyword\">author</literal> "
  1.6606 @@ -13167,7 +13150,7 @@
  1.6607  msgstr ""
  1.6608  
  1.6609  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6610 -#: ../en/ch10-template.xml:371
  1.6611 +#: ../en/ch10-template.xml:369
  1.6612  msgid ""
  1.6613  "<literal role=\"template-kw-filt-date\">rfc822date</literal>: <literal role="
  1.6614  "\"template-keyword\">date</literal> keyword.  Render a date using the same "
  1.6615 @@ -13176,7 +13159,7 @@
  1.6616  msgstr ""
  1.6617  
  1.6618  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6619 -#: ../en/ch10-template.xml:378
  1.6620 +#: ../en/ch10-template.xml:376
  1.6621  msgid ""
  1.6622  "<literal role=\"template-kw-filt-node\">short</literal>: Changeset hash.  "
  1.6623  "Yield the short form of a changeset hash, i.e. a 12-character hexadecimal "
  1.6624 @@ -13184,7 +13167,7 @@
  1.6625  msgstr ""
  1.6626  
  1.6627  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6628 -#: ../en/ch10-template.xml:383
  1.6629 +#: ../en/ch10-template.xml:381
  1.6630  msgid ""
  1.6631  "<literal role=\"template-kw-filt-date\">shortdate</literal>: <literal role="
  1.6632  "\"template-keyword\">date</literal> keyword.  Render the year, month, and day "
  1.6633 @@ -13193,21 +13176,21 @@
  1.6634  msgstr ""
  1.6635  
  1.6636  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6637 -#: ../en/ch10-template.xml:389
  1.6638 +#: ../en/ch10-template.xml:387
  1.6639  msgid ""
  1.6640  "<literal role=\"template-filter\">strip</literal>: Any text.  Strip all "
  1.6641  "leading and trailing whitespace from the string."
  1.6642  msgstr ""
  1.6643  
  1.6644  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6645 -#: ../en/ch10-template.xml:393
  1.6646 +#: ../en/ch10-template.xml:391
  1.6647  msgid ""
  1.6648  "<literal role=\"template-filter\">tabindent</literal>: Any text.  Yield the "
  1.6649  "text, with every line except the first starting with a tab character."
  1.6650  msgstr ""
  1.6651  
  1.6652  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6653 -#: ../en/ch10-template.xml:398
  1.6654 +#: ../en/ch10-template.xml:396
  1.6655  msgid ""
  1.6656  "<literal role=\"template-filter\">urlescape</literal>: Any text.  Escape all "
  1.6657  "characters that are considered <quote>special</quote> by URL parsers.  For "
  1.6658 @@ -13215,7 +13198,7 @@
  1.6659  msgstr ""
  1.6660  
  1.6661  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6662 -#: ../en/ch10-template.xml:405
  1.6663 +#: ../en/ch10-template.xml:403
  1.6664  msgid ""
  1.6665  "<literal role=\"template-kw-filt-author\">user</literal>: Any text, but most "
  1.6666  "useful for the <literal role=\"template-keyword\">author</literal> keyword.  "
  1.6667 @@ -13225,7 +13208,7 @@
  1.6668  msgstr ""
  1.6669  
  1.6670  #. type: Content of: <book><chapter><sect1><note><para>
  1.6671 -#: ../en/ch10-template.xml:418
  1.6672 +#: ../en/ch10-template.xml:416
  1.6673  msgid ""
  1.6674  "If you try to apply a filter to a piece of data that it cannot process, "
  1.6675  "Mercurial will fail and print a Python exception.  For example, trying to run "
  1.6676 @@ -13235,12 +13218,12 @@
  1.6677  msgstr ""
  1.6678  
  1.6679  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6680 -#: ../en/ch10-template.xml:427
  1.6681 +#: ../en/ch10-template.xml:425
  1.6682  msgid "Combining filters"
  1.6683  msgstr "组合过滤器"
  1.6684  
  1.6685  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6686 -#: ../en/ch10-template.xml:429
  1.6687 +#: ../en/ch10-template.xml:427
  1.6688  msgid ""
  1.6689  "It is easy to combine filters to yield output in the form you would like.  "
  1.6690  "The following chain of filters tidies up a description, then makes sure that "
  1.6691 @@ -13250,7 +13233,7 @@
  1.6692  msgstr ""
  1.6693  
  1.6694  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6695 -#: ../en/ch10-template.xml:438
  1.6696 +#: ../en/ch10-template.xml:436
  1.6697  msgid ""
  1.6698  "Note the use of <quote><literal>\\t</literal></quote> (a tab character) in "
  1.6699  "the template to force the first line to be indented; this is necessary since "
  1.6700 @@ -13259,7 +13242,7 @@
  1.6701  msgstr ""
  1.6702  
  1.6703  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6704 -#: ../en/ch10-template.xml:444
  1.6705 +#: ../en/ch10-template.xml:442
  1.6706  msgid ""
  1.6707  "Keep in mind that the order of filters in a chain is significant.  The first "
  1.6708  "filter is applied to the result of the keyword; the second to the result of "
  1.6709 @@ -13269,12 +13252,12 @@
  1.6710  msgstr ""
  1.6711  
  1.6712  #. type: Content of: <book><chapter><sect1><title>
  1.6713 -#: ../en/ch10-template.xml:455
  1.6714 +#: ../en/ch10-template.xml:453
  1.6715  msgid "From templates to styles"
  1.6716  msgstr "从模版到样式"
  1.6717  
  1.6718  #. type: Content of: <book><chapter><sect1><para>
  1.6719 -#: ../en/ch10-template.xml:457
  1.6720 +#: ../en/ch10-template.xml:455
  1.6721  msgid ""
  1.6722  "A command line template provides a quick and simple way to format some "
  1.6723  "output.  Templates can become verbose, though, and it's useful to be able to "
  1.6724 @@ -13283,7 +13266,7 @@
  1.6725  msgstr ""
  1.6726  
  1.6727  #. type: Content of: <book><chapter><sect1><para>
  1.6728 -#: ../en/ch10-template.xml:462
  1.6729 +#: ../en/ch10-template.xml:460
  1.6730  msgid ""
  1.6731  "More than that, using a style file unlocks the power of Mercurial's "
  1.6732  "templating engine in ways that are not possible using the command line "
  1.6733 @@ -13291,49 +13274,49 @@
  1.6734  msgstr ""
  1.6735  
  1.6736  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6737 -#: ../en/ch10-template.xml:468
  1.6738 +#: ../en/ch10-template.xml:466
  1.6739  msgid "The simplest of style files"
  1.6740  msgstr "最简单的样式文件"
  1.6741  
  1.6742  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6743 -#: ../en/ch10-template.xml:470
  1.6744 +#: ../en/ch10-template.xml:468
  1.6745  msgid "Our simple style file contains just one line:"
  1.6746  msgstr ""
  1.6747  
  1.6748  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6749 -#: ../en/ch10-template.xml:474
  1.6750 +#: ../en/ch10-template.xml:472
  1.6751  msgid ""
  1.6752  "This tells Mercurial, <quote>if you're printing a changeset, use the text on "
  1.6753  "the right as the template</quote>."
  1.6754  msgstr ""
  1.6755  
  1.6756  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6757 -#: ../en/ch10-template.xml:480
  1.6758 +#: ../en/ch10-template.xml:478
  1.6759  msgid "Style file syntax"
  1.6760  msgstr "样式文件语法"
  1.6761  
  1.6762  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6763 -#: ../en/ch10-template.xml:482
  1.6764 +#: ../en/ch10-template.xml:480
  1.6765  msgid "The syntax rules for a style file are simple."
  1.6766  msgstr ""
  1.6767  
  1.6768  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6769 -#: ../en/ch10-template.xml:485
  1.6770 +#: ../en/ch10-template.xml:483
  1.6771  msgid "The file is processed one line at a time."
  1.6772  msgstr ""
  1.6773  
  1.6774  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6775 -#: ../en/ch10-template.xml:488
  1.6776 +#: ../en/ch10-template.xml:486
  1.6777  msgid "Leading and trailing white space are ignored."
  1.6778  msgstr ""
  1.6779  
  1.6780  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6781 +#: ../en/ch10-template.xml:489
  1.6782 +msgid "Empty lines are skipped."
  1.6783 +msgstr ""
  1.6784 +
  1.6785 +#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6786  #: ../en/ch10-template.xml:491
  1.6787 -msgid "Empty lines are skipped."
  1.6788 -msgstr ""
  1.6789 -
  1.6790 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6791 -#: ../en/ch10-template.xml:493
  1.6792  msgid ""
  1.6793  "If a line starts with either of the characters <quote><literal>#</literal></"
  1.6794  "quote> or <quote><literal>;</literal></quote>, the entire line is treated as "
  1.6795 @@ -13341,7 +13324,7 @@
  1.6796  msgstr ""
  1.6797  
  1.6798  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6799 -#: ../en/ch10-template.xml:498
  1.6800 +#: ../en/ch10-template.xml:496
  1.6801  msgid ""
  1.6802  "A line starts with a keyword.  This must start with an alphabetic character "
  1.6803  "or underscore, and can subsequently contain any alphanumeric character or "
  1.6804 @@ -13350,21 +13333,21 @@
  1.6805  msgstr ""
  1.6806  
  1.6807  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6808 -#: ../en/ch10-template.xml:504
  1.6809 +#: ../en/ch10-template.xml:502
  1.6810  msgid ""
  1.6811  "The next element must be an <quote><literal>=</literal></quote> character, "
  1.6812  "which can be preceded or followed by an arbitrary amount of white space."
  1.6813  msgstr ""
  1.6814  
  1.6815  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6816 -#: ../en/ch10-template.xml:509
  1.6817 +#: ../en/ch10-template.xml:507
  1.6818  msgid ""
  1.6819  "If the rest of the line starts and ends with matching quote characters "
  1.6820  "(either single or double quote), it is treated as a template body."
  1.6821  msgstr ""
  1.6822  
  1.6823  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6824 -#: ../en/ch10-template.xml:513
  1.6825 +#: ../en/ch10-template.xml:511
  1.6826  msgid ""
  1.6827  "If the rest of the line <emphasis>does not</emphasis> start with a quote "
  1.6828  "character, it is treated as the name of a file; the contents of this file "
  1.6829 @@ -13372,12 +13355,12 @@
  1.6830  msgstr ""
  1.6831  
  1.6832  #. type: Content of: <book><chapter><sect1><title>
  1.6833 -#: ../en/ch10-template.xml:522
  1.6834 +#: ../en/ch10-template.xml:520
  1.6835  msgid "Style files by example"
  1.6836  msgstr "样式文件例子"
  1.6837  
  1.6838  #. type: Content of: <book><chapter><sect1><para>
  1.6839 -#: ../en/ch10-template.xml:524
  1.6840 +#: ../en/ch10-template.xml:522
  1.6841  msgid ""
  1.6842  "To illustrate how to write a style file, we will construct a few by example.  "
  1.6843  "Rather than provide a complete style file and walk through it, we'll mirror "
  1.6844 @@ -13386,12 +13369,12 @@
  1.6845  msgstr ""
  1.6846  
  1.6847  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6848 -#: ../en/ch10-template.xml:531
  1.6849 +#: ../en/ch10-template.xml:529
  1.6850  msgid "Identifying mistakes in style files"
  1.6851  msgstr "在样式文件中定位错误"
  1.6852  
  1.6853  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6854 -#: ../en/ch10-template.xml:533
  1.6855 +#: ../en/ch10-template.xml:531
  1.6856  msgid ""
  1.6857  "If Mercurial encounters a problem in a style file you are working on, it "
  1.6858  "prints a terse error message that, once you figure out what it means, is "
  1.6859 @@ -13399,7 +13382,7 @@
  1.6860  msgstr ""
  1.6861  
  1.6862  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6863 -#: ../en/ch10-template.xml:539
  1.6864 +#: ../en/ch10-template.xml:537
  1.6865  msgid ""
  1.6866  "Notice that <filename>broken.style</filename> attempts to define a "
  1.6867  "<literal>changeset</literal> keyword, but forgets to give any content for it. "
  1.6868 @@ -13407,35 +13390,35 @@
  1.6869  msgstr ""
  1.6870  
  1.6871  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6872 -#: ../en/ch10-template.xml:546
  1.6873 +#: ../en/ch10-template.xml:544
  1.6874  msgid "This error message looks intimidating, but it is not too hard to follow."
  1.6875  msgstr ""
  1.6876  
  1.6877  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6878 -#: ../en/ch10-template.xml:550
  1.6879 +#: ../en/ch10-template.xml:548
  1.6880  msgid ""
  1.6881  "The first component is simply Mercurial's way of saying <quote>I am giving "
  1.6882  "up</quote>."
  1.6883  msgstr ""
  1.6884  
  1.6885  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6886 -#: ../en/ch10-template.xml:554
  1.6887 +#: ../en/ch10-template.xml:552
  1.6888  msgid "Next comes the name of the style file that contains the error."
  1.6889  msgstr ""
  1.6890  
  1.6891  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6892 -#: ../en/ch10-template.xml:558
  1.6893 +#: ../en/ch10-template.xml:556
  1.6894  msgid ""
  1.6895  "Following the file name is the line number where the error was encountered."
  1.6896  msgstr ""
  1.6897  
  1.6898  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6899 -#: ../en/ch10-template.xml:562
  1.6900 +#: ../en/ch10-template.xml:560
  1.6901  msgid "Finally, a description of what went wrong."
  1.6902  msgstr ""
  1.6903  
  1.6904  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6905 -#: ../en/ch10-template.xml:566
  1.6906 +#: ../en/ch10-template.xml:564
  1.6907  msgid ""
  1.6908  "The description of the problem is not always clear (as in this case), but "
  1.6909  "even when it is cryptic, it is almost always trivial to visually inspect the "
  1.6910 @@ -13443,12 +13426,12 @@
  1.6911  msgstr ""
  1.6912  
  1.6913  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6914 -#: ../en/ch10-template.xml:574
  1.6915 +#: ../en/ch10-template.xml:572
  1.6916  msgid "Uniquely identifying a repository"
  1.6917  msgstr "版本库的唯一标识"
  1.6918  
  1.6919  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6920 -#: ../en/ch10-template.xml:576
  1.6921 +#: ../en/ch10-template.xml:574
  1.6922  msgid ""
  1.6923  "If you would like to be able to identify a Mercurial repository <quote>fairly "
  1.6924  "uniquely</quote> using a short string as an identifier, you can use the first "
  1.6925 @@ -13456,21 +13439,21 @@
  1.6926  msgstr ""
  1.6927  
  1.6928  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6929 -#: ../en/ch10-template.xml:583
  1.6930 +#: ../en/ch10-template.xml:581
  1.6931  msgid ""
  1.6932  "This is not guaranteed to be unique, but it is nevertheless useful in many "
  1.6933  "cases."
  1.6934  msgstr ""
  1.6935  
  1.6936  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6937 -#: ../en/ch10-template.xml:586
  1.6938 +#: ../en/ch10-template.xml:584
  1.6939  msgid ""
  1.6940  "It will not work in a completely empty repository, because such a repository "
  1.6941  "does not have a revision zero."
  1.6942  msgstr ""
  1.6943  
  1.6944  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6945 -#: ../en/ch10-template.xml:590
  1.6946 +#: ../en/ch10-template.xml:588
  1.6947  msgid ""
  1.6948  "Neither will it work in the (extremely rare)  case where a repository is a "
  1.6949  "merge of two or more formerly independent repositories, and you still have "
  1.6950 @@ -13478,18 +13461,18 @@
  1.6951  msgstr ""
  1.6952  
  1.6953  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6954 -#: ../en/ch10-template.xml:595
  1.6955 +#: ../en/ch10-template.xml:593
  1.6956  msgid "Here are some uses to which you could put this identifier:"
  1.6957  msgstr ""
  1.6958  
  1.6959  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6960 -#: ../en/ch10-template.xml:598
  1.6961 +#: ../en/ch10-template.xml:596
  1.6962  msgid ""
  1.6963  "As a key into a table for a database that manages repositories on a server."
  1.6964  msgstr ""
  1.6965  
  1.6966  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6967 -#: ../en/ch10-template.xml:601
  1.6968 +#: ../en/ch10-template.xml:599
  1.6969  msgid ""
  1.6970  "As half of a {<emphasis>repository ID</emphasis>, <emphasis>revision ID</"
  1.6971  "emphasis>} tuple.  Save this information away when you run an automated build "
  1.6972 @@ -13498,13 +13481,13 @@
  1.6973  msgstr ""
  1.6974  
  1.6975  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6976 -#: ../en/ch10-template.xml:610
  1.6977 +#: ../en/ch10-template.xml:608
  1.6978  msgid "Mimicking Subversion's output"
  1.6979  msgstr "模仿 Subversion 的输出"
  1.6980  
  1.6981  #
  1.6982  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6983 -#: ../en/ch10-template.xml:612
  1.6984 +#: ../en/ch10-template.xml:610
  1.6985  msgid ""
  1.6986  "Let's try to emulate the default output format used by another revision "
  1.6987  "control tool, Subversion."
  1.6988 @@ -13512,7 +13495,7 @@
  1.6989  
  1.6990  #
  1.6991  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6992 -#: ../en/ch10-template.xml:617
  1.6993 +#: ../en/ch10-template.xml:615
  1.6994  msgid ""
  1.6995  "Since Subversion's output style is fairly simple, it is easy to copy-and-"
  1.6996  "paste a hunk of its output into a file, and replace the text produced above "
  1.6997 @@ -13520,14 +13503,14 @@
  1.6998  msgstr ""
  1.6999  
  1.7000  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7001 -#: ../en/ch10-template.xml:624
  1.7002 +#: ../en/ch10-template.xml:622
  1.7003  msgid ""
  1.7004  "There are a few small ways in which this template deviates from the output "
  1.7005  "produced by Subversion."
  1.7006  msgstr ""
  1.7007  
  1.7008  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7009 -#: ../en/ch10-template.xml:627
  1.7010 +#: ../en/ch10-template.xml:625
  1.7011  msgid ""
  1.7012  "Subversion prints a <quote>readable</quote> date (the <quote><literal>Wed, 27 "
  1.7013  "Sep 2006</literal></quote> in the example output above) in parentheses.  "
  1.7014 @@ -13536,7 +13519,7 @@
  1.7015  msgstr ""
  1.7016  
  1.7017  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7018 -#: ../en/ch10-template.xml:634
  1.7019 +#: ../en/ch10-template.xml:632
  1.7020  msgid ""
  1.7021  "We emulate Subversion's printing of <quote>separator</quote> lines full of "
  1.7022  "<quote><literal>-</literal></quote> characters by ending the template with "
  1.7023 @@ -13546,7 +13529,7 @@
  1.7024  msgstr ""
  1.7025  
  1.7026  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7027 -#: ../en/ch10-template.xml:643
  1.7028 +#: ../en/ch10-template.xml:641
  1.7029  msgid ""
  1.7030  "Subversion's output includes a count in the header of the number of lines in "
  1.7031  "the commit message.  We cannot replicate this in Mercurial; the templating "
  1.7032 @@ -13556,7 +13539,7 @@
  1.7033  
  1.7034  #
  1.7035  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7036 -#: ../en/ch10-template.xml:649
  1.7037 +#: ../en/ch10-template.xml:647
  1.7038  msgid ""
  1.7039  "It took me no more than a minute or two of work to replace literal text from "
  1.7040  "an example of Subversion's output with some keywords and filters to give the "
  1.7041 @@ -13564,7 +13547,7 @@
  1.7042  msgstr ""
  1.7043  
  1.7044  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7045 -#: ../en/ch10-template.xml:656
  1.7046 +#: ../en/ch10-template.xml:654
  1.7047  msgid ""
  1.7048  "We could have included the text of the template file directly in the style "
  1.7049  "file by enclosing it in quotes and replacing the newlines with "
  1.7050 @@ -13629,13 +13612,13 @@
  1.7051  msgid ""
  1.7052  "When you have few changes to maintain, it is easy to manage a single patch "
  1.7053  "using the standard <command>diff</command> and <command>patch</command> "
  1.7054 -"programs (see section <xref linkend=\"sec.mq.patch\"/> for a discussion of "
  1.7055 -"these tools). Once the number of changes grows, it starts to make sense to "
  1.7056 -"maintain patches as discrete <quote>chunks of work,</quote> so that for "
  1.7057 -"example a single patch will contain only one bug fix (the patch might modify "
  1.7058 -"several files, but it's doing <quote>only one thing</quote>), and you may "
  1.7059 -"have a number of such patches for different bugs you need fixed and local "
  1.7060 -"changes you require.  In this situation, if you submit a bug fix patch to the "
  1.7061 +"programs (see <xref linkend=\"sec:mq:patch\"/> for a discussion of these "
  1.7062 +"tools). Once the number of changes grows, it starts to make sense to maintain "
  1.7063 +"patches as discrete <quote>chunks of work,</quote> so that for example a "
  1.7064 +"single patch will contain only one bug fix (the patch might modify several "
  1.7065 +"files, but it's doing <quote>only one thing</quote>), and you may have a "
  1.7066 +"number of such patches for different bugs you need fixed and local changes "
  1.7067 +"you require.  In this situation, if you submit a bug fix patch to the "
  1.7068  "upstream maintainers of a package and they include your fix in a subsequent "
  1.7069  "release, you can simply drop that single patch when you're updating to the "
  1.7070  "newer release."
  1.7071 @@ -13905,9 +13888,9 @@
  1.7072  #. type: Content of: <book><chapter><sect1><para>
  1.7073  #: ../en/ch11-mq.xml:243
  1.7074  msgid ""
  1.7075 -"We will return to some of the more subtle aspects of patches later (in "
  1.7076 -"section <xref linkend=\"sec.mq.adv-patch\"/>), but you should have enough "
  1.7077 -"information now to use MQ."
  1.7078 +"We will return to some of the more subtle aspects of patches later (in <xref "
  1.7079 +"linkend=\"sec:mq:adv-patch\"/>), but you should have enough information now "
  1.7080 +"to use MQ."
  1.7081  msgstr ""
  1.7082  
  1.7083  #. type: Content of: <book><chapter><sect1><title>
  1.7084 @@ -14101,19 +14084,18 @@
  1.7085  "<command role=\"hg-ext-mq\">qpop</command> command.  MQ still <emphasis>knows "
  1.7086  "about</emphasis>, or manages, a popped patch, but the patch no longer has a "
  1.7087  "corresponding changeset in the repository, and the working directory does not "
  1.7088 -"contain the changes made by the patch.  Figure <xref endterm=\"fig.mq.stack."
  1.7089 -"caption\" linkend=\"fig.mq.stack\"/> illustrates the difference between "
  1.7090 -"applied and tracked patches."
  1.7091 -msgstr ""
  1.7092 -
  1.7093 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.7094 -#: ../en/ch11-mq.xml:409
  1.7095 -msgid "<imageobject><imagedata fileref=\"images/mq-stack.png\"/></imageobject>"
  1.7096 -msgstr ""
  1.7097 -
  1.7098 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.7099 +"contain the changes made by the patch.  <xref linkend=\"fig:mq:stack\"/> "
  1.7100 +"illustrates the difference between applied and tracked patches."
  1.7101 +msgstr ""
  1.7102 +
  1.7103 +#. type: Content of: <book><chapter><sect1><sect2><figure><title>
  1.7104 +#: ../en/ch11-mq.xml:408
  1.7105 +msgid "Applied and unapplied patches in the MQ patch stack"
  1.7106 +msgstr ""
  1.7107 +
  1.7108 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
  1.7109  #: ../en/ch11-mq.xml:411
  1.7110 -msgid "Applied and unapplied patches in the MQ patch stack"
  1.7111 +msgid "<imageobject><imagedata fileref=\"figs/mq-stack.png\"/></imageobject>"
  1.7112  msgstr ""
  1.7113  
  1.7114  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7115 @@ -14149,16 +14131,16 @@
  1.7116  "command> causes it to push all unapplied patches, while the <option role=\"hg-"
  1.7117  "ext-mq-cmd-qpop-opt\">-a</option> option to <command role=\"hg-ext-mq\">qpop</"
  1.7118  "command> causes it to pop all applied patches.  (For some more ways to push "
  1.7119 -"and pop many patches, see section <xref linkend=\"sec.mq.perf\"/> below.)"
  1.7120 +"and pop many patches, see <xref linkend=\"sec:mq:perf\"/> below.)"
  1.7121  msgstr ""
  1.7122  
  1.7123  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7124 -#: ../en/ch11-mq.xml:452
  1.7125 +#: ../en/ch11-mq.xml:451
  1.7126  msgid "Safety checks, and overriding them"
  1.7127  msgstr "安全的检查,然后覆盖它们"
  1.7128  
  1.7129  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7130 -#: ../en/ch11-mq.xml:454
  1.7131 +#: ../en/ch11-mq.xml:453
  1.7132  msgid ""
  1.7133  "Several MQ commands check the working directory before they do anything, and "
  1.7134  "fail if they find any modifications.  They do this to ensure that you won't "
  1.7135 @@ -14170,7 +14152,7 @@
  1.7136  msgstr ""
  1.7137  
  1.7138  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7139 -#: ../en/ch11-mq.xml:466
  1.7140 +#: ../en/ch11-mq.xml:465
  1.7141  msgid ""
  1.7142  "Commands that check the working directory all take an <quote>I know what I'm "
  1.7143  "doing</quote> option, which is always named <option>-f</option>.  The exact "
  1.7144 @@ -14184,12 +14166,12 @@
  1.7145  msgstr ""
  1.7146  
  1.7147  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7148 -#: ../en/ch11-mq.xml:481
  1.7149 +#: ../en/ch11-mq.xml:480
  1.7150  msgid "Working on several patches at once"
  1.7151  msgstr "同时处理多个补丁"
  1.7152  
  1.7153  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7154 -#: ../en/ch11-mq.xml:483
  1.7155 +#: ../en/ch11-mq.xml:482
  1.7156  msgid ""
  1.7157  "The <command role=\"hg-ext-mq\">qrefresh</command> command always refreshes "
  1.7158  "the <emphasis>topmost</emphasis> applied patch.  This means that you can "
  1.7159 @@ -14198,7 +14180,7 @@
  1.7160  msgstr ""
  1.7161  
  1.7162  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7163 -#: ../en/ch11-mq.xml:490
  1.7164 +#: ../en/ch11-mq.xml:489
  1.7165  msgid ""
  1.7166  "Here's an example that illustrates how you can use this ability. Let's say "
  1.7167  "you're developing a new feature as two patches.  The first is a change to the "
  1.7168 @@ -14214,12 +14196,12 @@
  1.7169  msgstr ""
  1.7170  
  1.7171  #. type: Content of: <book><chapter><sect1><title>
  1.7172 -#: ../en/ch11-mq.xml:507
  1.7173 +#: ../en/ch11-mq.xml:506
  1.7174  msgid "More about patches"
  1.7175  msgstr "关于补丁的更多信息"
  1.7176  
  1.7177  #. type: Content of: <book><chapter><sect1><para>
  1.7178 -#: ../en/ch11-mq.xml:509
  1.7179 +#: ../en/ch11-mq.xml:508
  1.7180  msgid ""
  1.7181  "MQ uses the GNU <command>patch</command> command to apply patches, so it's "
  1.7182  "helpful to know a few more detailed aspects of how <command>patch</command> "
  1.7183 @@ -14227,12 +14209,12 @@
  1.7184  msgstr ""
  1.7185  
  1.7186  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7187 -#: ../en/ch11-mq.xml:515
  1.7188 +#: ../en/ch11-mq.xml:514
  1.7189  msgid "The strip count"
  1.7190  msgstr "修剪计数"
  1.7191  
  1.7192  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7193 -#: ../en/ch11-mq.xml:517
  1.7194 +#: ../en/ch11-mq.xml:516
  1.7195  msgid ""
  1.7196  "If you look at the file headers in a patch, you will notice that the "
  1.7197  "pathnames usually have an extra component on the front that isn't present in "
  1.7198 @@ -14242,7 +14224,7 @@
  1.7199  msgstr ""
  1.7200  
  1.7201  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7202 -#: ../en/ch11-mq.xml:524
  1.7203 +#: ../en/ch11-mq.xml:523
  1.7204  msgid ""
  1.7205  "Alice would unpack a tarball, edit her files, then decide that she wanted to "
  1.7206  "create a patch.  So she'd rename her working directory, unpack the tarball "
  1.7207 @@ -14256,7 +14238,7 @@
  1.7208  msgstr ""
  1.7209  
  1.7210  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7211 -#: ../en/ch11-mq.xml:537
  1.7212 +#: ../en/ch11-mq.xml:536
  1.7213  msgid ""
  1.7214  "Since someone receiving a patch from the Alices of the net would be unlikely "
  1.7215  "to have unmodified and modified directories with exactly the same names, the "
  1.7216 @@ -14267,7 +14249,7 @@
  1.7217  msgstr ""
  1.7218  
  1.7219  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7220 -#: ../en/ch11-mq.xml:545
  1.7221 +#: ../en/ch11-mq.xml:544
  1.7222  msgid ""
  1.7223  "An option of <quote><literal>-p1</literal></quote> means <quote>use a strip "
  1.7224  "count of one</quote>.  If <command>patch</command> sees a file name "
  1.7225 @@ -14281,7 +14263,7 @@
  1.7226  msgstr ""
  1.7227  
  1.7228  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7229 -#: ../en/ch11-mq.xml:558
  1.7230 +#: ../en/ch11-mq.xml:557
  1.7231  msgid ""
  1.7232  "The <quote>standard</quote> strip count for patches is one; almost all "
  1.7233  "patches contain one leading path name component that needs to be stripped. "
  1.7234 @@ -14291,7 +14273,7 @@
  1.7235  msgstr ""
  1.7236  
  1.7237  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7238 -#: ../en/ch11-mq.xml:566
  1.7239 +#: ../en/ch11-mq.xml:565
  1.7240  msgid ""
  1.7241  "If you receive a patch from someone that you want to add to your patch queue, "
  1.7242  "and the patch needs a strip count other than one, you cannot just <command "
  1.7243 @@ -14308,12 +14290,12 @@
  1.7244  msgstr ""
  1.7245  
  1.7246  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7247 -#: ../en/ch11-mq.xml:585
  1.7248 +#: ../en/ch11-mq.xml:584
  1.7249  msgid "Strategies for applying a patch"
  1.7250  msgstr "应用补丁的策略"
  1.7251  
  1.7252  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7253 -#: ../en/ch11-mq.xml:587
  1.7254 +#: ../en/ch11-mq.xml:586
  1.7255  msgid ""
  1.7256  "When <command>patch</command> applies a hunk, it tries a handful of "
  1.7257  "successively less accurate strategies to try to make the hunk apply. This "
  1.7258 @@ -14323,7 +14305,7 @@
  1.7259  msgstr ""
  1.7260  
  1.7261  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7262 -#: ../en/ch11-mq.xml:594
  1.7263 +#: ../en/ch11-mq.xml:593
  1.7264  msgid ""
  1.7265  "First, <command>patch</command> tries an exact match, where the line numbers, "
  1.7266  "the context, and the text to be modified must apply exactly.  If it cannot "
  1.7267 @@ -14334,7 +14316,7 @@
  1.7268  msgstr ""
  1.7269  
  1.7270  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7271 -#: ../en/ch11-mq.xml:603
  1.7272 +#: ../en/ch11-mq.xml:602
  1.7273  msgid ""
  1.7274  "If a context-only match fails, <command>patch</command> removes the first and "
  1.7275  "last lines of the context, and tries a <emphasis>reduced</emphasis> context-"
  1.7276 @@ -14345,7 +14327,7 @@
  1.7277  msgstr ""
  1.7278  
  1.7279  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7280 -#: ../en/ch11-mq.xml:612
  1.7281 +#: ../en/ch11-mq.xml:611
  1.7282  msgid ""
  1.7283  "When neither of these techniques works, <command>patch</command> prints a "
  1.7284  "message saying that the hunk in question was rejected.  It saves rejected "
  1.7285 @@ -14362,33 +14344,33 @@
  1.7286  msgstr ""
  1.7287  
  1.7288  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7289 -#: ../en/ch11-mq.xml:630
  1.7290 +#: ../en/ch11-mq.xml:629
  1.7291  msgid "Some quirks of patch representation"
  1.7292  msgstr "补丁的一些特性"
  1.7293  
  1.7294  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7295 -#: ../en/ch11-mq.xml:632
  1.7296 +#: ../en/ch11-mq.xml:631
  1.7297  msgid ""
  1.7298  "There are a few useful things to know about how <command>patch</command> "
  1.7299  "works with files."
  1.7300  msgstr ""
  1.7301  
  1.7302  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7303 -#: ../en/ch11-mq.xml:635
  1.7304 +#: ../en/ch11-mq.xml:634
  1.7305  msgid ""
  1.7306  "This should already be obvious, but <command>patch</command> cannot handle "
  1.7307  "binary files."
  1.7308  msgstr ""
  1.7309  
  1.7310  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7311 -#: ../en/ch11-mq.xml:639
  1.7312 +#: ../en/ch11-mq.xml:638
  1.7313  msgid ""
  1.7314  "Neither does it care about the executable bit; it creates new files as "
  1.7315  "readable, but not executable."
  1.7316  msgstr ""
  1.7317  
  1.7318  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7319 -#: ../en/ch11-mq.xml:643
  1.7320 +#: ../en/ch11-mq.xml:642
  1.7321  msgid ""
  1.7322  "<command>patch</command> treats the removal of a file as a diff between the "
  1.7323  "file to be removed and the empty file.  So your idea of <quote>I deleted this "
  1.7324 @@ -14397,7 +14379,7 @@
  1.7325  msgstr ""
  1.7326  
  1.7327  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7328 -#: ../en/ch11-mq.xml:649
  1.7329 +#: ../en/ch11-mq.xml:648
  1.7330  msgid ""
  1.7331  "It treats the addition of a file as a diff between the empty file and the "
  1.7332  "file to be added.  So in a patch, your idea of <quote>I added this file</"
  1.7333 @@ -14405,7 +14387,7 @@
  1.7334  msgstr ""
  1.7335  
  1.7336  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7337 -#: ../en/ch11-mq.xml:655
  1.7338 +#: ../en/ch11-mq.xml:654
  1.7339  msgid ""
  1.7340  "It treats a renamed file as the removal of the old name, and the addition of "
  1.7341  "the new name.  This means that renamed files have a big footprint in "
  1.7342 @@ -14414,7 +14396,7 @@
  1.7343  msgstr ""
  1.7344  
  1.7345  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7346 -#: ../en/ch11-mq.xml:661
  1.7347 +#: ../en/ch11-mq.xml:660
  1.7348  msgid ""
  1.7349  "<command>patch</command> cannot represent empty files, so you cannot use a "
  1.7350  "patch to represent the notion <quote>I added this empty file to the tree</"
  1.7351 @@ -14422,12 +14404,12 @@
  1.7352  msgstr ""
  1.7353  
  1.7354  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7355 -#: ../en/ch11-mq.xml:668
  1.7356 +#: ../en/ch11-mq.xml:667
  1.7357  msgid "Beware the fuzz"
  1.7358  msgstr "当心毛刺"
  1.7359  
  1.7360  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7361 -#: ../en/ch11-mq.xml:670
  1.7362 +#: ../en/ch11-mq.xml:669
  1.7363  msgid ""
  1.7364  "While applying a hunk at an offset, or with a fuzz factor, will often be "
  1.7365  "completely successful, these inexact techniques naturally leave open the "
  1.7366 @@ -14439,7 +14421,7 @@
  1.7367  msgstr ""
  1.7368  
  1.7369  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7370 -#: ../en/ch11-mq.xml:680
  1.7371 +#: ../en/ch11-mq.xml:679
  1.7372  msgid ""
  1.7373  "It's often a good idea to refresh a patch that has applied with an offset or "
  1.7374  "fuzz factor; refreshing the patch generates new context information that will "
  1.7375 @@ -14452,12 +14434,12 @@
  1.7376  msgstr ""
  1.7377  
  1.7378  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7379 -#: ../en/ch11-mq.xml:693
  1.7380 +#: ../en/ch11-mq.xml:692
  1.7381  msgid "Handling rejection"
  1.7382  msgstr "处理拒绝"
  1.7383  
  1.7384  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7385 -#: ../en/ch11-mq.xml:695
  1.7386 +#: ../en/ch11-mq.xml:694
  1.7387  msgid ""
  1.7388  "If <command role=\"hg-ext-mq\">qpush</command> fails to apply a patch, it "
  1.7389  "will print an error message and exit.  If it has left <filename role=\"special"
  1.7390 @@ -14466,16 +14448,15 @@
  1.7391  msgstr ""
  1.7392  
  1.7393  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7394 -#: ../en/ch11-mq.xml:701
  1.7395 +#: ../en/ch11-mq.xml:700
  1.7396  msgid ""
  1.7397  "If your patch <emphasis>used to</emphasis> apply cleanly, and no longer does "
  1.7398  "because you've changed the underlying code that your patches are based on, "
  1.7399 -"Mercurial Queues can help; see section <xref linkend=\"sec.mq.merge\"/> for "
  1.7400 -"details."
  1.7401 -msgstr ""
  1.7402 -
  1.7403 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.7404 -#: ../en/ch11-mq.xml:707
  1.7405 +"Mercurial Queues can help; see <xref linkend=\"sec:mq:merge\"/> for details."
  1.7406 +msgstr ""
  1.7407 +
  1.7408 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.7409 +#: ../en/ch11-mq.xml:705
  1.7410  msgid ""
  1.7411  "Unfortunately, there aren't any great techniques for dealing with rejected "
  1.7412  "hunks.  Most often, you'll need to view the <filename role=\"special\">.rej</"
  1.7413 @@ -14483,7 +14464,7 @@
  1.7414  msgstr ""
  1.7415  
  1.7416  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7417 -#: ../en/ch11-mq.xml:712
  1.7418 +#: ../en/ch11-mq.xml:710
  1.7419  msgid ""
  1.7420  "If you're feeling adventurous, Neil Brown, a Linux kernel hacker, wrote a "
  1.7421  "tool called <command>wiggle</command> <citation>web:wiggle</citation>, which "
  1.7422 @@ -14492,7 +14473,7 @@
  1.7423  msgstr ""
  1.7424  
  1.7425  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7426 -#: ../en/ch11-mq.xml:718
  1.7427 +#: ../en/ch11-mq.xml:716
  1.7428  msgid ""
  1.7429  "Another Linux kernel hacker, Chris Mason (the author of Mercurial Queues), "
  1.7430  "wrote a similar tool called <command>mpatch</command> <citation>web:mpatch</"
  1.7431 @@ -14502,31 +14483,31 @@
  1.7432  msgstr ""
  1.7433  
  1.7434  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7435 -#: ../en/ch11-mq.xml:727
  1.7436 +#: ../en/ch11-mq.xml:725
  1.7437  msgid "The context in the middle of a hunk has changed."
  1.7438  msgstr ""
  1.7439  
  1.7440  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7441 -#: ../en/ch11-mq.xml:730
  1.7442 +#: ../en/ch11-mq.xml:728
  1.7443  msgid "A hunk is missing some context at the beginning or end."
  1.7444  msgstr ""
  1.7445  
  1.7446  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7447 -#: ../en/ch11-mq.xml:733
  1.7448 +#: ../en/ch11-mq.xml:731
  1.7449  msgid ""
  1.7450  "A large hunk might apply better&emdash;either entirely or in part&emdash;if "
  1.7451  "it was broken up into smaller hunks."
  1.7452  msgstr ""
  1.7453  
  1.7454  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.7455 -#: ../en/ch11-mq.xml:737
  1.7456 +#: ../en/ch11-mq.xml:735
  1.7457  msgid ""
  1.7458  "A hunk removes lines with slightly different content than those currently "
  1.7459  "present in the file."
  1.7460  msgstr ""
  1.7461  
  1.7462  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7463 -#: ../en/ch11-mq.xml:741
  1.7464 +#: ../en/ch11-mq.xml:739
  1.7465  msgid ""
  1.7466  "If you use <command>wiggle</command> or <command>mpatch</command>, you should "
  1.7467  "be doubly careful to check your results when you're done.  In fact, "
  1.7468 @@ -14536,12 +14517,12 @@
  1.7469  msgstr ""
  1.7470  
  1.7471  #. type: Content of: <book><chapter><sect1><title>
  1.7472 -#: ../en/ch11-mq.xml:753
  1.7473 +#: ../en/ch11-mq.xml:751
  1.7474  msgid "Getting the best performance out of MQ"
  1.7475  msgstr "MQ 的性能"
  1.7476  
  1.7477  #. type: Content of: <book><chapter><sect1><para>
  1.7478 -#: ../en/ch11-mq.xml:755
  1.7479 +#: ../en/ch11-mq.xml:753
  1.7480  msgid ""
  1.7481  "MQ is very efficient at handling a large number of patches.  I ran some "
  1.7482  "performance experiments in mid-2006 for a talk that I gave at the 2006 "
  1.7483 @@ -14552,7 +14533,7 @@
  1.7484  msgstr ""
  1.7485  
  1.7486  #. type: Content of: <book><chapter><sect1><para>
  1.7487 -#: ../en/ch11-mq.xml:764
  1.7488 +#: ../en/ch11-mq.xml:762
  1.7489  msgid ""
  1.7490  "On my old, slow laptop, I was able to <command role=\"hg-cmd\">hg qpush "
  1.7491  "<option role=\"hg-ext-mq-cmd-qpush-opt\">hg -a</option></command> all 1,738 "
  1.7492 @@ -14564,14 +14545,14 @@
  1.7493  msgstr ""
  1.7494  
  1.7495  #. type: Content of: <book><chapter><sect1><para>
  1.7496 -#: ../en/ch11-mq.xml:775
  1.7497 +#: ../en/ch11-mq.xml:773
  1.7498  msgid ""
  1.7499  "Clearly, MQ is well suited to working in large trees, but there are a few "
  1.7500  "tricks you can use to get the best performance of it."
  1.7501  msgstr ""
  1.7502  
  1.7503  #. type: Content of: <book><chapter><sect1><para>
  1.7504 -#: ../en/ch11-mq.xml:779
  1.7505 +#: ../en/ch11-mq.xml:777
  1.7506  msgid ""
  1.7507  "First of all, try to <quote>batch</quote> operations together.  Every time "
  1.7508  "you run <command role=\"hg-ext-mq\">qpush</command> or <command role=\"hg-ext-"
  1.7509 @@ -14583,7 +14564,7 @@
  1.7510  msgstr ""
  1.7511  
  1.7512  #. type: Content of: <book><chapter><sect1><para>
  1.7513 -#: ../en/ch11-mq.xml:790
  1.7514 +#: ../en/ch11-mq.xml:788
  1.7515  msgid ""
  1.7516  "The <command role=\"hg-ext-mq\">qpush</command> and <command role=\"hg-ext-mq"
  1.7517  "\">qpop</command> commands allow you to push and pop multiple patches at a "
  1.7518 @@ -14595,7 +14576,7 @@
  1.7519  msgstr ""
  1.7520  
  1.7521  #. type: Content of: <book><chapter><sect1><para>
  1.7522 -#: ../en/ch11-mq.xml:800
  1.7523 +#: ../en/ch11-mq.xml:798
  1.7524  msgid ""
  1.7525  "You can identify a destination patch using either the name of the patch, or "
  1.7526  "by number.  If you use numeric addressing, patches are counted from zero; "
  1.7527 @@ -14603,12 +14584,12 @@
  1.7528  msgstr ""
  1.7529  
  1.7530  #. type: Content of: <book><chapter><sect1><title>
  1.7531 -#: ../en/ch11-mq.xml:807
  1.7532 +#: ../en/ch11-mq.xml:805
  1.7533  msgid "Updating your patches when the underlying code changes"
  1.7534  msgstr "当基础代码改变时,更新补丁的方法"
  1.7535  
  1.7536  #. type: Content of: <book><chapter><sect1><para>
  1.7537 -#: ../en/ch11-mq.xml:810
  1.7538 +#: ../en/ch11-mq.xml:808
  1.7539  msgid ""
  1.7540  "It's common to have a stack of patches on top of an underlying repository "
  1.7541  "that you don't modify directly.  If you're working on changes to third-party "
  1.7542 @@ -14619,7 +14600,7 @@
  1.7543  msgstr ""
  1.7544  
  1.7545  #. type: Content of: <book><chapter><sect1><para>
  1.7546 -#: ../en/ch11-mq.xml:819
  1.7547 +#: ../en/ch11-mq.xml:817
  1.7548  msgid ""
  1.7549  "The simplest way to do this is to <command role=\"hg-cmd\">hg qpop <option "
  1.7550  "role=\"hg-ext-mq-cmd-qpop-opt\">hg -a</option></command> your patches, then "
  1.7551 @@ -14633,7 +14614,7 @@
  1.7552  msgstr ""
  1.7553  
  1.7554  #. type: Content of: <book><chapter><sect1><para>
  1.7555 -#: ../en/ch11-mq.xml:831
  1.7556 +#: ../en/ch11-mq.xml:829
  1.7557  msgid ""
  1.7558  "This approach is easy to use and works well if you don't expect changes to "
  1.7559  "the underlying code to affect how well your patches apply. If your patch "
  1.7560 @@ -14643,7 +14624,7 @@
  1.7561  msgstr ""
  1.7562  
  1.7563  #. type: Content of: <book><chapter><sect1><para>
  1.7564 -#: ../en/ch11-mq.xml:838
  1.7565 +#: ../en/ch11-mq.xml:836
  1.7566  msgid ""
  1.7567  "It's possible to partially automate the rebasing process.  If your patches "
  1.7568  "apply cleanly against some revision of the underlying repo, MQ can use this "
  1.7569 @@ -14652,19 +14633,19 @@
  1.7570  msgstr ""
  1.7571  
  1.7572  #. type: Content of: <book><chapter><sect1><para>
  1.7573 +#: ../en/ch11-mq.xml:842
  1.7574 +msgid "The process is a little involved."
  1.7575 +msgstr ""
  1.7576 +
  1.7577 +#. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.7578  #: ../en/ch11-mq.xml:844
  1.7579 -msgid "The process is a little involved."
  1.7580 -msgstr ""
  1.7581 -
  1.7582 -#. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.7583 -#: ../en/ch11-mq.xml:846
  1.7584  msgid ""
  1.7585  "To begin, <command role=\"hg-cmd\">hg qpush -a</command> all of your patches "
  1.7586  "on top of the revision where you know that they apply cleanly."
  1.7587  msgstr ""
  1.7588  
  1.7589  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.7590 -#: ../en/ch11-mq.xml:850
  1.7591 +#: ../en/ch11-mq.xml:848
  1.7592  msgid ""
  1.7593  "Save a backup copy of your patch directory using <command role=\"hg-cmd\">hg "
  1.7594  "qsave <option role=\"hg-ext-mq-cmd-qsave-opt\">hg -e</option> <option role="
  1.7595 @@ -14679,7 +14660,7 @@
  1.7596  msgstr ""
  1.7597  
  1.7598  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.7599 -#: ../en/ch11-mq.xml:864
  1.7600 +#: ../en/ch11-mq.xml:862
  1.7601  msgid ""
  1.7602  "Use <command role=\"hg-cmd\">hg pull</command> to bring new changes into the "
  1.7603  "underlying repository.  (Don't run <command role=\"hg-cmd\">hg pull -u</"
  1.7604 @@ -14687,7 +14668,7 @@
  1.7605  msgstr ""
  1.7606  
  1.7607  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.7608 -#: ../en/ch11-mq.xml:869
  1.7609 +#: ../en/ch11-mq.xml:867
  1.7610  msgid ""
  1.7611  "Update to the new tip revision, using <command role=\"hg-cmd\">hg update "
  1.7612  "<option role=\"hg-opt-update\">-C</option></command> to override the patches "
  1.7613 @@ -14695,7 +14676,7 @@
  1.7614  msgstr ""
  1.7615  
  1.7616  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.7617 -#: ../en/ch11-mq.xml:874
  1.7618 +#: ../en/ch11-mq.xml:872
  1.7619  msgid ""
  1.7620  "Merge all patches using <command>hg qpush -m -a</command>.  The <option role="
  1.7621  "\"hg-ext-mq-cmd-qpush-opt\">-m</option> option to <command role=\"hg-ext-mq"
  1.7622 @@ -14704,7 +14685,7 @@
  1.7623  msgstr ""
  1.7624  
  1.7625  #. type: Content of: <book><chapter><sect1><para>
  1.7626 -#: ../en/ch11-mq.xml:882
  1.7627 +#: ../en/ch11-mq.xml:880
  1.7628  msgid ""
  1.7629  "During the <command role=\"hg-cmd\">hg qpush <option role=\"hg-ext-mq-cmd-"
  1.7630  "qpush-opt\">hg -m</option></command>, each patch in the <filename role="
  1.7631 @@ -14716,14 +14697,14 @@
  1.7632  msgstr ""
  1.7633  
  1.7634  #. type: Content of: <book><chapter><sect1><para>
  1.7635 -#: ../en/ch11-mq.xml:892
  1.7636 +#: ../en/ch11-mq.xml:890
  1.7637  msgid ""
  1.7638  "When you finish resolving the effects of a patch, MQ refreshes your patch "
  1.7639  "based on the result of the merge."
  1.7640  msgstr ""
  1.7641  
  1.7642  #. type: Content of: <book><chapter><sect1><para>
  1.7643 -#: ../en/ch11-mq.xml:895
  1.7644 +#: ../en/ch11-mq.xml:893
  1.7645  msgid ""
  1.7646  "At the end of this process, your repository will have one extra head from the "
  1.7647  "old patch queue, and a copy of the old patch queue will be in <filename role="
  1.7648 @@ -14735,12 +14716,12 @@
  1.7649  msgstr ""
  1.7650  
  1.7651  #. type: Content of: <book><chapter><sect1><title>
  1.7652 -#: ../en/ch11-mq.xml:907
  1.7653 +#: ../en/ch11-mq.xml:905
  1.7654  msgid "Identifying patches"
  1.7655  msgstr "标识补丁"
  1.7656  
  1.7657  #. type: Content of: <book><chapter><sect1><para>
  1.7658 -#: ../en/ch11-mq.xml:909
  1.7659 +#: ../en/ch11-mq.xml:907
  1.7660  msgid ""
  1.7661  "MQ commands that work with patches let you refer to a patch either by using "
  1.7662  "its name or by a number.  By name is obvious enough; pass the name "
  1.7663 @@ -14750,7 +14731,7 @@
  1.7664  msgstr ""
  1.7665  
  1.7666  #. type: Content of: <book><chapter><sect1><para>
  1.7667 -#: ../en/ch11-mq.xml:916
  1.7668 +#: ../en/ch11-mq.xml:914
  1.7669  msgid ""
  1.7670  "As a shortcut, you can refer to a patch using both a name and a numeric "
  1.7671  "offset; <literal>foo.patch-2</literal> means <quote>two patches before "
  1.7672 @@ -14759,7 +14740,7 @@
  1.7673  msgstr ""
  1.7674  
  1.7675  #. type: Content of: <book><chapter><sect1><para>
  1.7676 -#: ../en/ch11-mq.xml:922
  1.7677 +#: ../en/ch11-mq.xml:920
  1.7678  msgid ""
  1.7679  "Referring to a patch by index isn't much different.  The first patch printed "
  1.7680  "in the output of <command role=\"hg-ext-mq\">qseries</command> is patch zero "
  1.7681 @@ -14768,7 +14749,7 @@
  1.7682  msgstr ""
  1.7683  
  1.7684  #. type: Content of: <book><chapter><sect1><para>
  1.7685 -#: ../en/ch11-mq.xml:928
  1.7686 +#: ../en/ch11-mq.xml:926
  1.7687  msgid ""
  1.7688  "MQ also makes it easy to work with patches when you are using normal "
  1.7689  "Mercurial commands.  Every command that accepts a changeset ID will also "
  1.7690 @@ -14780,33 +14761,33 @@
  1.7691  msgstr ""
  1.7692  
  1.7693  #. type: Content of: <book><chapter><sect1><para>
  1.7694 -#: ../en/ch11-mq.xml:938
  1.7695 +#: ../en/ch11-mq.xml:936
  1.7696  msgid ""
  1.7697  "These additions to Mercurial's normal tagging capabilities make dealing with "
  1.7698  "patches even more of a breeze."
  1.7699  msgstr ""
  1.7700  
  1.7701  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7702 -#: ../en/ch11-mq.xml:941
  1.7703 +#: ../en/ch11-mq.xml:939
  1.7704  msgid "Want to patchbomb a mailing list with your latest series of changes?"
  1.7705  msgstr ""
  1.7706  
  1.7707  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7708 -#: ../en/ch11-mq.xml:944
  1.7709 -msgid ""
  1.7710 -"(Don't know what <quote>patchbombing</quote> is? See section <xref linkend="
  1.7711 -"\"sec.hgext.patchbomb\"/>.)"
  1.7712 +#: ../en/ch11-mq.xml:942
  1.7713 +msgid ""
  1.7714 +"(Don't know what <quote>patchbombing</quote> is? See <xref linkend=\"sec:"
  1.7715 +"hgext:patchbomb\"/>.)"
  1.7716  msgstr ""
  1.7717  
  1.7718  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7719 -#: ../en/ch11-mq.xml:947
  1.7720 +#: ../en/ch11-mq.xml:945
  1.7721  msgid ""
  1.7722  "Need to see all of the patches since <literal>foo.patch</literal> that have "
  1.7723  "touched files in a subdirectory of your tree?"
  1.7724  msgstr ""
  1.7725  
  1.7726  #. type: Content of: <book><chapter><sect1><para>
  1.7727 -#: ../en/ch11-mq.xml:954
  1.7728 +#: ../en/ch11-mq.xml:952
  1.7729  msgid ""
  1.7730  "Because MQ makes the names of patches available to the rest of Mercurial "
  1.7731  "through its normal internal tag machinery, you don't need to type in the "
  1.7732 @@ -14814,7 +14795,7 @@
  1.7733  msgstr ""
  1.7734  
  1.7735  #. type: Content of: <book><chapter><sect1><para>
  1.7736 -#: ../en/ch11-mq.xml:959
  1.7737 +#: ../en/ch11-mq.xml:957
  1.7738  msgid ""
  1.7739  "Another nice consequence of representing patch names as tags is that when you "
  1.7740  "run the <command role=\"hg-cmd\">hg log</command> command, it will display a "
  1.7741 @@ -14825,30 +14806,29 @@
  1.7742  msgstr ""
  1.7743  
  1.7744  #. type: Content of: <book><chapter><sect1><title>
  1.7745 -#: ../en/ch11-mq.xml:972
  1.7746 +#: ../en/ch11-mq.xml:970
  1.7747  msgid "Useful things to know about"
  1.7748  msgstr "其它需要了解的东西"
  1.7749  
  1.7750  #. type: Content of: <book><chapter><sect1><para>
  1.7751 -#: ../en/ch11-mq.xml:974
  1.7752 +#: ../en/ch11-mq.xml:972
  1.7753  msgid ""
  1.7754  "There are a number of aspects of MQ usage that don't fit tidily into sections "
  1.7755  "of their own, but that are good to know.  Here they are, in one place."
  1.7756  msgstr ""
  1.7757  
  1.7758  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7759 -#: ../en/ch11-mq.xml:979
  1.7760 +#: ../en/ch11-mq.xml:977
  1.7761  msgid ""
  1.7762  "Normally, when you <command role=\"hg-ext-mq\">qpop</command> a patch and "
  1.7763  "<command role=\"hg-ext-mq\">qpush</command> it again, the changeset that "
  1.7764  "represents the patch after the pop/push will have a <emphasis>different "
  1.7765  "identity</emphasis> than the changeset that represented the hash beforehand.  "
  1.7766 -"See section <xref linkend=\"sec.mqref.cmd.qpush\"/> for information as to why "
  1.7767 -"this is."
  1.7768 +"See <xref linkend=\"sec:mqref:cmd:qpush\"/> for information as to why this is."
  1.7769  msgstr ""
  1.7770  
  1.7771  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7772 -#: ../en/ch11-mq.xml:988
  1.7773 +#: ../en/ch11-mq.xml:986
  1.7774  msgid ""
  1.7775  "It's not a good idea to <command role=\"hg-cmd\">hg merge</command> changes "
  1.7776  "from another branch with a patch changeset, at least if you want to maintain "
  1.7777 @@ -14858,12 +14838,12 @@
  1.7778  msgstr ""
  1.7779  
  1.7780  #. type: Content of: <book><chapter><sect1><title>
  1.7781 -#: ../en/ch11-mq.xml:999
  1.7782 +#: ../en/ch11-mq.xml:997
  1.7783  msgid "Managing patches in a repository"
  1.7784  msgstr "在版本库管理补丁"
  1.7785  
  1.7786  #. type: Content of: <book><chapter><sect1><para>
  1.7787 -#: ../en/ch11-mq.xml:1001
  1.7788 +#: ../en/ch11-mq.xml:999
  1.7789  msgid ""
  1.7790  "Because MQ's <filename role=\"special\" class=\"directory\">.hg/patches</"
  1.7791  "filename> directory resides outside a Mercurial repository's working "
  1.7792 @@ -14872,7 +14852,7 @@
  1.7793  msgstr ""
  1.7794  
  1.7795  #. type: Content of: <book><chapter><sect1><para>
  1.7796 -#: ../en/ch11-mq.xml:1007
  1.7797 +#: ../en/ch11-mq.xml:1005
  1.7798  msgid ""
  1.7799  "This presents the interesting possibility of managing the contents of the "
  1.7800  "patch directory as a Mercurial repository in its own right.  This can be a "
  1.7801 @@ -14883,7 +14863,7 @@
  1.7802  msgstr ""
  1.7803  
  1.7804  #. type: Content of: <book><chapter><sect1><para>
  1.7805 -#: ../en/ch11-mq.xml:1016
  1.7806 +#: ../en/ch11-mq.xml:1014
  1.7807  msgid ""
  1.7808  "You can then share different versions of the same patch stack among multiple "
  1.7809  "underlying repositories.  I use this when I am developing a Linux kernel "
  1.7810 @@ -14895,7 +14875,7 @@
  1.7811  msgstr ""
  1.7812  
  1.7813  #. type: Content of: <book><chapter><sect1><para>
  1.7814 -#: ../en/ch11-mq.xml:1026
  1.7815 +#: ../en/ch11-mq.xml:1024
  1.7816  msgid ""
  1.7817  "Managing patches in a repository makes it possible for multiple developers to "
  1.7818  "work on the same patch series without colliding with each other, all on top "
  1.7819 @@ -14903,12 +14883,12 @@
  1.7820  msgstr ""
  1.7821  
  1.7822  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7823 -#: ../en/ch11-mq.xml:1032
  1.7824 +#: ../en/ch11-mq.xml:1030
  1.7825  msgid "MQ support for patch repositories"
  1.7826  msgstr "MQ 支持补丁版本库"
  1.7827  
  1.7828  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7829 -#: ../en/ch11-mq.xml:1034
  1.7830 +#: ../en/ch11-mq.xml:1032
  1.7831  msgid ""
  1.7832  "MQ helps you to work with the <filename role=\"special\" class=\"directory\">."
  1.7833  "hg/patches</filename> directory as a repository; when you prepare a "
  1.7834 @@ -14919,7 +14899,7 @@
  1.7835  msgstr ""
  1.7836  
  1.7837  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.7838 -#: ../en/ch11-mq.xml:1044
  1.7839 +#: ../en/ch11-mq.xml:1042
  1.7840  msgid ""
  1.7841  "If you forget to use the <option role=\"hg-ext-mq-cmd-qinit-opt\">hg -c</"
  1.7842  "option> option, you can simply go into the <filename role=\"special\" class="
  1.7843 @@ -14930,7 +14910,7 @@
  1.7844  msgstr ""
  1.7845  
  1.7846  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.7847 -#: ../en/ch11-mq.xml:1053
  1.7848 +#: ../en/ch11-mq.xml:1051
  1.7849  msgid ""
  1.7850  "(<command role=\"hg-cmd\">hg qinit <option role=\"hg-ext-mq-cmd-qinit-opt"
  1.7851  "\">hg -c</option></command> does this for you automatically); you "
  1.7852 @@ -14939,7 +14919,7 @@
  1.7853  msgstr ""
  1.7854  
  1.7855  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7856 -#: ../en/ch11-mq.xml:1060
  1.7857 +#: ../en/ch11-mq.xml:1058
  1.7858  msgid ""
  1.7859  "As a convenience, if MQ notices that the <filename class=\"directory\">.hg/"
  1.7860  "patches</filename> directory is a repository, it will automatically <command "
  1.7861 @@ -14947,7 +14927,7 @@
  1.7862  msgstr ""
  1.7863  
  1.7864  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7865 -#: ../en/ch11-mq.xml:1065
  1.7866 +#: ../en/ch11-mq.xml:1063
  1.7867  msgid ""
  1.7868  "MQ provides a shortcut command, <command role=\"hg-ext-mq\">qcommit</"
  1.7869  "command>, that runs <command role=\"hg-cmd\">hg commit</command> in the "
  1.7870 @@ -14956,7 +14936,7 @@
  1.7871  msgstr ""
  1.7872  
  1.7873  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7874 -#: ../en/ch11-mq.xml:1071
  1.7875 +#: ../en/ch11-mq.xml:1069
  1.7876  msgid ""
  1.7877  "Finally, as a convenience to manage the patch directory, you can define the "
  1.7878  "alias <command>mq</command> on Unix systems. For example, on Linux systems "
  1.7879 @@ -14965,26 +14945,26 @@
  1.7880  msgstr ""
  1.7881  
  1.7882  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7883 -#: ../en/ch11-mq.xml:1080
  1.7884 +#: ../en/ch11-mq.xml:1078
  1.7885  msgid ""
  1.7886  "You can then issue commands of the form <command>mq pull</command> from the "
  1.7887  "main repository."
  1.7888  msgstr ""
  1.7889  
  1.7890  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7891 -#: ../en/ch11-mq.xml:1085
  1.7892 +#: ../en/ch11-mq.xml:1083
  1.7893  msgid "A few things to watch out for"
  1.7894  msgstr "需要注意的事情"
  1.7895  
  1.7896  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7897 -#: ../en/ch11-mq.xml:1087
  1.7898 +#: ../en/ch11-mq.xml:1085
  1.7899  msgid ""
  1.7900  "MQ's support for working with a repository full of patches is limited in a "
  1.7901  "few small respects."
  1.7902  msgstr ""
  1.7903  
  1.7904  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7905 -#: ../en/ch11-mq.xml:1090
  1.7906 +#: ../en/ch11-mq.xml:1088
  1.7907  msgid ""
  1.7908  "MQ cannot automatically detect changes that you make to the patch directory.  "
  1.7909  "If you <command role=\"hg-cmd\">hg pull</command>, manually edit, or <command "
  1.7910 @@ -14998,12 +14978,12 @@
  1.7911  msgstr ""
  1.7912  
  1.7913  #. type: Content of: <book><chapter><sect1><title>
  1.7914 -#: ../en/ch11-mq.xml:1106
  1.7915 +#: ../en/ch11-mq.xml:1104
  1.7916  msgid "Third party tools for working with patches"
  1.7917  msgstr "操作补丁的第三方工具"
  1.7918  
  1.7919  #. type: Content of: <book><chapter><sect1><para>
  1.7920 -#: ../en/ch11-mq.xml:1108
  1.7921 +#: ../en/ch11-mq.xml:1106
  1.7922  msgid ""
  1.7923  "Once you've been working with patches for a while, you'll find yourself "
  1.7924  "hungry for tools that will help you to understand and manipulate the patches "
  1.7925 @@ -15011,7 +14991,7 @@
  1.7926  msgstr ""
  1.7927  
  1.7928  #. type: Content of: <book><chapter><sect1><para>
  1.7929 -#: ../en/ch11-mq.xml:1112
  1.7930 +#: ../en/ch11-mq.xml:1110
  1.7931  msgid ""
  1.7932  "The <command>diffstat</command> command <citation>web:diffstat</citation> "
  1.7933  "generates a histogram of the modifications made to each file in a patch.  It "
  1.7934 @@ -15024,7 +15004,7 @@
  1.7935  msgstr ""
  1.7936  
  1.7937  #. type: Content of: <book><chapter><sect1><para>
  1.7938 -#: ../en/ch11-mq.xml:1126
  1.7939 +#: ../en/ch11-mq.xml:1124
  1.7940  msgid ""
  1.7941  "The <literal role=\"package\">patchutils</literal> package <citation>web:"
  1.7942  "patchutils</citation> is invaluable. It provides a set of small utilities "
  1.7943 @@ -15034,17 +15014,17 @@
  1.7944  "patch file.  For example, given a patch that modifies hundreds of files "
  1.7945  "across dozens of directories, a single invocation of <command>filterdiff</"
  1.7946  "command> can generate a smaller patch that only touches files whose names "
  1.7947 -"match a particular glob pattern.  See section <xref linkend=\"mq-collab.tips."
  1.7948 -"interdiff\"/> for another example."
  1.7949 +"match a particular glob pattern.  See <xref linkend=\"mq-collab:tips:interdiff"
  1.7950 +"\"/> for another example."
  1.7951  msgstr ""
  1.7952  
  1.7953  #. type: Content of: <book><chapter><sect1><title>
  1.7954 -#: ../en/ch11-mq.xml:1142
  1.7955 +#: ../en/ch11-mq.xml:1140
  1.7956  msgid "Good ways to work with patches"
  1.7957  msgstr "操作补丁的好习惯"
  1.7958  
  1.7959  #. type: Content of: <book><chapter><sect1><para>
  1.7960 -#: ../en/ch11-mq.xml:1144
  1.7961 +#: ../en/ch11-mq.xml:1142
  1.7962  msgid ""
  1.7963  "Whether you are working on a patch series to submit to a free software or "
  1.7964  "open source project, or a series that you intend to treat as a sequence of "
  1.7965 @@ -15053,7 +15033,7 @@
  1.7966  msgstr ""
  1.7967  
  1.7968  #. type: Content of: <book><chapter><sect1><para>
  1.7969 -#: ../en/ch11-mq.xml:1150
  1.7970 +#: ../en/ch11-mq.xml:1148
  1.7971  msgid ""
  1.7972  "Give your patches descriptive names.  A good name for a patch might be "
  1.7973  "<filename>rework-device-alloc.patch</filename>, because it will immediately "
  1.7974 @@ -15067,7 +15047,7 @@
  1.7975  msgstr ""
  1.7976  
  1.7977  #. type: Content of: <book><chapter><sect1><para>
  1.7978 -#: ../en/ch11-mq.xml:1162
  1.7979 +#: ../en/ch11-mq.xml:1160
  1.7980  msgid ""
  1.7981  "Be aware of what patch you're working on.  Use the <command role=\"hg-ext-mq"
  1.7982  "\">qtop</command> command and skim over the text of your patches "
  1.7983 @@ -15080,28 +15060,28 @@
  1.7984  msgstr ""
  1.7985  
  1.7986  #. type: Content of: <book><chapter><sect1><para>
  1.7987 -#: ../en/ch11-mq.xml:1172
  1.7988 +#: ../en/ch11-mq.xml:1170
  1.7989  msgid ""
  1.7990  "For this reason, it is very much worth investing a little time to learn how "
  1.7991 -"to use some of the third-party tools I described in section <xref linkend="
  1.7992 -"\"sec.mq.tools\"/>, particularly <command>diffstat</command> and "
  1.7993 -"<command>filterdiff</command>.  The former will give you a quick idea of what "
  1.7994 -"changes your patch is making, while the latter makes it easy to splice hunks "
  1.7995 -"selectively out of one patch and into another."
  1.7996 +"to use some of the third-party tools I described in <xref linkend=\"sec:mq:"
  1.7997 +"tools\"/>, particularly <command>diffstat</command> and <command>filterdiff</"
  1.7998 +"command>.  The former will give you a quick idea of what changes your patch "
  1.7999 +"is making, while the latter makes it easy to splice hunks selectively out of "
  1.8000 +"one patch and into another."
  1.8001  msgstr ""
  1.8002  
  1.8003  #. type: Content of: <book><chapter><sect1><title>
  1.8004 -#: ../en/ch11-mq.xml:1183
  1.8005 +#: ../en/ch11-mq.xml:1181
  1.8006  msgid "MQ cookbook"
  1.8007  msgstr "MQ 手册"
  1.8008  
  1.8009  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8010 -#: ../en/ch11-mq.xml:1186
  1.8011 +#: ../en/ch11-mq.xml:1184
  1.8012  msgid "Manage <quote>trivial</quote> patches"
  1.8013  msgstr "管理<quote>琐碎的</quote>补丁"
  1.8014  
  1.8015  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8016 -#: ../en/ch11-mq.xml:1188
  1.8017 +#: ../en/ch11-mq.xml:1186
  1.8018  msgid ""
  1.8019  "Because the overhead of dropping files into a new Mercurial repository is so "
  1.8020  "low, it makes a lot of sense to manage patches this way even if you simply "
  1.8021 @@ -15110,26 +15090,26 @@
  1.8022  
  1.8023  #
  1.8024  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8025 -#: ../en/ch11-mq.xml:1193
  1.8026 +#: ../en/ch11-mq.xml:1191
  1.8027  msgid ""
  1.8028  "Begin by downloading and unpacking the source tarball, and turning it into a "
  1.8029  "Mercurial repository."
  1.8030  msgstr ""
  1.8031  
  1.8032  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8033 -#: ../en/ch11-mq.xml:1198
  1.8034 +#: ../en/ch11-mq.xml:1196
  1.8035  msgid "Continue by creating a patch stack and making your changes."
  1.8036  msgstr ""
  1.8037  
  1.8038  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8039 -#: ../en/ch11-mq.xml:1203
  1.8040 +#: ../en/ch11-mq.xml:1201
  1.8041  msgid ""
  1.8042  "Let's say a few weeks or months pass, and your package author releases a new "
  1.8043  "version.  First, bring their changes into the repository."
  1.8044  msgstr ""
  1.8045  
  1.8046  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8047 -#: ../en/ch11-mq.xml:1209
  1.8048 +#: ../en/ch11-mq.xml:1207
  1.8049  msgid ""
  1.8050  "The pipeline starting with <command role=\"hg-cmd\">hg locate</command> above "
  1.8051  "deletes all files in the working directory, so that <command role=\"hg-cmd"
  1.8052 @@ -15139,17 +15119,17 @@
  1.8053  msgstr ""
  1.8054  
  1.8055  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8056 -#: ../en/ch11-mq.xml:1217
  1.8057 +#: ../en/ch11-mq.xml:1215
  1.8058  msgid "Finally, you can apply your patches on top of the new tree."
  1.8059  msgstr ""
  1.8060  
  1.8061  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8062 -#: ../en/ch11-mq.xml:1224
  1.8063 +#: ../en/ch11-mq.xml:1222
  1.8064  msgid "Combining entire patches"
  1.8065  msgstr "组合全部的补丁"
  1.8066  
  1.8067  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8068 -#: ../en/ch11-mq.xml:1226
  1.8069 +#: ../en/ch11-mq.xml:1224
  1.8070  msgid ""
  1.8071  "MQ provides a command, <command role=\"hg-ext-mq\">qfold</command> that lets "
  1.8072  "you combine entire patches.  This <quote>folds</quote> the patches you name, "
  1.8073 @@ -15159,7 +15139,7 @@
  1.8074  msgstr ""
  1.8075  
  1.8076  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8077 -#: ../en/ch11-mq.xml:1234
  1.8078 +#: ../en/ch11-mq.xml:1232
  1.8079  msgid ""
  1.8080  "The order in which you fold patches matters.  If your topmost applied patch "
  1.8081  "is <literal>foo</literal>, and you <command role=\"hg-ext-mq\">qfold</"
  1.8082 @@ -15170,19 +15150,19 @@
  1.8083  msgstr ""
  1.8084  
  1.8085  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8086 -#: ../en/ch11-mq.xml:1245
  1.8087 +#: ../en/ch11-mq.xml:1243
  1.8088  msgid "Merging part of one patch into another"
  1.8089  msgstr "合并补丁的部分内容到其它补丁"
  1.8090  
  1.8091  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8092 -#: ../en/ch11-mq.xml:1247
  1.8093 +#: ../en/ch11-mq.xml:1245
  1.8094  msgid ""
  1.8095  "Merging <emphasis>part</emphasis> of one patch into another is more difficult "
  1.8096  "than combining entire patches."
  1.8097  msgstr ""
  1.8098  
  1.8099  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8100 -#: ../en/ch11-mq.xml:1251
  1.8101 +#: ../en/ch11-mq.xml:1249
  1.8102  msgid ""
  1.8103  "If you want to move changes to entire files, you can use <command>filterdiff</"
  1.8104  "command>'s <option role=\"cmd-opt-filterdiff\">-i</option> and <option role="
  1.8105 @@ -15196,7 +15176,7 @@
  1.8106  msgstr ""
  1.8107  
  1.8108  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8109 -#: ../en/ch11-mq.xml:1264
  1.8110 +#: ../en/ch11-mq.xml:1262
  1.8111  msgid ""
  1.8112  "If you have a patch that has multiple hunks modifying a file, and you only "
  1.8113  "want to move a few of those hunks, the job becomes more messy, but you can "
  1.8114 @@ -15205,32 +15185,32 @@
  1.8115  msgstr ""
  1.8116  
  1.8117  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8118 -#: ../en/ch11-mq.xml:1272
  1.8119 +#: ../en/ch11-mq.xml:1270
  1.8120  msgid "This command prints three different kinds of number:"
  1.8121  msgstr ""
  1.8122  
  1.8123  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.8124 -#: ../en/ch11-mq.xml:1275
  1.8125 +#: ../en/ch11-mq.xml:1273
  1.8126  msgid ""
  1.8127  "(in the first column) a <emphasis>file number</emphasis> to identify each "
  1.8128  "file modified in the patch;"
  1.8129  msgstr ""
  1.8130  
  1.8131  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.8132 -#: ../en/ch11-mq.xml:1279
  1.8133 +#: ../en/ch11-mq.xml:1277
  1.8134  msgid ""
  1.8135  "(on the next line, indented) the line number within a modified file where a "
  1.8136  "hunk starts; and"
  1.8137  msgstr ""
  1.8138  
  1.8139  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.8140 -#: ../en/ch11-mq.xml:1282
  1.8141 +#: ../en/ch11-mq.xml:1280
  1.8142  msgid ""
  1.8143  "(on the same line) a <emphasis>hunk number</emphasis> to identify that hunk."
  1.8144  msgstr ""
  1.8145  
  1.8146  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8147 -#: ../en/ch11-mq.xml:1286
  1.8148 +#: ../en/ch11-mq.xml:1284
  1.8149  msgid ""
  1.8150  "You'll have to use some visual inspection, and reading of the patch, to "
  1.8151  "identify the file and hunk numbers you'll want, but you can then pass them to "
  1.8152 @@ -15240,27 +15220,27 @@
  1.8153  msgstr ""
  1.8154  
  1.8155  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8156 -#: ../en/ch11-mq.xml:1294
  1.8157 +#: ../en/ch11-mq.xml:1292
  1.8158  msgid ""
  1.8159  "Once you have this hunk, you can concatenate it onto the end of your "
  1.8160 -"destination patch and continue with the remainder of section <xref linkend="
  1.8161 -"\"sec.mq.combine\"/>."
  1.8162 +"destination patch and continue with the remainder of <xref linkend=\"sec:mq:"
  1.8163 +"combine\"/>."
  1.8164  msgstr ""
  1.8165  
  1.8166  #. type: Content of: <book><chapter><sect1><title>
  1.8167 -#: ../en/ch11-mq.xml:1301
  1.8168 +#: ../en/ch11-mq.xml:1299
  1.8169  msgid "Differences between quilt and MQ"
  1.8170  msgstr "MQ 与 quilt 的区别"
  1.8171  
  1.8172  #. type: Content of: <book><chapter><sect1><para>
  1.8173 -#: ../en/ch11-mq.xml:1303
  1.8174 +#: ../en/ch11-mq.xml:1301
  1.8175  msgid ""
  1.8176  "If you are already familiar with quilt, MQ provides a similar command set.  "
  1.8177  "There are a few differences in the way that it works."
  1.8178  msgstr ""
  1.8179  
  1.8180  #. type: Content of: <book><chapter><sect1><para>
  1.8181 -#: ../en/ch11-mq.xml:1307
  1.8182 +#: ../en/ch11-mq.xml:1305
  1.8183  msgid ""
  1.8184  "You will already have noticed that most quilt commands have MQ counterparts "
  1.8185  "that simply begin with a <quote><literal>q</literal></quote>.  The exceptions "
  1.8186 @@ -15874,10 +15854,10 @@
  1.8187  #: ../en/ch12-mq-collab.xml:436
  1.8188  msgid ""
  1.8189  "If you're developing a set of patches over a long time, it's a good idea to "
  1.8190 -"maintain them in a repository, as discussed in section <xref linkend=\"sec.mq."
  1.8191 -"repo\"/>.  If you do so, you'll quickly discover that using the <command role="
  1.8192 -"\"hg-cmd\">hg diff</command> command to look at the history of changes to a "
  1.8193 -"patch is unworkable.  This is in part because you're looking at the second "
  1.8194 +"maintain them in a repository, as discussed in <xref linkend=\"sec:mq:repo\"/"
  1.8195 +">.  If you do so, you'll quickly discover that using the <command role=\"hg-"
  1.8196 +"cmd\">hg diff</command> command to look at the history of changes to a patch "
  1.8197 +"is unworkable.  This is in part because you're looking at the second "
  1.8198  "derivative of the real code (a diff of a diff), but also because MQ adds "
  1.8199  "noise to the process by modifying time stamps and directory names when it "
  1.8200  "updates a patch."
  1.8201 @@ -15960,7 +15940,7 @@
  1.8202  msgid ""
  1.8203  "The <literal role=\"hg-ext\">extdiff</literal> extension is useful for more "
  1.8204  "than merely improving the presentation of MQ patches.  To read more about it, "
  1.8205 -"go to section <xref linkend=\"sec.hgext.extdiff\"/>."
  1.8206 +"go to <xref linkend=\"sec:hgext:extdiff\"/>."
  1.8207  msgstr ""
  1.8208  
  1.8209  #. type: Content of: <book><chapter><title>
  1.8210 @@ -15989,30 +15969,29 @@
  1.8211  #. type: Content of: <book><chapter><itemizedlist><listitem><para>
  1.8212  #: ../en/ch13-hgext.xml:18
  1.8213  msgid ""
  1.8214 -"Section <xref linkend=\"sec.tour-merge.fetch\"/> covers the <literal role="
  1.8215 -"\"hg-ext\">fetch</literal> extension; this combines pulling new changes and "
  1.8216 -"merging them with local changes into a single command, <command role=\"hg-ext-"
  1.8217 -"fetch\">fetch</command>."
  1.8218 +"<xref linkend=\"sec:tour-merge:fetch\"/> covers the <literal role=\"hg-ext"
  1.8219 +"\">fetch</literal> extension; this combines pulling new changes and merging "
  1.8220 +"them with local changes into a single command, <command role=\"hg-ext-fetch"
  1.8221 +"\">fetch</command>."
  1.8222  msgstr ""
  1.8223  
  1.8224  #. type: Content of: <book><chapter><itemizedlist><listitem><para>
  1.8225  #: ../en/ch13-hgext.xml:24
  1.8226  msgid ""
  1.8227 -"In chapter <xref linkend=\"chap.hook\"/>, we covered several extensions that "
  1.8228 -"are useful for hook-related functionality: <literal role=\"hg-ext\">acl</"
  1.8229 -"literal> adds access control lists; <literal role=\"hg-ext\">bugzilla</"
  1.8230 -"literal> adds integration with the Bugzilla bug tracking system; and <literal "
  1.8231 -"role=\"hg-ext\">notify</literal> sends notification emails on new changes."
  1.8232 +"In <xref linkend=\"chap:hook\"/>, we covered several extensions that are "
  1.8233 +"useful for hook-related functionality: <literal role=\"hg-ext\">acl</literal> "
  1.8234 +"adds access control lists; <literal role=\"hg-ext\">bugzilla</literal> adds "
  1.8235 +"integration with the Bugzilla bug tracking system; and <literal role=\"hg-ext"
  1.8236 +"\">notify</literal> sends notification emails on new changes."
  1.8237  msgstr ""
  1.8238  
  1.8239  #. type: Content of: <book><chapter><itemizedlist><listitem><para>
  1.8240  #: ../en/ch13-hgext.xml:33
  1.8241  msgid ""
  1.8242  "The Mercurial Queues patch management extension is so invaluable that it "
  1.8243 -"merits two chapters and an appendix all to itself. Chapter <xref linkend="
  1.8244 -"\"chap.mq\"/> covers the basics; chapter <xref linkend=\"chap.mq-collab\"/> "
  1.8245 -"discusses advanced topics; and appendix <xref linkend=\"chap.mqref\"/> goes "
  1.8246 -"into detail on each command."
  1.8247 +"merits two chapters and an appendix all to itself. <xref linkend=\"chap:mq\"/"
  1.8248 +"> covers the basics; <xref linkend=\"chap:mq-collab\"/> discusses advanced "
  1.8249 +"topics; and <xref linkend=\"chap:mqref\"/> goes into detail on each command."
  1.8250  msgstr ""
  1.8251  
  1.8252  #. type: Content of: <book><chapter><para>
  1.8253 @@ -16026,9 +16005,9 @@
  1.8254  #. type: Content of: <book><chapter><itemizedlist><listitem><para>
  1.8255  #: ../en/ch13-hgext.xml:48
  1.8256  msgid ""
  1.8257 -"In section <xref linkend=\"sec.hgext.inotify\"/>, we'll discuss the "
  1.8258 -"possibility of <emphasis>huge</emphasis> performance improvements using the "
  1.8259 -"<literal role=\"hg-ext\">inotify</literal> extension."
  1.8260 +"In <xref linkend=\"sec:hgext:inotify\"/>, we'll discuss the possibility of "
  1.8261 +"<emphasis>huge</emphasis> performance improvements using the <literal role="
  1.8262 +"\"hg-ext\">inotify</literal> extension."
  1.8263  msgstr ""
  1.8264  
  1.8265  #. type: Content of: <book><chapter><sect1><title>
  1.8266 @@ -16209,8 +16188,8 @@
  1.8267  #: ../en/ch13-hgext.xml:184
  1.8268  msgid ""
  1.8269  "Make sure that you have the Mercurial Queues extension, <literal role=\"hg-ext"
  1.8270 -"\">mq</literal>, enabled.  If you've never used MQ, read section <xref "
  1.8271 -"linkend=\"sec.mq.start\"/> to get started quickly."
  1.8272 +"\">mq</literal>, enabled.  If you've never used MQ, read <xref linkend=\"sec:"
  1.8273 +"mq:start\"/> to get started quickly."
  1.8274  msgstr ""
  1.8275  
  1.8276  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.8277 @@ -16420,8 +16399,8 @@
  1.8278  "If your diff viewing command can't deal with directories, you can easily work "
  1.8279  "around this with a little scripting.  For an example of such scripting in "
  1.8280  "action with the <literal role=\"hg-ext\">mq</literal> extension and the "
  1.8281 -"<command>interdiff</command> command, see section <xref linkend=\"mq-collab."
  1.8282 -"tips.interdiff\"/>."
  1.8283 +"<command>interdiff</command> command, see <xref linkend=\"mq-collab:tips:"
  1.8284 +"interdiff\"/>."
  1.8285  msgstr ""
  1.8286  
  1.8287  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8288 @@ -16622,10 +16601,10 @@
  1.8289  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.8290  #: ../en/ch13-hgext.xml:504
  1.8291  msgid ""
  1.8292 -"The default behaviour is to send unified diffs (see section <xref linkend="
  1.8293 -"\"sec.mq.patch\"/> for a description of the format), one per message.  You "
  1.8294 -"can send a binary bundle instead with the <option role=\"hg-ext-patchbomb-cmd-"
  1.8295 -"email-opt\">hg -b</option> option."
  1.8296 +"The default behaviour is to send unified diffs (see <xref linkend=\"sec:mq:"
  1.8297 +"patch\"/> for a description of the format), one per message.  You can send a "
  1.8298 +"binary bundle instead with the <option role=\"hg-ext-patchbomb-cmd-email-opt"
  1.8299 +"\">hg -b</option> option."
  1.8300  msgstr ""
  1.8301  
  1.8302  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>