hgbook

diff po/zh.po @ 650:7e7c47481e4f

Oops, this is the real merge for my hg's oddity
author Dongsheng Song <dongsheng.song@gmail.com>
date Fri Mar 20 16:43:35 2009 +0800 (2009-03-20)
parents c2cefd9f9893
children 6b1577ef5135
line diff
     1.1 --- a/po/zh.po	Wed Mar 18 19:50:36 2009 +0800
     1.2 +++ b/po/zh.po	Fri Mar 20 16:43:35 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-18 19:48+0800\n"
     1.8 +"POT-Creation-Date: 2009-03-20 15:47+0800\n"
     1.9  "PO-Revision-Date: 2009-03-18 19:50+0800\n"
    1.10  "Last-Translator: \n"
    1.11  "Language-Team: Simplified Chinese <i18n-zh@googlegroups.com >\n"
    1.12 @@ -475,15 +475,16 @@
    1.13  "patches</command>."
    1.14  msgstr ""
    1.15  
    1.16 +#. type: Content of: <book><appendix><sect1><sect2><title>
    1.17 +#: ../en/appB-mq-ref.xml:43
    1.18 +#, fuzzy
    1.19 +msgid ""
    1.20 +"<command role=\"hg-ext-mq\">qdelete</command>&emdash;delete a patch from the "
    1.21 +"<filename role=\"special\">series</filename> file}"
    1.22 +msgstr "<command role=\"hg-ext-mq\">qseries</command>&emdash;显示补丁序列"
    1.23 +
    1.24  #. type: Content of: <book><appendix><sect1><sect2><para>
    1.25 -#: ../en/appB-mq-ref.xml:42
    1.26 -msgid ""
    1.27 -"\\subsection{<command role=\"hg-ext-mq\">qdelete</command>&emdash;delete a "
    1.28 -"patch from the <filename role=\"special\">series</filename> file}"
    1.29 -msgstr ""
    1.30 -
    1.31 -#. type: Content of: <book><appendix><sect1><sect2><para>
    1.32 -#: ../en/appB-mq-ref.xml:47
    1.33 +#: ../en/appB-mq-ref.xml:48
    1.34  msgid ""
    1.35  "The <command role=\"hg-ext-mq\">qdelete</command> command removes the entry "
    1.36  "for a patch from the <filename role=\"special\">series</filename> file in the "
    1.37 @@ -494,21 +495,21 @@
    1.38  msgstr ""
    1.39  
    1.40  #. type: Content of: <book><appendix><sect1><sect2><para>
    1.41 -#: ../en/appB-mq-ref.xml:56 ../en/appB-mq-ref.xml:98 ../en/appB-mq-ref.xml:156
    1.42 -#: ../en/appB-mq-ref.xml:196 ../en/appB-mq-ref.xml:263
    1.43 -#: ../en/appB-mq-ref.xml:334 ../en/appB-mq-ref.xml:403
    1.44 -#: ../en/appB-mq-ref.xml:496
    1.45 +#: ../en/appB-mq-ref.xml:57 ../en/appB-mq-ref.xml:99 ../en/appB-mq-ref.xml:157
    1.46 +#: ../en/appB-mq-ref.xml:197 ../en/appB-mq-ref.xml:264
    1.47 +#: ../en/appB-mq-ref.xml:335 ../en/appB-mq-ref.xml:404
    1.48 +#: ../en/appB-mq-ref.xml:497
    1.49  msgid "Options:"
    1.50  msgstr ""
    1.51  
    1.52  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
    1.53 -#: ../en/appB-mq-ref.xml:58
    1.54 +#: ../en/appB-mq-ref.xml:59
    1.55  msgid ""
    1.56  "<option role=\"hg-ext-mq-cmd-qdel-opt\">-f</option>: Delete the patch file."
    1.57  msgstr ""
    1.58  
    1.59  #. type: Content of: <book><appendix><sect1><sect2><title>
    1.60 -#: ../en/appB-mq-ref.xml:65
    1.61 +#: ../en/appB-mq-ref.xml:66
    1.62  msgid ""
    1.63  "<command role=\"hg-ext-mq\">qdiff</command>&emdash;print a diff of the "
    1.64  "topmost applied patch"
    1.65 @@ -516,7 +517,7 @@
    1.66  "<command role=\"hg-ext-mq\">qdiff</command>&emdash;显示最新应用补丁的差异"
    1.67  
    1.68  #. type: Content of: <book><appendix><sect1><sect2><para>
    1.69 -#: ../en/appB-mq-ref.xml:68
    1.70 +#: ../en/appB-mq-ref.xml:69
    1.71  msgid ""
    1.72  "The <command role=\"hg-ext-mq\">qdiff</command> command prints a diff of the "
    1.73  "topmost applied patch. It is equivalent to <command role=\"hg-cmd\">hg diff -"
    1.74 @@ -524,7 +525,7 @@
    1.75  msgstr ""
    1.76  
    1.77  #. type: Content of: <book><appendix><sect1><sect2><title>
    1.78 -#: ../en/appB-mq-ref.xml:74
    1.79 +#: ../en/appB-mq-ref.xml:75
    1.80  msgid ""
    1.81  "<command role=\"hg-ext-mq\">qfold</command>&emdash;merge (<quote>fold</"
    1.82  "quote>) several patches into one"
    1.83 @@ -533,7 +534,7 @@
    1.84  "</quote>)成一个"
    1.85  
    1.86  #. type: Content of: <book><appendix><sect1><sect2><para>
    1.87 -#: ../en/appB-mq-ref.xml:77
    1.88 +#: ../en/appB-mq-ref.xml:78
    1.89  msgid ""
    1.90  "The <command role=\"hg-ext-mq\">qfold</command> command merges multiple "
    1.91  "patches into the topmost applied patch, so that the topmost applied patch "
    1.92 @@ -541,7 +542,7 @@
    1.93  msgstr ""
    1.94  
    1.95  #. type: Content of: <book><appendix><sect1><sect2><para>
    1.96 -#: ../en/appB-mq-ref.xml:82
    1.97 +#: ../en/appB-mq-ref.xml:83
    1.98  msgid ""
    1.99  "The patches to fold must not be applied; <command role=\"hg-ext-mq\">qfold</"
   1.100  "command> will exit with an error if any is.  The order in which patches are "
   1.101 @@ -551,7 +552,7 @@
   1.102  msgstr ""
   1.103  
   1.104  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.105 -#: ../en/appB-mq-ref.xml:90
   1.106 +#: ../en/appB-mq-ref.xml:91
   1.107  msgid ""
   1.108  "The comments from the folded patches are appended to the comments of the "
   1.109  "destination patch, with each block of comments separated by three asterisk "
   1.110 @@ -561,14 +562,14 @@
   1.111  msgstr ""
   1.112  
   1.113  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.114 -#: ../en/appB-mq-ref.xml:100
   1.115 +#: ../en/appB-mq-ref.xml:101
   1.116  msgid ""
   1.117  "<option role=\"hg-ext-mq-cmd-qfold-opt\">-e</option>: Edit the commit message "
   1.118  "and patch description for the newly folded patch."
   1.119  msgstr ""
   1.120  
   1.121  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.122 -#: ../en/appB-mq-ref.xml:105
   1.123 +#: ../en/appB-mq-ref.xml:106
   1.124  msgid ""
   1.125  "<option role=\"hg-ext-mq-cmd-qfold-opt\">-l</option>: Use the contents of the "
   1.126  "given file as the new commit message and patch description for the folded "
   1.127 @@ -576,21 +577,21 @@
   1.128  msgstr ""
   1.129  
   1.130  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.131 -#: ../en/appB-mq-ref.xml:110
   1.132 +#: ../en/appB-mq-ref.xml:111
   1.133  msgid ""
   1.134  "<option role=\"hg-ext-mq-cmd-qfold-opt\">-m</option>: Use the given text as "
   1.135  "the new commit message and patch description for the folded patch."
   1.136  msgstr ""
   1.137  
   1.138  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.139 -#: ../en/appB-mq-ref.xml:118
   1.140 +#: ../en/appB-mq-ref.xml:119
   1.141  msgid ""
   1.142  "<command role=\"hg-ext-mq\">qheader</command>&emdash;display the header/"
   1.143  "description of a patch"
   1.144  msgstr "<command role=\"hg-ext-mq\">qheader</command>&emdash;显示补丁头部描述"
   1.145  
   1.146  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.147 -#: ../en/appB-mq-ref.xml:122
   1.148 +#: ../en/appB-mq-ref.xml:123
   1.149  msgid ""
   1.150  "The <command role=\"hg-ext-mq\">qheader</command> command prints the header, "
   1.151  "or description, of a patch.  By default, it prints the header of the topmost "
   1.152 @@ -598,7 +599,7 @@
   1.153  msgstr ""
   1.154  
   1.155  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.156 -#: ../en/appB-mq-ref.xml:129
   1.157 +#: ../en/appB-mq-ref.xml:130
   1.158  msgid ""
   1.159  "<command role=\"hg-ext-mq\">qimport</command>&emdash;import a third-party "
   1.160  "patch into the queue"
   1.161 @@ -606,7 +607,7 @@
   1.162  "<command role=\"hg-ext-mq\">qimport</command>&emdash;将第三方补丁导入队列"
   1.163  
   1.164  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.165 -#: ../en/appB-mq-ref.xml:132
   1.166 +#: ../en/appB-mq-ref.xml:133
   1.167  msgid ""
   1.168  "The <command role=\"hg-ext-mq\">qimport</command> command adds an entry for "
   1.169  "an external patch to the <filename role=\"special\">series</filename> file, "
   1.170 @@ -616,7 +617,7 @@
   1.171  msgstr ""
   1.172  
   1.173  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.174 -#: ../en/appB-mq-ref.xml:140
   1.175 +#: ../en/appB-mq-ref.xml:141
   1.176  msgid ""
   1.177  "If the <filename role=\"special\" class=\"directory\">.hg/patches</filename> "
   1.178  "directory is a repository, <command role=\"hg-ext-mq\">qimport</command> "
   1.179 @@ -625,14 +626,14 @@
   1.180  msgstr ""
   1.181  
   1.182  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.183 -#: ../en/appB-mq-ref.xml:148
   1.184 +#: ../en/appB-mq-ref.xml:149
   1.185  msgid ""
   1.186  "<command role=\"hg-ext-mq\">qinit</command>&emdash;prepare a repository to "
   1.187  "work with MQ"
   1.188  msgstr "<command role=\"hg-ext-mq\">qinit</command>&emdash;为使用 MQ 配置版本库"
   1.189  
   1.190  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.191 -#: ../en/appB-mq-ref.xml:151
   1.192 +#: ../en/appB-mq-ref.xml:152
   1.193  msgid ""
   1.194  "The <command role=\"hg-ext-mq\">qinit</command> command prepares a repository "
   1.195  "to work with MQ.  It creates a directory called <filename role=\"special\" "
   1.196 @@ -640,7 +641,7 @@
   1.197  msgstr ""
   1.198  
   1.199  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.200 -#: ../en/appB-mq-ref.xml:158
   1.201 +#: ../en/appB-mq-ref.xml:159
   1.202  msgid ""
   1.203  "<option role=\"hg-ext-mq-cmd-qinit-opt\">-c</option>: Create <filename role="
   1.204  "\"special\" class=\"directory\">.hg/patches</filename> as a repository in its "
   1.205 @@ -649,7 +650,7 @@
   1.206  msgstr ""
   1.207  
   1.208  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.209 -#: ../en/appB-mq-ref.xml:168
   1.210 +#: ../en/appB-mq-ref.xml:169
   1.211  msgid ""
   1.212  "When the <filename role=\"special\" class=\"directory\">.hg/patches</"
   1.213  "filename> directory is a repository, the <command role=\"hg-ext-mq\">qimport</"
   1.214 @@ -658,12 +659,12 @@
   1.215  msgstr ""
   1.216  
   1.217  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.218 -#: ../en/appB-mq-ref.xml:177
   1.219 +#: ../en/appB-mq-ref.xml:178
   1.220  msgid "<command role=\"hg-ext-mq\">qnew</command>&emdash;create a new patch"
   1.221  msgstr "<command role=\"hg-ext-mq\">qnew</command>&emdash;创建新补丁"
   1.222  
   1.223  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.224 -#: ../en/appB-mq-ref.xml:180
   1.225 +#: ../en/appB-mq-ref.xml:181
   1.226  msgid ""
   1.227  "The <command role=\"hg-ext-mq\">qnew</command> command creates a new patch.  "
   1.228  "It takes one mandatory argument, the name to use for the patch file.  The "
   1.229 @@ -673,7 +674,7 @@
   1.230  msgstr ""
   1.231  
   1.232  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.233 -#: ../en/appB-mq-ref.xml:188
   1.234 +#: ../en/appB-mq-ref.xml:189
   1.235  msgid ""
   1.236  "If <command role=\"hg-ext-mq\">qnew</command> finds modified files in the "
   1.237  "working directory, it will refuse to create a new patch unless the <option "
   1.238 @@ -683,7 +684,7 @@
   1.239  msgstr ""
   1.240  
   1.241  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.242 -#: ../en/appB-mq-ref.xml:198
   1.243 +#: ../en/appB-mq-ref.xml:199
   1.244  msgid ""
   1.245  "<option role=\"hg-ext-mq-cmd-qnew-opt\">-f</option>: Create a new patch if "
   1.246  "the contents of the working directory are modified.  Any outstanding "
   1.247 @@ -692,7 +693,7 @@
   1.248  msgstr ""
   1.249  
   1.250  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.251 -#: ../en/appB-mq-ref.xml:205
   1.252 +#: ../en/appB-mq-ref.xml:206
   1.253  msgid ""
   1.254  "<option role=\"hg-ext-mq-cmd-qnew-opt\">-m</option>: Use the given text as "
   1.255  "the commit message. This text will be stored at the beginning of the patch "
   1.256 @@ -700,14 +701,14 @@
   1.257  msgstr ""
   1.258  
   1.259  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.260 -#: ../en/appB-mq-ref.xml:214
   1.261 +#: ../en/appB-mq-ref.xml:215
   1.262  msgid ""
   1.263  "<command role=\"hg-ext-mq\">qnext</command>&emdash;print the name of the next "
   1.264  "patch"
   1.265  msgstr "<command role=\"hg-ext-mq\">qnext</command>&emdash;显示下个补丁的名称"
   1.266  
   1.267  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.268 -#: ../en/appB-mq-ref.xml:217
   1.269 +#: ../en/appB-mq-ref.xml:218
   1.270  msgid ""
   1.271  "The <command role=\"hg-ext-mq\">qnext</command> command prints the name name "
   1.272  "of the next patch in the <filename role=\"special\">series</filename> file "
   1.273 @@ -716,13 +717,13 @@
   1.274  msgstr ""
   1.275  
   1.276  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.277 -#: ../en/appB-mq-ref.xml:226
   1.278 +#: ../en/appB-mq-ref.xml:227
   1.279  msgid ""
   1.280  "<command role=\"hg-ext-mq\">qpop</command>&emdash;pop patches off the stack"
   1.281  msgstr "<command role=\"hg-ext-mq\">qpop</command>&emdash;删除堆栈顶部的补丁"
   1.282  
   1.283  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.284 -#: ../en/appB-mq-ref.xml:229
   1.285 +#: ../en/appB-mq-ref.xml:230
   1.286  msgid ""
   1.287  "The <command role=\"hg-ext-mq\">qpop</command> command removes applied "
   1.288  "patches from the top of the stack of applied patches.  By default, it removes "
   1.289 @@ -730,7 +731,7 @@
   1.290  msgstr ""
   1.291  
   1.292  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.293 -#: ../en/appB-mq-ref.xml:233
   1.294 +#: ../en/appB-mq-ref.xml:234
   1.295  msgid ""
   1.296  "This command removes the changesets that represent the popped patches from "
   1.297  "the repository, and updates the working directory to undo the effects of the "
   1.298 @@ -738,7 +739,7 @@
   1.299  msgstr ""
   1.300  
   1.301  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.302 -#: ../en/appB-mq-ref.xml:237
   1.303 +#: ../en/appB-mq-ref.xml:238
   1.304  msgid ""
   1.305  "This command takes an optional argument, which it uses as the name or index "
   1.306  "of the patch to pop to.  If given a name, it will pop patches until the named "
   1.307 @@ -750,7 +751,7 @@
   1.308  msgstr ""
   1.309  
   1.310  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.311 -#: ../en/appB-mq-ref.xml:247
   1.312 +#: ../en/appB-mq-ref.xml:248
   1.313  msgid ""
   1.314  "The <command role=\"hg-ext-mq\">qpop</command> command does not read or write "
   1.315  "patches or the <filename role=\"special\">series</filename> file.  It is thus "
   1.316 @@ -761,7 +762,7 @@
   1.317  msgstr ""
   1.318  
   1.319  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.320 -#: ../en/appB-mq-ref.xml:256
   1.321 +#: ../en/appB-mq-ref.xml:257
   1.322  msgid ""
   1.323  "By default, the <command role=\"hg-ext-mq\">qpop</command> command will not "
   1.324  "pop any patches if the working directory has been modified.  You can override "
   1.325 @@ -770,7 +771,7 @@
   1.326  msgstr ""
   1.327  
   1.328  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.329 -#: ../en/appB-mq-ref.xml:265
   1.330 +#: ../en/appB-mq-ref.xml:266
   1.331  msgid ""
   1.332  "<option role=\"hg-ext-mq-cmd-qpop-opt\">-a</option>: Pop all applied "
   1.333  "patches.  This returns the repository to its state before you applied any "
   1.334 @@ -778,21 +779,21 @@
   1.335  msgstr ""
   1.336  
   1.337  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.338 -#: ../en/appB-mq-ref.xml:270
   1.339 +#: ../en/appB-mq-ref.xml:271
   1.340  msgid ""
   1.341  "<option role=\"hg-ext-mq-cmd-qpop-opt\">-f</option>: Forcibly revert any "
   1.342  "modifications to the working directory when popping."
   1.343  msgstr ""
   1.344  
   1.345  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.346 -#: ../en/appB-mq-ref.xml:275
   1.347 +#: ../en/appB-mq-ref.xml:276
   1.348  msgid ""
   1.349  "<option role=\"hg-ext-mq-cmd-qpop-opt\">-n</option>: Pop a patch from the "
   1.350  "named queue."
   1.351  msgstr ""
   1.352  
   1.353  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.354 -#: ../en/appB-mq-ref.xml:280
   1.355 +#: ../en/appB-mq-ref.xml:281
   1.356  msgid ""
   1.357  "The <command role=\"hg-ext-mq\">qpop</command> command removes one line from "
   1.358  "the end of the <filename role=\"special\">status</filename> file for each "
   1.359 @@ -800,14 +801,14 @@
   1.360  msgstr ""
   1.361  
   1.362  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.363 -#: ../en/appB-mq-ref.xml:287
   1.364 +#: ../en/appB-mq-ref.xml:288
   1.365  msgid ""
   1.366  "<command role=\"hg-ext-mq\">qprev</command>&emdash;print the name of the "
   1.367  "previous patch"
   1.368  msgstr "<command role=\"hg-ext-mq\">qprev</command>&emdash;显示上个补丁的名称"
   1.369  
   1.370  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.371 -#: ../en/appB-mq-ref.xml:290
   1.372 +#: ../en/appB-mq-ref.xml:291
   1.373  msgid ""
   1.374  "The <command role=\"hg-ext-mq\">qprev</command> command prints the name of "
   1.375  "the patch in the <filename role=\"special\">series</filename> file that comes "
   1.376 @@ -816,32 +817,32 @@
   1.377  msgstr ""
   1.378  
   1.379  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.380 -#: ../en/appB-mq-ref.xml:299
   1.381 +#: ../en/appB-mq-ref.xml:300
   1.382  msgid ""
   1.383  "<command role=\"hg-ext-mq\">qpush</command>&emdash;push patches onto the stack"
   1.384  msgstr "<command role=\"hg-ext-mq\">qpush</command>&emdash;增加补丁到堆栈"
   1.385  
   1.386  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.387 -#: ../en/appB-mq-ref.xml:302
   1.388 +#: ../en/appB-mq-ref.xml:303
   1.389  msgid ""
   1.390  "The <command role=\"hg-ext-mq\">qpush</command> command adds patches onto the "
   1.391  "applied stack.  By default, it adds only one patch."
   1.392  msgstr ""
   1.393  
   1.394  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.395 -#: ../en/appB-mq-ref.xml:306
   1.396 +#: ../en/appB-mq-ref.xml:307
   1.397  msgid ""
   1.398  "This command creates a new changeset to represent each applied patch, and "
   1.399  "updates the working directory to apply the effects of the patches."
   1.400  msgstr ""
   1.401  
   1.402  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.403 -#: ../en/appB-mq-ref.xml:310
   1.404 +#: ../en/appB-mq-ref.xml:311
   1.405  msgid "The default data used when creating a changeset are as follows:"
   1.406  msgstr ""
   1.407  
   1.408  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.409 -#: ../en/appB-mq-ref.xml:313
   1.410 +#: ../en/appB-mq-ref.xml:314
   1.411  msgid ""
   1.412  "The commit date and time zone are the current date and time zone.  Because "
   1.413  "these data are used to compute the identity of a changeset, this means that "
   1.414 @@ -851,14 +852,14 @@
   1.415  msgstr ""
   1.416  
   1.417  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.418 -#: ../en/appB-mq-ref.xml:321
   1.419 +#: ../en/appB-mq-ref.xml:322
   1.420  msgid ""
   1.421  "The author is the same as the default used by the <command role=\"hg-cmd\">hg "
   1.422  "commit</command> command."
   1.423  msgstr ""
   1.424  
   1.425  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.426 -#: ../en/appB-mq-ref.xml:325
   1.427 +#: ../en/appB-mq-ref.xml:326
   1.428  msgid ""
   1.429  "The commit message is any text from the patch file that comes before the "
   1.430  "first diff header.  If there is no such text, a default commit message is "
   1.431 @@ -866,14 +867,14 @@
   1.432  msgstr ""
   1.433  
   1.434  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.435 -#: ../en/appB-mq-ref.xml:330
   1.436 +#: ../en/appB-mq-ref.xml:331
   1.437  msgid ""
   1.438  "If a patch contains a Mercurial patch header (XXX add link), the information "
   1.439  "in the patch header overrides these defaults."
   1.440  msgstr ""
   1.441  
   1.442  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.443 -#: ../en/appB-mq-ref.xml:336
   1.444 +#: ../en/appB-mq-ref.xml:337
   1.445  msgid ""
   1.446  "<option role=\"hg-ext-mq-cmd-qpush-opt\">-a</option>: Push all unapplied "
   1.447  "patches from the <filename role=\"special\">series</filename> file until "
   1.448 @@ -881,14 +882,14 @@
   1.449  msgstr ""
   1.450  
   1.451  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.452 -#: ../en/appB-mq-ref.xml:342
   1.453 +#: ../en/appB-mq-ref.xml:343
   1.454  msgid ""
   1.455  "<option role=\"hg-ext-mq-cmd-qpush-opt\">-l</option>: Add the name of the "
   1.456  "patch to the end of the commit message."
   1.457  msgstr ""
   1.458  
   1.459  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.460 -#: ../en/appB-mq-ref.xml:346
   1.461 +#: ../en/appB-mq-ref.xml:347
   1.462  msgid ""
   1.463  "<option role=\"hg-ext-mq-cmd-qpush-opt\">-m</option>: If a patch fails to "
   1.464  "apply cleanly, use the entry for the patch in another saved queue to compute "
   1.465 @@ -898,14 +899,14 @@
   1.466  msgstr ""
   1.467  
   1.468  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.469 -#: ../en/appB-mq-ref.xml:354
   1.470 +#: ../en/appB-mq-ref.xml:355
   1.471  msgid ""
   1.472  "<option role=\"hg-ext-mq-cmd-qpush-opt\">-n</option>: Use the named queue if "
   1.473  "merging while pushing."
   1.474  msgstr ""
   1.475  
   1.476  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.477 -#: ../en/appB-mq-ref.xml:359
   1.478 +#: ../en/appB-mq-ref.xml:360
   1.479  msgid ""
   1.480  "The <command role=\"hg-ext-mq\">qpush</command> command reads, but does not "
   1.481  "modify, the <filename role=\"special\">series</filename> file.  It appends "
   1.482 @@ -914,14 +915,14 @@
   1.483  msgstr ""
   1.484  
   1.485  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.486 -#: ../en/appB-mq-ref.xml:367
   1.487 +#: ../en/appB-mq-ref.xml:368
   1.488  msgid ""
   1.489  "<command role=\"hg-ext-mq\">qrefresh</command>&emdash;update the topmost "
   1.490  "applied patch"
   1.491  msgstr "<command role=\"hg-ext-mq\">qrefresh</command>&emdash;更新最新的补丁"
   1.492  
   1.493  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.494 -#: ../en/appB-mq-ref.xml:371
   1.495 +#: ../en/appB-mq-ref.xml:372
   1.496  msgid ""
   1.497  "The <command role=\"hg-ext-mq\">qrefresh</command> command updates the "
   1.498  "topmost applied patch.  It modifies the patch, removes the old changeset that "
   1.499 @@ -930,28 +931,28 @@
   1.500  msgstr ""
   1.501  
   1.502  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.503 -#: ../en/appB-mq-ref.xml:377
   1.504 +#: ../en/appB-mq-ref.xml:378
   1.505  msgid ""
   1.506  "The <command role=\"hg-ext-mq\">qrefresh</command> command looks for the "
   1.507  "following modifications:"
   1.508  msgstr ""
   1.509  
   1.510  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.511 -#: ../en/appB-mq-ref.xml:380
   1.512 +#: ../en/appB-mq-ref.xml:381
   1.513  msgid ""
   1.514  "Changes to the commit message, i.e. the text before the first diff header in "
   1.515  "the patch file, are reflected in the new changeset that represents the patch."
   1.516  msgstr ""
   1.517  
   1.518  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.519 -#: ../en/appB-mq-ref.xml:385
   1.520 +#: ../en/appB-mq-ref.xml:386
   1.521  msgid ""
   1.522  "Modifications to tracked files in the working directory are added to the "
   1.523  "patch."
   1.524  msgstr ""
   1.525  
   1.526  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.527 -#: ../en/appB-mq-ref.xml:388
   1.528 +#: ../en/appB-mq-ref.xml:389
   1.529  msgid ""
   1.530  "Changes to the files tracked using <command role=\"hg-cmd\">hg add</command>, "
   1.531  "<command role=\"hg-cmd\">hg copy</command>, <command role=\"hg-cmd\">hg "
   1.532 @@ -961,7 +962,7 @@
   1.533  msgstr ""
   1.534  
   1.535  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.536 -#: ../en/appB-mq-ref.xml:397
   1.537 +#: ../en/appB-mq-ref.xml:398
   1.538  msgid ""
   1.539  "Even if <command role=\"hg-ext-mq\">qrefresh</command> detects no changes, it "
   1.540  "still recreates the changeset that represents the patch.  This causes the "
   1.541 @@ -970,33 +971,33 @@
   1.542  msgstr ""
   1.543  
   1.544  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.545 -#: ../en/appB-mq-ref.xml:405
   1.546 +#: ../en/appB-mq-ref.xml:406
   1.547  msgid ""
   1.548  "<option role=\"hg-ext-mq-cmd-qrefresh-opt\">-e</option>: Modify the commit "
   1.549  "and patch description, using the preferred text editor."
   1.550  msgstr ""
   1.551  
   1.552  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.553 -#: ../en/appB-mq-ref.xml:410
   1.554 +#: ../en/appB-mq-ref.xml:411
   1.555  msgid ""
   1.556  "<option role=\"hg-ext-mq-cmd-qrefresh-opt\">-m</option>: Modify the commit "
   1.557  "message and patch description, using the given text."
   1.558  msgstr ""
   1.559  
   1.560  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.561 -#: ../en/appB-mq-ref.xml:415
   1.562 +#: ../en/appB-mq-ref.xml:416
   1.563  msgid ""
   1.564  "<option role=\"hg-ext-mq-cmd-qrefresh-opt\">-l</option>: Modify the commit "
   1.565  "message and patch description, using text from the given file."
   1.566  msgstr ""
   1.567  
   1.568  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.569 -#: ../en/appB-mq-ref.xml:423
   1.570 +#: ../en/appB-mq-ref.xml:424
   1.571  msgid "<command role=\"hg-ext-mq\">qrename</command>&emdash;rename a patch"
   1.572  msgstr "<command role=\"hg-ext-mq\">qrename</command>&emdash;改名补丁"
   1.573  
   1.574  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.575 -#: ../en/appB-mq-ref.xml:426
   1.576 +#: ../en/appB-mq-ref.xml:427
   1.577  msgid ""
   1.578  "The <command role=\"hg-ext-mq\">qrename</command> command renames a patch, "
   1.579  "and changes the entry for the patch in the <filename role=\"special\">series</"
   1.580 @@ -1004,7 +1005,7 @@
   1.581  msgstr ""
   1.582  
   1.583  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.584 -#: ../en/appB-mq-ref.xml:430
   1.585 +#: ../en/appB-mq-ref.xml:431
   1.586  msgid ""
   1.587  "With a single argument, <command role=\"hg-ext-mq\">qrename</command> renames "
   1.588  "the topmost applied patch.  With two arguments, it renames its first argument "
   1.589 @@ -1012,37 +1013,37 @@
   1.590  msgstr ""
   1.591  
   1.592  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.593 -#: ../en/appB-mq-ref.xml:437
   1.594 +#: ../en/appB-mq-ref.xml:438
   1.595  msgid ""
   1.596  "<command role=\"hg-ext-mq\">qrestore</command>&emdash;restore saved queue "
   1.597  "state"
   1.598  msgstr "<command role=\"hg-ext-mq\">qrestore</command>&emdash;恢复保存的队列"
   1.599  
   1.600  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.601 -#: ../en/appB-mq-ref.xml:441
   1.602 +#: ../en/appB-mq-ref.xml:442
   1.603  msgid "XXX No idea what this does."
   1.604  msgstr ""
   1.605  
   1.606  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.607 -#: ../en/appB-mq-ref.xml:445
   1.608 +#: ../en/appB-mq-ref.xml:446
   1.609  msgid ""
   1.610  "<command role=\"hg-ext-mq\">qsave</command>&emdash;save current queue state"
   1.611  msgstr "<command role=\"hg-ext-mq\">qsave</command>&emdash;保存当前的队列状态"
   1.612  
   1.613  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.614 -#: ../en/appB-mq-ref.xml:448
   1.615 +#: ../en/appB-mq-ref.xml:449
   1.616  msgid "XXX Likewise."
   1.617  msgstr ""
   1.618  
   1.619  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.620 -#: ../en/appB-mq-ref.xml:452
   1.621 +#: ../en/appB-mq-ref.xml:453
   1.622  msgid ""
   1.623  "<command role=\"hg-ext-mq\">qseries</command>&emdash;print the entire patch "
   1.624  "series"
   1.625  msgstr "<command role=\"hg-ext-mq\">qseries</command>&emdash;显示补丁序列"
   1.626  
   1.627  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.628 -#: ../en/appB-mq-ref.xml:455
   1.629 +#: ../en/appB-mq-ref.xml:456
   1.630  msgid ""
   1.631  "The <command role=\"hg-ext-mq\">qseries</command> command prints the entire "
   1.632  "patch series from the <filename role=\"special\">series</filename> file.  It "
   1.633 @@ -1051,21 +1052,21 @@
   1.634  msgstr ""
   1.635  
   1.636  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.637 -#: ../en/appB-mq-ref.xml:463
   1.638 +#: ../en/appB-mq-ref.xml:464
   1.639  msgid ""
   1.640  "<command role=\"hg-ext-mq\">qtop</command>&emdash;print the name of the "
   1.641  "current patch"
   1.642  msgstr "<command role=\"hg-ext-mq\">qtop</command>&emdash;显示当前补丁的名称"
   1.643  
   1.644  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.645 -#: ../en/appB-mq-ref.xml:466
   1.646 +#: ../en/appB-mq-ref.xml:467
   1.647  msgid ""
   1.648  "The <command role=\"hg-ext-mq\">qtop</command> prints the name of the topmost "
   1.649  "currently applied patch."
   1.650  msgstr ""
   1.651  
   1.652  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.653 -#: ../en/appB-mq-ref.xml:471
   1.654 +#: ../en/appB-mq-ref.xml:472
   1.655  msgid ""
   1.656  "<command role=\"hg-ext-mq\">qunapplied</command>&emdash;print patches not yet "
   1.657  "applied"
   1.658 @@ -1073,7 +1074,7 @@
   1.659  "<command role=\"hg-ext-mq\">qunapplied</command>&emdash;显示尚未应用的补丁"
   1.660  
   1.661  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.662 -#: ../en/appB-mq-ref.xml:475
   1.663 +#: ../en/appB-mq-ref.xml:476
   1.664  msgid ""
   1.665  "The <command role=\"hg-ext-mq\">qunapplied</command> command prints the names "
   1.666  "of patches from the <filename role=\"special\">series</filename> file that "
   1.667 @@ -1082,14 +1083,14 @@
   1.668  msgstr ""
   1.669  
   1.670  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.671 -#: ../en/appB-mq-ref.xml:483
   1.672 +#: ../en/appB-mq-ref.xml:484
   1.673  msgid ""
   1.674  "<command role=\"hg-cmd\">hg strip</command>&emdash;remove a revision and "
   1.675  "descendants"
   1.676  msgstr "<command role=\"hg-cmd\">hg strip</command>&emdash;删除一个版本及其后继"
   1.677  
   1.678  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.679 -#: ../en/appB-mq-ref.xml:486
   1.680 +#: ../en/appB-mq-ref.xml:487
   1.681  msgid ""
   1.682  "The <command role=\"hg-cmd\">hg strip</command> command removes a revision, "
   1.683  "and all of its descendants, from the repository.  It undoes the effects of "
   1.684 @@ -1098,7 +1099,7 @@
   1.685  msgstr ""
   1.686  
   1.687  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.688 -#: ../en/appB-mq-ref.xml:492
   1.689 +#: ../en/appB-mq-ref.xml:493
   1.690  msgid ""
   1.691  "The <command role=\"hg-cmd\">hg strip</command> command saves a backup of the "
   1.692  "removed changesets in a bundle, so that they can be reapplied if removed in "
   1.693 @@ -1106,14 +1107,14 @@
   1.694  msgstr ""
   1.695  
   1.696  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.697 -#: ../en/appB-mq-ref.xml:498
   1.698 +#: ../en/appB-mq-ref.xml:499
   1.699  msgid ""
   1.700  "<option role=\"hg-opt-strip\">-b</option>: Save unrelated changesets that are "
   1.701  "intermixed with the stripped changesets in the backup bundle."
   1.702  msgstr ""
   1.703  
   1.704  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.705 -#: ../en/appB-mq-ref.xml:502
   1.706 +#: ../en/appB-mq-ref.xml:503
   1.707  msgid ""
   1.708  "<option role=\"hg-opt-strip\">-f</option>: If a branch has multiple heads, "
   1.709  "remove all heads. XXX This should be renamed, and use <literal>-f</literal> "
   1.710 @@ -1121,22 +1122,22 @@
   1.711  msgstr ""
   1.712  
   1.713  #. type: Content of: <book><appendix><sect1><sect2><itemizedlist><listitem><para>
   1.714 -#: ../en/appB-mq-ref.xml:507
   1.715 +#: ../en/appB-mq-ref.xml:508
   1.716  msgid "<option role=\"hg-opt-strip\">-n</option>: Do not save a backup bundle."
   1.717  msgstr ""
   1.718  
   1.719  #. type: Content of: <book><appendix><sect1><title>
   1.720 -#: ../en/appB-mq-ref.xml:514
   1.721 +#: ../en/appB-mq-ref.xml:515
   1.722  msgid "MQ file reference"
   1.723  msgstr "MQ 文件参考"
   1.724  
   1.725  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.726 -#: ../en/appB-mq-ref.xml:517
   1.727 +#: ../en/appB-mq-ref.xml:518
   1.728  msgid "The <filename role=\"special\">series</filename> file"
   1.729  msgstr "<filename role=\"special\">序列</filename>文件"
   1.730  
   1.731  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.732 -#: ../en/appB-mq-ref.xml:520
   1.733 +#: ../en/appB-mq-ref.xml:521
   1.734  msgid ""
   1.735  "The <filename role=\"special\">series</filename> file contains a list of the "
   1.736  "names of all patches that MQ can apply.  It is represented as a list of "
   1.737 @@ -1145,7 +1146,7 @@
   1.738  msgstr ""
   1.739  
   1.740  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.741 -#: ../en/appB-mq-ref.xml:526
   1.742 +#: ../en/appB-mq-ref.xml:527
   1.743  msgid ""
   1.744  "Lines may contain comments.  A comment begins with the <quote><literal>#</"
   1.745  "literal></quote> character, and extends to the end of the line.  Empty lines, "
   1.746 @@ -1153,7 +1154,7 @@
   1.747  msgstr ""
   1.748  
   1.749  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.750 -#: ../en/appB-mq-ref.xml:531
   1.751 +#: ../en/appB-mq-ref.xml:532
   1.752  msgid ""
   1.753  "You will often need to edit the <filename role=\"special\">series</filename> "
   1.754  "file by hand, hence the support for comments and empty lines noted above.  "
   1.755 @@ -1164,7 +1165,7 @@
   1.756  msgstr ""
   1.757  
   1.758  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.759 -#: ../en/appB-mq-ref.xml:540
   1.760 +#: ../en/appB-mq-ref.xml:541
   1.761  msgid ""
   1.762  "Placing the <filename role=\"special\">series</filename> file under revision "
   1.763  "control is also supported; it is a good idea to place all of the patches that "
   1.764 @@ -1175,12 +1176,12 @@
   1.765  msgstr ""
   1.766  
   1.767  #. type: Content of: <book><appendix><sect1><sect2><title>
   1.768 -#: ../en/appB-mq-ref.xml:550
   1.769 +#: ../en/appB-mq-ref.xml:551
   1.770  msgid "The <filename role=\"special\">status</filename> file"
   1.771  msgstr "<filename role=\"special\">状态</filename>文件"
   1.772  
   1.773  #. type: Content of: <book><appendix><sect1><sect2><para>
   1.774 -#: ../en/appB-mq-ref.xml:553
   1.775 +#: ../en/appB-mq-ref.xml:554
   1.776  msgid ""
   1.777  "The <filename role=\"special\">status</filename> file contains the names and "
   1.778  "changeset hashes of all patches that MQ currently has applied.  Unlike the "
   1.779 @@ -1519,941 +1520,17 @@
   1.780  msgstr ""
   1.781  
   1.782  #. type: Content of: <book><chapter><title>
   1.783 -#: ../en/ch01-intro.xml:5
   1.784 -msgid "Introduction"
   1.785 -msgstr "简介"
   1.786 -
   1.787 -#. type: Content of: <book><chapter><sect1><title>
   1.788 -#: ../en/ch01-intro.xml:8
   1.789 -msgid "About revision control"
   1.790 -msgstr "关于版本控制"
   1.791 -
   1.792 -#. type: Content of: <book><chapter><sect1><para>
   1.793 -#: ../en/ch01-intro.xml:10
   1.794 -msgid ""
   1.795 -"Revision control is the process of managing multiple versions of a piece of "
   1.796 -"information.  In its simplest form, this is something that many people do by "
   1.797 -"hand: every time you modify a file, save it under a new name that contains a "
   1.798 -"number, each one higher than the number of the preceding version."
   1.799 -msgstr ""
   1.800 -
   1.801 -#. type: Content of: <book><chapter><sect1><para>
   1.802 -#: ../en/ch01-intro.xml:16
   1.803 -msgid ""
   1.804 -"Manually managing multiple versions of even a single file is an error-prone "
   1.805 -"task, though, so software tools to help automate this process have long been "
   1.806 -"available.  The earliest automated revision control tools were intended to "
   1.807 -"help a single user to manage revisions of a single file.  Over the past few "
   1.808 -"decades, the scope of revision control tools has expanded greatly; they now "
   1.809 -"manage multiple files, and help multiple people to work together.  The best "
   1.810 -"modern revision control tools have no problem coping with thousands of people "
   1.811 -"working together on projects that consist of hundreds of thousands of files."
   1.812 -msgstr ""
   1.813 -
   1.814 -#. type: Content of: <book><chapter><sect1><sect2><title>
   1.815 -#: ../en/ch01-intro.xml:28
   1.816 -msgid "Why use revision control?"
   1.817 -msgstr "为什么使用版本控制?"
   1.818 -
   1.819 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.820 -#: ../en/ch01-intro.xml:30
   1.821 -msgid ""
   1.822 -"There are a number of reasons why you or your team might want to use an "
   1.823 -"automated revision control tool for a project."
   1.824 -msgstr ""
   1.825 -
   1.826 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.827 -#: ../en/ch01-intro.xml:34
   1.828 -msgid ""
   1.829 -"It will track the history and evolution of your project, so you don't have "
   1.830 -"to.  For every change, you'll have a log of <emphasis>who</emphasis> made it; "
   1.831 -"<emphasis>why</emphasis> they made it; <emphasis>when</emphasis> they made "
   1.832 -"it; and <emphasis>what</emphasis> the change was."
   1.833 -msgstr ""
   1.834 -
   1.835 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.836 -#: ../en/ch01-intro.xml:41
   1.837 -msgid ""
   1.838 -"When you're working with other people, revision control software makes it "
   1.839 -"easier for you to collaborate.  For example, when people more or less "
   1.840 -"simultaneously make potentially incompatible changes, the software will help "
   1.841 -"you to identify and resolve those conflicts."
   1.842 -msgstr ""
   1.843 -
   1.844 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.845 -#: ../en/ch01-intro.xml:47
   1.846 -msgid ""
   1.847 -"It can help you to recover from mistakes.  If you make a change that later "
   1.848 -"turns out to be in error, you can revert to an earlier version of one or more "
   1.849 -"files.  In fact, a <emphasis>really</emphasis> good revision control tool "
   1.850 -"will even help you to efficiently figure out exactly when a problem was "
   1.851 -"introduced (see section <xref linkend=\"sec.undo.bisect\"/> for details)."
   1.852 -msgstr ""
   1.853 -
   1.854 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.855 -#: ../en/ch01-intro.xml:54
   1.856 -msgid ""
   1.857 -"It will help you to work simultaneously on, and manage the drift between, "
   1.858 -"multiple versions of your project."
   1.859 -msgstr ""
   1.860 -
   1.861 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.862 -#: ../en/ch01-intro.xml:57
   1.863 -msgid ""
   1.864 -"Most of these reasons are equally valid---at least in theory---whether you're "
   1.865 -"working on a project by yourself, or with a hundred other people."
   1.866 -msgstr ""
   1.867 -
   1.868 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.869 -#: ../en/ch01-intro.xml:61
   1.870 -msgid ""
   1.871 -"A key question about the practicality of revision control at these two "
   1.872 -"different scales (<quote>lone hacker</quote> and <quote>huge team</quote>) is "
   1.873 -"how its <emphasis>benefits</emphasis> compare to its <emphasis>costs</"
   1.874 -"emphasis>.  A revision control tool that's difficult to understand or use is "
   1.875 -"going to impose a high cost."
   1.876 -msgstr ""
   1.877 -
   1.878 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.879 -#: ../en/ch01-intro.xml:69
   1.880 -msgid ""
   1.881 -"A five-hundred-person project is likely to collapse under its own weight "
   1.882 -"almost immediately without a revision control tool and process. In this case, "
   1.883 -"the cost of using revision control might hardly seem worth considering, since "
   1.884 -"<emphasis>without</emphasis> it, failure is almost guaranteed."
   1.885 -msgstr ""
   1.886 -
   1.887 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.888 -#: ../en/ch01-intro.xml:76
   1.889 -msgid ""
   1.890 -"On the other hand, a one-person <quote>quick hack</quote> might seem like a "
   1.891 -"poor place to use a revision control tool, because surely the cost of using "
   1.892 -"one must be close to the overall cost of the project.  Right?"
   1.893 -msgstr ""
   1.894 -
   1.895 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.896 -#: ../en/ch01-intro.xml:81
   1.897 -msgid ""
   1.898 -"Mercurial uniquely supports <emphasis>both</emphasis> of these scales of "
   1.899 -"development.  You can learn the basics in just a few minutes, and due to its "
   1.900 -"low overhead, you can apply revision control to the smallest of projects with "
   1.901 -"ease.  Its simplicity means you won't have a lot of abstruse concepts or "
   1.902 -"command sequences competing for mental space with whatever you're "
   1.903 -"<emphasis>really</emphasis> trying to do.  At the same time, Mercurial's high "
   1.904 -"performance and peer-to-peer nature let you scale painlessly to handle large "
   1.905 -"projects."
   1.906 -msgstr ""
   1.907 -
   1.908 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.909 -#: ../en/ch01-intro.xml:91
   1.910 -msgid ""
   1.911 -"No revision control tool can rescue a poorly run project, but a good choice "
   1.912 -"of tools can make a huge difference to the fluidity with which you can work "
   1.913 -"on a project."
   1.914 -msgstr ""
   1.915 -
   1.916 -#. type: Content of: <book><chapter><sect1><sect2><title>
   1.917 -#: ../en/ch01-intro.xml:97
   1.918 -msgid "The many names of revision control"
   1.919 -msgstr "版本控制的别名"
   1.920 -
   1.921 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.922 -#: ../en/ch01-intro.xml:99
   1.923 -msgid ""
   1.924 -"Revision control is a diverse field, so much so that it doesn't actually have "
   1.925 -"a single name or acronym.  Here are a few of the more common names and "
   1.926 -"acronyms you'll encounter:"
   1.927 -msgstr ""
   1.928 -
   1.929 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.930 -#: ../en/ch01-intro.xml:104
   1.931 -msgid "Revision control (RCS)"
   1.932 -msgstr "版本控制(RCS)"
   1.933 -
   1.934 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.935 -#: ../en/ch01-intro.xml:105
   1.936 -msgid "Software configuration management (SCM), or configuration management"
   1.937 -msgstr "软件配置管理(SCM),或配置管理"
   1.938 -
   1.939 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.940 -#: ../en/ch01-intro.xml:107
   1.941 -msgid "Source code management"
   1.942 -msgstr "源代码管理"
   1.943 -
   1.944 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.945 -#: ../en/ch01-intro.xml:108
   1.946 -msgid "Source code control, or source control"
   1.947 -msgstr "源代码控制,或源控制"
   1.948 -
   1.949 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.950 -#: ../en/ch01-intro.xml:110
   1.951 -msgid "Version control (VCS)"
   1.952 -msgstr "版本控制(VCS)"
   1.953 -
   1.954 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.955 -#: ../en/ch01-intro.xml:112
   1.956 -msgid ""
   1.957 -"Some people claim that these terms actually have different meanings, but in "
   1.958 -"practice they overlap so much that there's no agreed or even useful way to "
   1.959 -"tease them apart."
   1.960 -msgstr ""
   1.961 -
   1.962 -#. type: Content of: <book><chapter><sect1><title>
   1.963 -#: ../en/ch01-intro.xml:119
   1.964 -msgid "A short history of revision control"
   1.965 -msgstr "版本控制简史"
   1.966 -
   1.967 -#. type: Content of: <book><chapter><sect1><para>
   1.968 -#: ../en/ch01-intro.xml:121
   1.969 -msgid ""
   1.970 -"The best known of the old-time revision control tools is SCCS (Source Code "
   1.971 -"Control System), which Marc Rochkind wrote at Bell Labs, in the early 1970s.  "
   1.972 -"SCCS operated on individual files, and required every person working on a "
   1.973 -"project to have access to a shared workspace on a single system.  Only one "
   1.974 -"person could modify a file at any time; arbitration for access to files was "
   1.975 -"via locks.  It was common for people to lock files, and later forget to "
   1.976 -"unlock them, preventing anyone else from modifying those files without the "
   1.977 -"help of an administrator."
   1.978 -msgstr ""
   1.979 -
   1.980 -#. type: Content of: <book><chapter><sect1><para>
   1.981 -#: ../en/ch01-intro.xml:132
   1.982 -msgid ""
   1.983 -"Walter Tichy developed a free alternative to SCCS in the early 1980s; he "
   1.984 -"called his program RCS (Revision Control System).  Like SCCS, RCS required "
   1.985 -"developers to work in a single shared workspace, and to lock files to prevent "
   1.986 -"multiple people from modifying them simultaneously."
   1.987 -msgstr ""
   1.988 -
   1.989 -#. type: Content of: <book><chapter><sect1><para>
   1.990 -#: ../en/ch01-intro.xml:138
   1.991 -msgid ""
   1.992 -"Later in the 1980s, Dick Grune used RCS as a building block for a set of "
   1.993 -"shell scripts he initially called cmt, but then renamed to CVS (Concurrent "
   1.994 -"Versions System).  The big innovation of CVS was that it let developers work "
   1.995 -"simultaneously and somewhat independently in their own personal workspaces.  "
   1.996 -"The personal workspaces prevented developers from stepping on each other's "
   1.997 -"toes all the time, as was common with SCCS and RCS. Each developer had a copy "
   1.998 -"of every project file, and could modify their copies independently.  They had "
   1.999 -"to merge their edits prior to committing changes to the central repository."
  1.1000 -msgstr ""
  1.1001 -
  1.1002 -#. type: Content of: <book><chapter><sect1><para>
  1.1003 -#: ../en/ch01-intro.xml:149
  1.1004 -msgid ""
  1.1005 -"Brian Berliner took Grune's original scripts and rewrote them in C, releasing "
  1.1006 -"in 1989 the code that has since developed into the modern version of CVS.  "
  1.1007 -"CVS subsequently acquired the ability to operate over a network connection, "
  1.1008 -"giving it a client/server architecture.  CVS's architecture is centralised; "
  1.1009 -"only the server has a copy of the history of the project. Client workspaces "
  1.1010 -"just contain copies of recent versions of the project's files, and a little "
  1.1011 -"metadata to tell them where the server is.  CVS has been enormously "
  1.1012 -"successful; it is probably the world's most widely used revision control "
  1.1013 -"system."
  1.1014 -msgstr ""
  1.1015 -
  1.1016 -#. type: Content of: <book><chapter><sect1><para>
  1.1017 -#: ../en/ch01-intro.xml:160
  1.1018 -msgid ""
  1.1019 -"In the early 1990s, Sun Microsystems developed an early distributed revision "
  1.1020 -"control system, called TeamWare.  A TeamWare workspace contains a complete "
  1.1021 -"copy of the project's history.  TeamWare has no notion of a central "
  1.1022 -"repository.  (CVS relied upon RCS for its history storage; TeamWare used "
  1.1023 -"SCCS.)"
  1.1024 -msgstr ""
  1.1025 -
  1.1026 -#. type: Content of: <book><chapter><sect1><para>
  1.1027 -#: ../en/ch01-intro.xml:167
  1.1028 -msgid ""
  1.1029 -"As the 1990s progressed, awareness grew of a number of problems with CVS.  It "
  1.1030 -"records simultaneous changes to multiple files individually, instead of "
  1.1031 -"grouping them together as a single logically atomic operation.  It does not "
  1.1032 -"manage its file hierarchy well; it is easy to make a mess of a repository by "
  1.1033 -"renaming files and directories.  Worse, its source code is difficult to read "
  1.1034 -"and maintain, which made the <quote>pain level</quote> of fixing these "
  1.1035 -"architectural problems prohibitive."
  1.1036 -msgstr ""
  1.1037 -
  1.1038 -#. type: Content of: <book><chapter><sect1><para>
  1.1039 -#: ../en/ch01-intro.xml:177
  1.1040 -msgid ""
  1.1041 -"In 2001, Jim Blandy and Karl Fogel, two developers who had worked on CVS, "
  1.1042 -"started a project to replace it with a tool that would have a better "
  1.1043 -"architecture and cleaner code.  The result, Subversion, does not stray from "
  1.1044 -"CVS's centralised client/server model, but it adds multi-file atomic commits, "
  1.1045 -"better namespace management, and a number of other features that make it a "
  1.1046 -"generally better tool than CVS. Since its initial release, it has rapidly "
  1.1047 -"grown in popularity."
  1.1048 -msgstr ""
  1.1049 -
  1.1050 -#. type: Content of: <book><chapter><sect1><para>
  1.1051 -#: ../en/ch01-intro.xml:186
  1.1052 -msgid ""
  1.1053 -"More or less simultaneously, Graydon Hoare began working on an ambitious "
  1.1054 -"distributed revision control system that he named Monotone. While Monotone "
  1.1055 -"addresses many of CVS's design flaws and has a peer-to-peer architecture, it "
  1.1056 -"goes beyond earlier (and subsequent) revision control tools in a number of "
  1.1057 -"innovative ways.  It uses cryptographic hashes as identifiers, and has an "
  1.1058 -"integral notion of <quote>trust</quote> for code from different sources."
  1.1059 -msgstr ""
  1.1060 -
  1.1061 -#. type: Content of: <book><chapter><sect1><para>
  1.1062 -#: ../en/ch01-intro.xml:195
  1.1063 -msgid ""
  1.1064 -"Mercurial began life in 2005.  While a few aspects of its design are "
  1.1065 -"influenced by Monotone, Mercurial focuses on ease of use, high performance, "
  1.1066 -"and scalability to very large projects."
  1.1067 -msgstr ""
  1.1068 -
  1.1069 -#. type: Content of: <book><chapter><sect1><title>
  1.1070 -#: ../en/ch01-intro.xml:202
  1.1071 -msgid "Trends in revision control"
  1.1072 -msgstr "版本控制的发展趋势"
  1.1073 -
  1.1074 -#. type: Content of: <book><chapter><sect1><para>
  1.1075 -#: ../en/ch01-intro.xml:204
  1.1076 -msgid ""
  1.1077 -"There has been an unmistakable trend in the development and use of revision "
  1.1078 -"control tools over the past four decades, as people have become familiar with "
  1.1079 -"the capabilities of their tools and constrained by their limitations."
  1.1080 -msgstr ""
  1.1081 -
  1.1082 -#. type: Content of: <book><chapter><sect1><para>
  1.1083 -#: ../en/ch01-intro.xml:209
  1.1084 -msgid ""
  1.1085 -"The first generation began by managing single files on individual computers.  "
  1.1086 -"Although these tools represented a huge advance over ad-hoc manual revision "
  1.1087 -"control, their locking model and reliance on a single computer limited them "
  1.1088 -"to small, tightly-knit teams."
  1.1089 -msgstr ""
  1.1090 -
  1.1091 -#. type: Content of: <book><chapter><sect1><para>
  1.1092 -#: ../en/ch01-intro.xml:215
  1.1093 -msgid ""
  1.1094 -"The second generation loosened these constraints by moving to network-"
  1.1095 -"centered architectures, and managing entire projects at a time.  As projects "
  1.1096 -"grew larger, they ran into new problems.  With clients needing to talk to "
  1.1097 -"servers very frequently, server scaling became an issue for large projects.  "
  1.1098 -"An unreliable network connection could prevent remote users from being able "
  1.1099 -"to talk to the server at all.  As open source projects started making read-"
  1.1100 -"only access available anonymously to anyone, people without commit privileges "
  1.1101 -"found that they could not use the tools to interact with a project in a "
  1.1102 -"natural way, as they could not record their changes."
  1.1103 -msgstr ""
  1.1104 -
  1.1105 -#. type: Content of: <book><chapter><sect1><para>
  1.1106 -#: ../en/ch01-intro.xml:227
  1.1107 -msgid ""
  1.1108 -"The current generation of revision control tools is peer-to-peer in nature.  "
  1.1109 -"All of these systems have dropped the dependency on a single central server, "
  1.1110 -"and allow people to distribute their revision control data to where it's "
  1.1111 -"actually needed.  Collaboration over the Internet has moved from constrained "
  1.1112 -"by technology to a matter of choice and consensus.  Modern tools can operate "
  1.1113 -"offline indefinitely and autonomously, with a network connection only needed "
  1.1114 -"when syncing changes with another repository."
  1.1115 -msgstr ""
  1.1116 -
  1.1117 -#. type: Content of: <book><chapter><sect1><title>
  1.1118 -#: ../en/ch01-intro.xml:239
  1.1119 -msgid "A few of the advantages of distributed revision control"
  1.1120 -msgstr "分布版本控制的优点"
  1.1121 -
  1.1122 -#. type: Content of: <book><chapter><sect1><para>
  1.1123 -#: ../en/ch01-intro.xml:242
  1.1124 -msgid ""
  1.1125 -"Even though distributed revision control tools have for several years been as "
  1.1126 -"robust and usable as their previous-generation counterparts, people using "
  1.1127 -"older tools have not yet necessarily woken up to their advantages.  There are "
  1.1128 -"a number of ways in which distributed tools shine relative to centralised "
  1.1129 -"ones."
  1.1130 -msgstr ""
  1.1131 -
  1.1132 -#. type: Content of: <book><chapter><sect1><para>
  1.1133 -#: ../en/ch01-intro.xml:249
  1.1134 -msgid ""
  1.1135 -"For an individual developer, distributed tools are almost always much faster "
  1.1136 -"than centralised tools.  This is for a simple reason: a centralised tool "
  1.1137 -"needs to talk over the network for many common operations, because most "
  1.1138 -"metadata is stored in a single copy on the central server.  A distributed "
  1.1139 -"tool stores all of its metadata locally.  All else being equal, talking over "
  1.1140 -"the network adds overhead to a centralised tool.  Don't underestimate the "
  1.1141 -"value of a snappy, responsive tool: you're going to spend a lot of time "
  1.1142 -"interacting with your revision control software."
  1.1143 -msgstr ""
  1.1144 -
  1.1145 -#. type: Content of: <book><chapter><sect1><para>
  1.1146 -#: ../en/ch01-intro.xml:260
  1.1147 -msgid ""
  1.1148 -"Distributed tools are indifferent to the vagaries of your server "
  1.1149 -"infrastructure, again because they replicate metadata to so many locations.  "
  1.1150 -"If you use a centralised system and your server catches fire, you'd better "
  1.1151 -"hope that your backup media are reliable, and that your last backup was "
  1.1152 -"recent and actually worked.  With a distributed tool, you have many backups "
  1.1153 -"available on every contributor's computer."
  1.1154 -msgstr ""
  1.1155 -
  1.1156 -#. type: Content of: <book><chapter><sect1><para>
  1.1157 -#: ../en/ch01-intro.xml:268
  1.1158 -msgid ""
  1.1159 -"The reliability of your network will affect distributed tools far less than "
  1.1160 -"it will centralised tools.  You can't even use a centralised tool without a "
  1.1161 -"network connection, except for a few highly constrained commands.  With a "
  1.1162 -"distributed tool, if your network connection goes down while you're working, "
  1.1163 -"you may not even notice.  The only thing you won't be able to do is talk to "
  1.1164 -"repositories on other computers, something that is relatively rare compared "
  1.1165 -"with local operations.  If you have a far-flung team of collaborators, this "
  1.1166 -"may be significant."
  1.1167 -msgstr ""
  1.1168 -
  1.1169 -#. type: Content of: <book><chapter><sect1><sect2><title>
  1.1170 -#: ../en/ch01-intro.xml:279
  1.1171 -msgid "Advantages for open source projects"
  1.1172 -msgstr "开源项目的优点"
  1.1173 -
  1.1174 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1175 -#: ../en/ch01-intro.xml:281
  1.1176 -msgid ""
  1.1177 -"If you take a shine to an open source project and decide that you would like "
  1.1178 -"to start hacking on it, and that project uses a distributed revision control "
  1.1179 -"tool, you are at once a peer with the people who consider themselves the "
  1.1180 -"<quote>core</quote> of that project.  If they publish their repositories, you "
  1.1181 -"can immediately copy their project history, start making changes, and record "
  1.1182 -"your work, using the same tools in the same ways as insiders.  By contrast, "
  1.1183 -"with a centralised tool, you must use the software in a <quote>read only</"
  1.1184 -"quote> mode unless someone grants you permission to commit changes to their "
  1.1185 -"central server.  Until then, you won't be able to record changes, and your "
  1.1186 -"local modifications will be at risk of corruption any time you try to update "
  1.1187 -"your client's view of the repository."
  1.1188 -msgstr ""
  1.1189 -
  1.1190 -#. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.1191 -#: ../en/ch01-intro.xml:297
  1.1192 -msgid "The forking non-problem"
  1.1193 -msgstr ""
  1.1194 -
  1.1195 -#. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.1196 -#: ../en/ch01-intro.xml:299
  1.1197 -msgid ""
  1.1198 -"It has been suggested that distributed revision control tools pose some sort "
  1.1199 -"of risk to open source projects because they make it easy to <quote>fork</"
  1.1200 -"quote> the development of a project.  A fork happens when there are "
  1.1201 -"differences in opinion or attitude between groups of developers that cause "
  1.1202 -"them to decide that they can't work together any longer.  Each side takes a "
  1.1203 -"more or less complete copy of the project's source code, and goes off in its "
  1.1204 -"own direction."
  1.1205 -msgstr ""
  1.1206 -
  1.1207 -#. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.1208 -#: ../en/ch01-intro.xml:309
  1.1209 -msgid ""
  1.1210 -"Sometimes the camps in a fork decide to reconcile their differences. With a "
  1.1211 -"centralised revision control system, the <emphasis>technical</emphasis> "
  1.1212 -"process of reconciliation is painful, and has to be performed largely by "
  1.1213 -"hand.  You have to decide whose revision history is going to <quote>win</"
  1.1214 -"quote>, and graft the other team's changes into the tree somehow. This "
  1.1215 -"usually loses some or all of one side's revision history."
  1.1216 -msgstr ""
  1.1217 -
  1.1218 -#. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.1219 -#: ../en/ch01-intro.xml:318
  1.1220 -msgid ""
  1.1221 -"What distributed tools do with respect to forking is they make forking the "
  1.1222 -"<emphasis>only</emphasis> way to develop a project.  Every single change that "
  1.1223 -"you make is potentially a fork point.  The great strength of this approach is "
  1.1224 -"that a distributed revision control tool has to be really good at "
  1.1225 -"<emphasis>merging</emphasis> forks, because forks are absolutely fundamental: "
  1.1226 -"they happen all the time."
  1.1227 -msgstr ""
  1.1228 -
  1.1229 -#. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.1230 -#: ../en/ch01-intro.xml:327
  1.1231 -msgid ""
  1.1232 -"If every piece of work that everybody does, all the time, is framed in terms "
  1.1233 -"of forking and merging, then what the open source world refers to as a "
  1.1234 -"<quote>fork</quote> becomes <emphasis>purely</emphasis> a social issue.  If "
  1.1235 -"anything, distributed tools <emphasis>lower</emphasis> the likelihood of a "
  1.1236 -"fork:"
  1.1237 -msgstr ""
  1.1238 -
  1.1239 -#. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.1240 -#: ../en/ch01-intro.xml:334
  1.1241 -msgid ""
  1.1242 -"They eliminate the social distinction that centralised tools impose: that "
  1.1243 -"between insiders (people with commit access) and outsiders (people without)."
  1.1244 -msgstr ""
  1.1245 -
  1.1246 -#. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.1247 -#: ../en/ch01-intro.xml:338
  1.1248 -msgid ""
  1.1249 -"They make it easier to reconcile after a social fork, because all that's "
  1.1250 -"involved from the perspective of the revision control software is just "
  1.1251 -"another merge."
  1.1252 -msgstr ""
  1.1253 -
  1.1254 -#. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.1255 -#: ../en/ch01-intro.xml:343
  1.1256 -msgid ""
  1.1257 -"Some people resist distributed tools because they want to retain tight "
  1.1258 -"control over their projects, and they believe that centralised tools give "
  1.1259 -"them this control.  However, if you're of this belief, and you publish your "
  1.1260 -"CVS or Subversion repositories publicly, there are plenty of tools available "
  1.1261 -"that can pull out your entire project's history (albeit slowly) and recreate "
  1.1262 -"it somewhere that you don't control.  So while your control in this case is "
  1.1263 -"illusory, you are forgoing the ability to fluidly collaborate with whatever "
  1.1264 -"people feel compelled to mirror and fork your history."
  1.1265 -msgstr ""
  1.1266 -
  1.1267 -#. type: Content of: <book><chapter><sect1><sect2><title>
  1.1268 -#: ../en/ch01-intro.xml:358
  1.1269 -msgid "Advantages for commercial projects"
  1.1270 -msgstr "商业项目的优点"
  1.1271 -
  1.1272 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1273 -#: ../en/ch01-intro.xml:360
  1.1274 -msgid ""
  1.1275 -"Many commercial projects are undertaken by teams that are scattered across "
  1.1276 -"the globe.  Contributors who are far from a central server will see slower "
  1.1277 -"command execution and perhaps less reliability.  Commercial revision control "
  1.1278 -"systems attempt to ameliorate these problems with remote-site replication add-"
  1.1279 -"ons that are typically expensive to buy and cantankerous to administer.  A "
  1.1280 -"distributed system doesn't suffer from these problems in the first place.  "
  1.1281 -"Better yet, you can easily set up multiple authoritative servers, say one per "
  1.1282 -"site, so that there's no redundant communication between repositories over "
  1.1283 -"expensive long-haul network links."
  1.1284 -msgstr ""
  1.1285 -
  1.1286 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1287 -#: ../en/ch01-intro.xml:372
  1.1288 -msgid ""
  1.1289 -"Centralised revision control systems tend to have relatively low "
  1.1290 -"scalability.  It's not unusual for an expensive centralised system to fall "
  1.1291 -"over under the combined load of just a few dozen concurrent users.  Once "
  1.1292 -"again, the typical response tends to be an expensive and clunky replication "
  1.1293 -"facility.  Since the load on a central server---if you have one at all---is "
  1.1294 -"many times lower with a distributed tool (because all of the data is "
  1.1295 -"replicated everywhere), a single cheap server can handle the needs of a much "
  1.1296 -"larger team, and replication to balance load becomes a simple matter of "
  1.1297 -"scripting."
  1.1298 -msgstr ""
  1.1299 -
  1.1300 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1301 -#: ../en/ch01-intro.xml:384
  1.1302 -msgid ""
  1.1303 -"If you have an employee in the field, troubleshooting a problem at a "
  1.1304 -"customer's site, they'll benefit from distributed revision control. The tool "
  1.1305 -"will let them generate custom builds, try different fixes in isolation from "
  1.1306 -"each other, and search efficiently through history for the sources of bugs "
  1.1307 -"and regressions in the customer's environment, all without needing to connect "
  1.1308 -"to your company's network."
  1.1309 -msgstr ""
  1.1310 -
  1.1311 -#. type: Content of: <book><chapter><sect1><title>
  1.1312 -#: ../en/ch01-intro.xml:395
  1.1313 -msgid "Why choose Mercurial?"
  1.1314 -msgstr "为什么选择 Mercurial?"
  1.1315 -
  1.1316 -#. type: Content of: <book><chapter><sect1><para>
  1.1317 -#: ../en/ch01-intro.xml:397
  1.1318 -msgid ""
  1.1319 -"Mercurial has a unique set of properties that make it a particularly good "
  1.1320 -"choice as a revision control system."
  1.1321 -msgstr ""
  1.1322 -
  1.1323 -#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.1324 -#: ../en/ch01-intro.xml:400
  1.1325 -msgid "It is easy to learn and use."
  1.1326 -msgstr ""
  1.1327 -
  1.1328 -#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.1329 -#: ../en/ch01-intro.xml:401
  1.1330 -msgid "It is lightweight."
  1.1331 -msgstr ""
  1.1332 -
  1.1333 -#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.1334 -#: ../en/ch01-intro.xml:402
  1.1335 -msgid "It scales excellently."
  1.1336 -msgstr ""
  1.1337 -
  1.1338 -#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.1339 -#: ../en/ch01-intro.xml:403
  1.1340 -msgid "It is easy to customise."
  1.1341 -msgstr ""
  1.1342 -
  1.1343 -#. type: Content of: <book><chapter><sect1><para>
  1.1344 -#: ../en/ch01-intro.xml:406
  1.1345 -msgid ""
  1.1346 -"If you are at all familiar with revision control systems, you should be able "
  1.1347 -"to get up and running with Mercurial in less than five minutes.  Even if not, "
  1.1348 -"it will take no more than a few minutes longer.  Mercurial's command and "
  1.1349 -"feature sets are generally uniform and consistent, so you can keep track of a "
  1.1350 -"few general rules instead of a host of exceptions."
  1.1351 -msgstr ""
  1.1352 -
  1.1353 -#. type: Content of: <book><chapter><sect1><para>
  1.1354 -#: ../en/ch01-intro.xml:413
  1.1355 -msgid ""
  1.1356 -"On a small project, you can start working with Mercurial in moments. Creating "
  1.1357 -"new changes and branches; transferring changes around (whether locally or "
  1.1358 -"over a network); and history and status operations are all fast.  Mercurial "
  1.1359 -"attempts to stay nimble and largely out of your way by combining low "
  1.1360 -"cognitive overhead with blazingly fast operations."
  1.1361 -msgstr ""
  1.1362 -
  1.1363 -#. type: Content of: <book><chapter><sect1><para>
  1.1364 -#: ../en/ch01-intro.xml:420
  1.1365 -msgid ""
  1.1366 -"The usefulness of Mercurial is not limited to small projects: it is used by "
  1.1367 -"projects with hundreds to thousands of contributors, each containing tens of "
  1.1368 -"thousands of files and hundreds of megabytes of source code."
  1.1369 -msgstr ""
  1.1370 -
  1.1371 -#. type: Content of: <book><chapter><sect1><para>
  1.1372 -#: ../en/ch01-intro.xml:425
  1.1373 -msgid ""
  1.1374 -"If the core functionality of Mercurial is not enough for you, it's easy to "
  1.1375 -"build on.  Mercurial is well suited to scripting tasks, and its clean "
  1.1376 -"internals and implementation in Python make it easy to add features in the "
  1.1377 -"form of extensions.  There are a number of popular and useful extensions "
  1.1378 -"already available, ranging from helping to identify bugs to improving "
  1.1379 -"performance."
  1.1380 -msgstr ""
  1.1381 -
  1.1382 -#. type: Content of: <book><chapter><sect1><title>
  1.1383 -#: ../en/ch01-intro.xml:435
  1.1384 -msgid "Mercurial compared with other tools"
  1.1385 -msgstr "Mercurial 与其它工具的比较"
  1.1386 -
  1.1387 -#. type: Content of: <book><chapter><sect1><para>
  1.1388 -#: ../en/ch01-intro.xml:437
  1.1389 -msgid ""
  1.1390 -"Before you read on, please understand that this section necessarily reflects "
  1.1391 -"my own experiences, interests, and (dare I say it) biases.  I have used every "
  1.1392 -"one of the revision control tools listed below, in most cases for several "
  1.1393 -"years at a time."
  1.1394 -msgstr ""
  1.1395 -
  1.1396 -#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.1397 -#: ../en/ch01-intro.xml:445 ../en/ch01-intro.xml:656
  1.1398 -msgid "Subversion"
  1.1399 -msgstr ""
  1.1400 -
  1.1401 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1402 -#: ../en/ch01-intro.xml:447
  1.1403 -msgid ""
  1.1404 -"Subversion is a popular revision control tool, developed to replace CVS.  It "
  1.1405 -"has a centralised client/server architecture."
  1.1406 -msgstr ""
  1.1407 -
  1.1408 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1409 -#: ../en/ch01-intro.xml:451
  1.1410 -msgid ""
  1.1411 -"Subversion and Mercurial have similarly named commands for performing the "
  1.1412 -"same operations, so if you're familiar with one, it is easy to learn to use "
  1.1413 -"the other.  Both tools are portable to all popular operating systems."
  1.1414 -msgstr ""
  1.1415 -
  1.1416 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1417 -#: ../en/ch01-intro.xml:456
  1.1418 -msgid ""
  1.1419 -"Prior to version 1.5, Subversion had no useful support for merges. At the "
  1.1420 -"time of writing, its merge tracking capability is new, and known to be <ulink "
  1.1421 -"url=\"http://svnbook.red-bean.com/nightly/en/svn.branchmerge.advanced."
  1.1422 -"html#svn.branchmerge.advanced.finalword\">complicated and buggy</ulink>."
  1.1423 -msgstr ""
  1.1424 -
  1.1425 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1426 -#: ../en/ch01-intro.xml:462
  1.1427 -msgid ""
  1.1428 -"Mercurial has a substantial performance advantage over Subversion on every "
  1.1429 -"revision control operation I have benchmarked.  I have measured its advantage "
  1.1430 -"as ranging from a factor of two to a factor of six when compared with "
  1.1431 -"Subversion 1.4.3's <emphasis>ra_local</emphasis> file store, which is the "
  1.1432 -"fastest access method available.  In more realistic deployments involving a "
  1.1433 -"network-based store, Subversion will be at a substantially larger "
  1.1434 -"disadvantage.  Because many Subversion commands must talk to the server and "
  1.1435 -"Subversion does not have useful replication facilities, server capacity and "
  1.1436 -"network bandwidth become bottlenecks for modestly large projects."
  1.1437 -msgstr ""
  1.1438 -
  1.1439 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1440 -#: ../en/ch01-intro.xml:475
  1.1441 -msgid ""
  1.1442 -"Additionally, Subversion incurs substantial storage overhead to avoid network "
  1.1443 -"transactions for a few common operations, such as finding modified files "
  1.1444 -"(<literal>status</literal>) and displaying modifications against the current "
  1.1445 -"revision (<literal>diff</literal>).  As a result, a Subversion working copy "
  1.1446 -"is often the same size as, or larger than, a Mercurial repository and working "
  1.1447 -"directory, even though the Mercurial repository contains a complete history "
  1.1448 -"of the project."
  1.1449 -msgstr ""
  1.1450 -
  1.1451 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1452 -#: ../en/ch01-intro.xml:485
  1.1453 -msgid ""
  1.1454 -"Subversion is widely supported by third party tools.  Mercurial currently "
  1.1455 -"lags considerably in this area.  This gap is closing, however, and indeed "
  1.1456 -"some of Mercurial's GUI tools now outshine their Subversion equivalents.  "
  1.1457 -"Like Mercurial, Subversion has an excellent user manual."
  1.1458 -msgstr ""
  1.1459 -
  1.1460 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1461 -#: ../en/ch01-intro.xml:491
  1.1462 -msgid ""
  1.1463 -"Because Subversion doesn't store revision history on the client, it is well "
  1.1464 -"suited to managing projects that deal with lots of large, opaque binary "
  1.1465 -"files.  If you check in fifty revisions to an incompressible 10MB file, "
  1.1466 -"Subversion's client-side space usage stays constant The space used by any "
  1.1467 -"distributed SCM will grow rapidly in proportion to the number of revisions, "
  1.1468 -"because the differences between each revision are large."
  1.1469 -msgstr ""
  1.1470 -
  1.1471 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1472 -#: ../en/ch01-intro.xml:500
  1.1473 -msgid ""
  1.1474 -"In addition, it's often difficult or, more usually, impossible to merge "
  1.1475 -"different versions of a binary file.  Subversion's ability to let a user lock "
  1.1476 -"a file, so that they temporarily have the exclusive right to commit changes "
  1.1477 -"to it, can be a significant advantage to a project where binary files are "
  1.1478 -"widely used."
  1.1479 -msgstr ""
  1.1480 -
  1.1481 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1482 -#: ../en/ch01-intro.xml:507
  1.1483 -msgid ""
  1.1484 -"Mercurial can import revision history from a Subversion repository. It can "
  1.1485 -"also export revision history to a Subversion repository.  This makes it easy "
  1.1486 -"to <quote>test the waters</quote> and use Mercurial and Subversion in "
  1.1487 -"parallel before deciding to switch.  History conversion is incremental, so "
  1.1488 -"you can perform an initial conversion, then small additional conversions "
  1.1489 -"afterwards to bring in new changes."
  1.1490 -msgstr ""
  1.1491 -
  1.1492 -#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.1493 -#: ../en/ch01-intro.xml:519 ../en/ch01-intro.xml:658
  1.1494 -msgid "Git"
  1.1495 -msgstr ""
  1.1496 -
  1.1497 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1498 -#: ../en/ch01-intro.xml:521
  1.1499 -msgid ""
  1.1500 -"Git is a distributed revision control tool that was developed for managing "
  1.1501 -"the Linux kernel source tree.  Like Mercurial, its early design was somewhat "
  1.1502 -"influenced by Monotone."
  1.1503 -msgstr ""
  1.1504 -
  1.1505 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1506 -#: ../en/ch01-intro.xml:526
  1.1507 -msgid ""
  1.1508 -"Git has a very large command set, with version 1.5.0 providing 139 individual "
  1.1509 -"commands.  It has something of a reputation for being difficult to learn.  "
  1.1510 -"Compared to Git, Mercurial has a strong focus on simplicity."
  1.1511 -msgstr ""
  1.1512 -
  1.1513 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1514 -#: ../en/ch01-intro.xml:531
  1.1515 -msgid ""
  1.1516 -"In terms of performance, Git is extremely fast.  In several cases, it is "
  1.1517 -"faster than Mercurial, at least on Linux, while Mercurial performs better on "
  1.1518 -"other operations.  However, on Windows, the performance and general level of "
  1.1519 -"support that Git provides is, at the time of writing, far behind that of "
  1.1520 -"Mercurial."
  1.1521 -msgstr ""
  1.1522 -
  1.1523 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1524 -#: ../en/ch01-intro.xml:538
  1.1525 -msgid ""
  1.1526 -"While a Mercurial repository needs no maintenance, a Git repository requires "
  1.1527 -"frequent manual <quote>repacks</quote> of its metadata.  Without these, "
  1.1528 -"performance degrades, while space usage grows rapidly.  A server that "
  1.1529 -"contains many Git repositories that are not rigorously and frequently "
  1.1530 -"repacked will become heavily disk-bound during backups, and there have been "
  1.1531 -"instances of daily backups taking far longer than 24 hours as a result.  A "
  1.1532 -"freshly packed Git repository is slightly smaller than a Mercurial "
  1.1533 -"repository, but an unpacked repository is several orders of magnitude larger."
  1.1534 -msgstr ""
  1.1535 -
  1.1536 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1537 -#: ../en/ch01-intro.xml:549
  1.1538 -msgid ""
  1.1539 -"The core of Git is written in C.  Many Git commands are implemented as shell "
  1.1540 -"or Perl scripts, and the quality of these scripts varies widely. I have "
  1.1541 -"encountered several instances where scripts charged along blindly in the "
  1.1542 -"presence of errors that should have been fatal."
  1.1543 -msgstr ""
  1.1544 -
  1.1545 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1546 -#: ../en/ch01-intro.xml:555
  1.1547 -msgid "Mercurial can import revision history from a Git repository."
  1.1548 -msgstr ""
  1.1549 -
  1.1550 -#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.1551 -#: ../en/ch01-intro.xml:561 ../en/ch01-intro.xml:657
  1.1552 -msgid "CVS"
  1.1553 -msgstr ""
  1.1554 -
  1.1555 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1556 -#: ../en/ch01-intro.xml:563
  1.1557 -msgid ""
  1.1558 -"CVS is probably the most widely used revision control tool in the world.  Due "
  1.1559 -"to its age and internal untidiness, it has been only lightly maintained for "
  1.1560 -"many years."
  1.1561 -msgstr ""
  1.1562 -
  1.1563 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1564 -#: ../en/ch01-intro.xml:567
  1.1565 -msgid ""
  1.1566 -"It has a centralised client/server architecture.  It does not group related "
  1.1567 -"file changes into atomic commits, making it easy for people to <quote>break "
  1.1568 -"the build</quote>: one person can successfully commit part of a change and "
  1.1569 -"then be blocked by the need for a merge, causing other people to see only a "
  1.1570 -"portion of the work they intended to do.  This also affects how you work with "
  1.1571 -"project history.  If you want to see all of the modifications someone made as "
  1.1572 -"part of a task, you will need to manually inspect the descriptions and "
  1.1573 -"timestamps of the changes made to each file involved (if you even know what "
  1.1574 -"those files were)."
  1.1575 -msgstr ""
  1.1576 -
  1.1577 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1578 -#: ../en/ch01-intro.xml:579
  1.1579 -msgid ""
  1.1580 -"CVS has a muddled notion of tags and branches that I will not attempt to even "
  1.1581 -"describe.  It does not support renaming of files or directories well, making "
  1.1582 -"it easy to corrupt a repository.  It has almost no internal consistency "
  1.1583 -"checking capabilities, so it is usually not even possible to tell whether or "
  1.1584 -"how a repository is corrupt.  I would not recommend CVS for any project, "
  1.1585 -"existing or new."
  1.1586 -msgstr ""
  1.1587 -
  1.1588 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1589 -#: ../en/ch01-intro.xml:587
  1.1590 -msgid ""
  1.1591 -"Mercurial can import CVS revision history.  However, there are a few caveats "
  1.1592 -"that apply; these are true of every other revision control tool's CVS "
  1.1593 -"importer, too.  Due to CVS's lack of atomic changes and unversioned "
  1.1594 -"filesystem hierarchy, it is not possible to reconstruct CVS history "
  1.1595 -"completely accurately; some guesswork is involved, and renames will usually "
  1.1596 -"not show up.  Because a lot of advanced CVS administration has to be done by "
  1.1597 -"hand and is hence error-prone, it's common for CVS importers to run into "
  1.1598 -"multiple problems with corrupted repositories (completely bogus revision "
  1.1599 -"timestamps and files that have remained locked for over a decade are just two "
  1.1600 -"of the less interesting problems I can recall from personal experience)."
  1.1601 -msgstr ""
  1.1602 -
  1.1603 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1604 -#: ../en/ch01-intro.xml:601
  1.1605 -msgid "Mercurial can import revision history from a CVS repository."
  1.1606 -msgstr ""
  1.1607 -
  1.1608 -#. type: Content of: <book><chapter><sect1><sect2><title>
  1.1609 -#: ../en/ch01-intro.xml:607
  1.1610 -msgid "Commercial tools"
  1.1611 -msgstr "商业工具"
  1.1612 -
  1.1613 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1614 -#: ../en/ch01-intro.xml:609
  1.1615 -msgid ""
  1.1616 -"Perforce has a centralised client/server architecture, with no client-side "
  1.1617 -"caching of any data.  Unlike modern revision control tools, Perforce requires "
  1.1618 -"that a user run a command to inform the server about every file they intend "
  1.1619 -"to edit."
  1.1620 -msgstr ""
  1.1621 -
  1.1622 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1623 -#: ../en/ch01-intro.xml:615
  1.1624 -msgid ""
  1.1625 -"The performance of Perforce is quite good for small teams, but it falls off "
  1.1626 -"rapidly as the number of users grows beyond a few dozen. Modestly large "
  1.1627 -"Perforce installations require the deployment of proxies to cope with the "
  1.1628 -"load their users generate."
  1.1629 -msgstr ""
  1.1630 -
  1.1631 -#. type: Content of: <book><chapter><sect1><sect2><title>
  1.1632 -#: ../en/ch01-intro.xml:624
  1.1633 -msgid "Choosing a revision control tool"
  1.1634 -msgstr "选择版本控制工具"
  1.1635 -
  1.1636 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1637 -#: ../en/ch01-intro.xml:626
  1.1638 -msgid ""
  1.1639 -"With the exception of CVS, all of the tools listed above have unique "
  1.1640 -"strengths that suit them to particular styles of work.  There is no single "
  1.1641 -"revision control tool that is best in all situations."
  1.1642 -msgstr ""
  1.1643 -
  1.1644 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1645 -#: ../en/ch01-intro.xml:631
  1.1646 -msgid ""
  1.1647 -"As an example, Subversion is a good choice for working with frequently edited "
  1.1648 -"binary files, due to its centralised nature and support for file locking."
  1.1649 -msgstr ""
  1.1650 -
  1.1651 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1652 -#: ../en/ch01-intro.xml:635
  1.1653 -msgid ""
  1.1654 -"I personally find Mercurial's properties of simplicity, performance, and good "
  1.1655 -"merge support to be a compelling combination that has served me well for "
  1.1656 -"several years."
  1.1657 -msgstr ""
  1.1658 -
  1.1659 -#. type: Content of: <book><chapter><sect1><title>
  1.1660 -#: ../en/ch01-intro.xml:643
  1.1661 -msgid "Switching from another tool to Mercurial"
  1.1662 -msgstr "从其它工具切换到 Mercurial"
  1.1663 -
  1.1664 -#. type: Content of: <book><chapter><sect1><para>
  1.1665 -#: ../en/ch01-intro.xml:645
  1.1666 -msgid ""
  1.1667 -"Mercurial is bundled with an extension named <literal role=\"hg-ext"
  1.1668 -"\">convert</literal>, which can incrementally import revision history from "
  1.1669 -"several other revision control tools.  By <quote>incremental</quote>, I mean "
  1.1670 -"that you can convert all of a project's history to date in one go, then rerun "
  1.1671 -"the conversion later to obtain new changes that happened after the initial "
  1.1672 -"conversion."
  1.1673 -msgstr ""
  1.1674 -
  1.1675 -#. type: Content of: <book><chapter><sect1><para>
  1.1676 -#: ../en/ch01-intro.xml:653
  1.1677 -msgid ""
  1.1678 -"The revision control tools supported by <literal role=\"hg-ext\">convert</"
  1.1679 -"literal> are as follows:"
  1.1680 -msgstr ""
  1.1681 -
  1.1682 -#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.1683 -#: ../en/ch01-intro.xml:659
  1.1684 -msgid "Darcs"
  1.1685 -msgstr ""
  1.1686 -
  1.1687 -#. type: Content of: <book><chapter><sect1><para>
  1.1688 -#: ../en/ch01-intro.xml:661
  1.1689 -msgid ""
  1.1690 -"In addition, <literal role=\"hg-ext\">convert</literal> can export changes "
  1.1691 -"from Mercurial to Subversion.  This makes it possible to try Subversion and "
  1.1692 -"Mercurial in parallel before committing to a switchover, without risking the "
  1.1693 -"loss of any work."
  1.1694 -msgstr ""
  1.1695 -
  1.1696 -#. type: Content of: <book><chapter><sect1><para>
  1.1697 -#: ../en/ch01-intro.xml:667
  1.1698 -msgid ""
  1.1699 -"The <command role=\"hg-ext-conver\">convert</command> command is easy to "
  1.1700 -"use.  Simply point it at the path or URL of the source repository, optionally "
  1.1701 -"give it the name of the destination repository, and it will start working.  "
  1.1702 -"After the initial conversion, just run the same command again to import new "
  1.1703 -"changes."
  1.1704 -msgstr ""
  1.1705 -
  1.1706 -#. type: Content of: <book><chapter><title>
  1.1707 -#: ../en/ch02-tour-basic.xml:5
  1.1708 +#: ../en/ch01-tour-basic.xml:5
  1.1709  msgid "A tour of Mercurial: the basics"
  1.1710  msgstr "Mercurial 教程: 基础知识"
  1.1711  
  1.1712  #. type: Content of: <book><chapter><sect1><title>
  1.1713 -#: ../en/ch02-tour-basic.xml:8
  1.1714 +#: ../en/ch01-tour-basic.xml:8
  1.1715  msgid "Installing Mercurial on your system"
  1.1716  msgstr "安装 Mercurial"
  1.1717  
  1.1718  #. type: Content of: <book><chapter><sect1><para>
  1.1719 -#: ../en/ch02-tour-basic.xml:10
  1.1720 +#: ../en/ch01-tour-basic.xml:10
  1.1721  msgid ""
  1.1722  "Prebuilt binary packages of Mercurial are available for every popular "
  1.1723  "operating system.  These make it easy to start using Mercurial on your "
  1.1724 @@ -2463,12 +1540,12 @@
  1.1725  "用 Mercurial 变得很容易。"
  1.1726  
  1.1727  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1728 -#: ../en/ch02-tour-basic.xml:15
  1.1729 +#: ../en/ch01-tour-basic.xml:15
  1.1730  msgid "Linux"
  1.1731  msgstr "Linux"
  1.1732  
  1.1733  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1734 -#: ../en/ch02-tour-basic.xml:17
  1.1735 +#: ../en/ch01-tour-basic.xml:17
  1.1736  msgid ""
  1.1737  "Because each Linux distribution has its own packaging tools, policies, and "
  1.1738  "rate of development, it's difficult to give a comprehensive set of "
  1.1739 @@ -2481,7 +1558,7 @@
  1.1740  "使用的发行版的 Mercurial 维护者的活跃程度。"
  1.1741  
  1.1742  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1743 -#: ../en/ch02-tour-basic.xml:24
  1.1744 +#: ../en/ch01-tour-basic.xml:24
  1.1745  msgid ""
  1.1746  "To keep things simple, I will focus on installing Mercurial from the command "
  1.1747  "line under the most popular Linux distributions.  Most of these distributions "
  1.1748 @@ -2493,39 +1570,39 @@
  1.1749  "Mercurial;寻找的包名称是 <literal>mercurial</literal>。"
  1.1750  
  1.1751  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1752 -#: ../en/ch02-tour-basic.xml:32
  1.1753 +#: ../en/ch01-tour-basic.xml:32
  1.1754  msgid "Debian:"
  1.1755  msgstr "Debian:"
  1.1756  
  1.1757  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1758 -#: ../en/ch02-tour-basic.xml:34
  1.1759 +#: ../en/ch01-tour-basic.xml:34
  1.1760  msgid "Fedora Core:"
  1.1761  msgstr "Fedora Core:"
  1.1762  
  1.1763  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1764 -#: ../en/ch02-tour-basic.xml:36
  1.1765 +#: ../en/ch01-tour-basic.xml:36
  1.1766  msgid "Gentoo:"
  1.1767  msgstr "Gentoo:"
  1.1768  
  1.1769  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1770 -#: ../en/ch02-tour-basic.xml:38
  1.1771 +#: ../en/ch01-tour-basic.xml:38
  1.1772  msgid "OpenSUSE:"
  1.1773  msgstr "OpenSUSE:"
  1.1774  
  1.1775  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1776 -#: ../en/ch02-tour-basic.xml:40
  1.1777 +#: ../en/ch01-tour-basic.xml:40
  1.1778  msgid ""
  1.1779  "Ubuntu: Ubuntu's Mercurial package is based on Debian's.  To install it, run "
  1.1780  "the following command."
  1.1781  msgstr "Ubuntu: Ubuntu 的 Mercurial 包基于 Debian。安装时,使用如下命令:"
  1.1782  
  1.1783  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1784 -#: ../en/ch02-tour-basic.xml:48
  1.1785 +#: ../en/ch01-tour-basic.xml:48
  1.1786  msgid "Solaris"
  1.1787  msgstr "Solaris"
  1.1788  
  1.1789  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1790 -#: ../en/ch02-tour-basic.xml:50
  1.1791 +#: ../en/ch01-tour-basic.xml:50
  1.1792  msgid ""
  1.1793  "SunFreeWare, at <ulink url=\"http://www.sunfreeware.com\">http://www."
  1.1794  "sunfreeware.com</ulink>, is a good source for a large number of pre-built "
  1.1795 @@ -2537,12 +1614,12 @@
  1.1796  "和 64 位包,包含 Mercurial 的当前版本。"
  1.1797  
  1.1798  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1799 -#: ../en/ch02-tour-basic.xml:58
  1.1800 +#: ../en/ch01-tour-basic.xml:58
  1.1801  msgid "Mac OS X"
  1.1802  msgstr "Mac OS X"
  1.1803  
  1.1804  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1805 -#: ../en/ch02-tour-basic.xml:60
  1.1806 +#: ../en/ch01-tour-basic.xml:60
  1.1807  msgid ""
  1.1808  "Lee Cantey publishes an installer of Mercurial for Mac OS X at <ulink url="
  1.1809  "\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink>.  "
  1.1810 @@ -2553,7 +1630,7 @@
  1.1811  msgstr ""
  1.1812  
  1.1813  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1814 -#: ../en/ch02-tour-basic.xml:69
  1.1815 +#: ../en/ch01-tour-basic.xml:69
  1.1816  msgid ""
  1.1817  "It's also possible to install Mercurial using Fink or MacPorts, two popular "
  1.1818  "free package managers for Mac OS X.  If you have Fink, use <command>sudo apt-"
  1.1819 @@ -2562,12 +1639,12 @@
  1.1820  msgstr ""
  1.1821  
  1.1822  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1823 -#: ../en/ch02-tour-basic.xml:77
  1.1824 +#: ../en/ch01-tour-basic.xml:77
  1.1825  msgid "Windows"
  1.1826  msgstr ""
  1.1827  
  1.1828  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1829 -#: ../en/ch02-tour-basic.xml:79
  1.1830 +#: ../en/ch01-tour-basic.xml:79
  1.1831  msgid ""
  1.1832  "Lee Cantey publishes an installer of Mercurial for Windows at <ulink url="
  1.1833  "\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink>.  "
  1.1834 @@ -2575,7 +1652,7 @@
  1.1835  msgstr ""
  1.1836  
  1.1837  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.1838 -#: ../en/ch02-tour-basic.xml:86
  1.1839 +#: ../en/ch01-tour-basic.xml:86
  1.1840  msgid ""
  1.1841  "The Windows version of Mercurial does not automatically convert line endings "
  1.1842  "between Windows and Unix styles.  If you want to share work with Unix users, "
  1.1843 @@ -2583,12 +1660,12 @@
  1.1844  msgstr ""
  1.1845  
  1.1846  #. type: Content of: <book><chapter><sect1><title>
  1.1847 -#: ../en/ch02-tour-basic.xml:96
  1.1848 +#: ../en/ch01-tour-basic.xml:96
  1.1849  msgid "Getting started"
  1.1850  msgstr "开始"
  1.1851  
  1.1852  #. type: Content of: <book><chapter><sect1><para>
  1.1853 -#: ../en/ch02-tour-basic.xml:98
  1.1854 +#: ../en/ch01-tour-basic.xml:98
  1.1855  msgid ""
  1.1856  "To begin, we'll use the <command role=\"hg-cmd\">hg version</command> command "
  1.1857  "to find out whether Mercurial is actually installed properly.  The actual "
  1.1858 @@ -2597,12 +1674,12 @@
  1.1859  msgstr ""
  1.1860  
  1.1861  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1862 -#: ../en/ch02-tour-basic.xml:107
  1.1863 +#: ../en/ch01-tour-basic.xml:107
  1.1864  msgid "Built-in help"
  1.1865  msgstr "内置帮助"
  1.1866  
  1.1867  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1868 -#: ../en/ch02-tour-basic.xml:109
  1.1869 +#: ../en/ch01-tour-basic.xml:109
  1.1870  msgid ""
  1.1871  "Mercurial provides a built-in help system.  This is invaluable for those "
  1.1872  "times when you find yourself stuck trying to remember how to run a command.  "
  1.1873 @@ -2613,7 +1690,7 @@
  1.1874  msgstr ""
  1.1875  
  1.1876  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1877 -#: ../en/ch02-tour-basic.xml:120
  1.1878 +#: ../en/ch01-tour-basic.xml:120
  1.1879  msgid ""
  1.1880  "For a more impressive level of detail (which you won't usually need) run "
  1.1881  "<command role=\"hg-cmd\">hg help <option role=\"hg-opt-global\">-v</option></"
  1.1882 @@ -2623,12 +1700,12 @@
  1.1883  msgstr ""
  1.1884  
  1.1885  #. type: Content of: <book><chapter><sect1><title>
  1.1886 -#: ../en/ch02-tour-basic.xml:131
  1.1887 +#: ../en/ch01-tour-basic.xml:131
  1.1888  msgid "Working with a repository"
  1.1889  msgstr "使用版本库"
  1.1890  
  1.1891  #. type: Content of: <book><chapter><sect1><para>
  1.1892 -#: ../en/ch02-tour-basic.xml:133
  1.1893 +#: ../en/ch01-tour-basic.xml:133
  1.1894  msgid ""
  1.1895  "In Mercurial, everything happens inside a <emphasis>repository</emphasis>.  "
  1.1896  "The repository for a project contains all of the files that <quote>belong to</"
  1.1897 @@ -2636,7 +1713,7 @@
  1.1898  msgstr ""
  1.1899  
  1.1900  #. type: Content of: <book><chapter><sect1><para>
  1.1901 -#: ../en/ch02-tour-basic.xml:139
  1.1902 +#: ../en/ch01-tour-basic.xml:139
  1.1903  msgid ""
  1.1904  "There's nothing particularly magical about a repository; it is simply a "
  1.1905  "directory tree in your filesystem that Mercurial treats as special. You can "
  1.1906 @@ -2645,12 +1722,12 @@
  1.1907  msgstr ""
  1.1908  
  1.1909  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1910 -#: ../en/ch02-tour-basic.xml:146
  1.1911 +#: ../en/ch01-tour-basic.xml:146
  1.1912  msgid "Making a local copy of a repository"
  1.1913  msgstr "创建版本库的工作副本"
  1.1914  
  1.1915  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1916 -#: ../en/ch02-tour-basic.xml:148
  1.1917 +#: ../en/ch01-tour-basic.xml:148
  1.1918  msgid ""
  1.1919  "<emphasis>Copying</emphasis> a repository is just a little bit special.  "
  1.1920  "While you could use a normal file copying command to make a copy of a "
  1.1921 @@ -2660,21 +1737,21 @@
  1.1922  msgstr ""
  1.1923  
  1.1924  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1925 -#: ../en/ch02-tour-basic.xml:157
  1.1926 +#: ../en/ch01-tour-basic.xml:157
  1.1927  msgid ""
  1.1928  "If our clone succeeded, we should now have a local directory called <filename "
  1.1929  "class=\"directory\">hello</filename>.  This directory will contain some files."
  1.1930  msgstr ""
  1.1931  
  1.1932  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1933 -#: ../en/ch02-tour-basic.xml:163
  1.1934 +#: ../en/ch01-tour-basic.xml:163
  1.1935  msgid ""
  1.1936  "These files have the same contents and history in our repository as they do "
  1.1937  "in the repository we cloned."
  1.1938  msgstr ""
  1.1939  
  1.1940  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1941 -#: ../en/ch02-tour-basic.xml:166
  1.1942 +#: ../en/ch01-tour-basic.xml:166
  1.1943  msgid ""
  1.1944  "Every Mercurial repository is complete, self-contained, and independent.  It "
  1.1945  "contains its own private copy of a project's files and history.  A cloned "
  1.1946 @@ -2684,7 +1761,7 @@
  1.1947  msgstr ""
  1.1948  
  1.1949  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1950 -#: ../en/ch02-tour-basic.xml:173
  1.1951 +#: ../en/ch01-tour-basic.xml:173
  1.1952  msgid ""
  1.1953  "What this means for now is that we're free to experiment with our repository, "
  1.1954  "safe in the knowledge that it's a private <quote>sandbox</quote> that won't "
  1.1955 @@ -2692,12 +1769,12 @@
  1.1956  msgstr ""
  1.1957  
  1.1958  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1959 -#: ../en/ch02-tour-basic.xml:179
  1.1960 +#: ../en/ch01-tour-basic.xml:179
  1.1961  msgid "What's in a repository?"
  1.1962  msgstr "什么是版本库?"
  1.1963  
  1.1964  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1965 -#: ../en/ch02-tour-basic.xml:181
  1.1966 +#: ../en/ch01-tour-basic.xml:181
  1.1967  msgid ""
  1.1968  "When we take a more detailed look inside a repository, we can see that it "
  1.1969  "contains a directory named <filename class=\"directory\">.hg</filename>.  "
  1.1970 @@ -2705,7 +1782,7 @@
  1.1971  msgstr ""
  1.1972  
  1.1973  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1974 -#: ../en/ch02-tour-basic.xml:188
  1.1975 +#: ../en/ch01-tour-basic.xml:188
  1.1976  msgid ""
  1.1977  "The contents of the <filename class=\"directory\">.hg</filename> directory "
  1.1978  "and its subdirectories are private to Mercurial.  Every other file and "
  1.1979 @@ -2713,7 +1790,7 @@
  1.1980  msgstr ""
  1.1981  
  1.1982  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1983 -#: ../en/ch02-tour-basic.xml:194
  1.1984 +#: ../en/ch01-tour-basic.xml:194
  1.1985  msgid ""
  1.1986  "To introduce a little terminology, the <filename class=\"directory\">.hg</"
  1.1987  "filename> directory is the <quote>real</quote> repository, and all of the "
  1.1988 @@ -2726,12 +1803,12 @@
  1.1989  msgstr ""
  1.1990  
  1.1991  #. type: Content of: <book><chapter><sect1><title>
  1.1992 -#: ../en/ch02-tour-basic.xml:209
  1.1993 +#: ../en/ch01-tour-basic.xml:209
  1.1994  msgid "A tour through history"
  1.1995  msgstr "回溯历史"
  1.1996  
  1.1997  #. type: Content of: <book><chapter><sect1><para>
  1.1998 -#: ../en/ch02-tour-basic.xml:211
  1.1999 +#: ../en/ch01-tour-basic.xml:211
  1.2000  msgid ""
  1.2001  "One of the first things we might want to do with a new, unfamiliar repository "
  1.2002  "is understand its history.  The <command role=\"hg-cmd\">hg log</command> "
  1.2003 @@ -2739,7 +1816,7 @@
  1.2004  msgstr ""
  1.2005  
  1.2006  #. type: Content of: <book><chapter><sect1><para>
  1.2007 -#: ../en/ch02-tour-basic.xml:218
  1.2008 +#: ../en/ch01-tour-basic.xml:218
  1.2009  msgid ""
  1.2010  "By default, this command prints a brief paragraph of output for each change "
  1.2011  "to the project that was recorded.  In Mercurial terminology, we call each of "
  1.2012 @@ -2748,14 +1825,14 @@
  1.2013  msgstr ""
  1.2014  
  1.2015  #. type: Content of: <book><chapter><sect1><para>
  1.2016 -#: ../en/ch02-tour-basic.xml:224
  1.2017 +#: ../en/ch01-tour-basic.xml:224
  1.2018  msgid ""
  1.2019  "The fields in a record of output from <command role=\"hg-cmd\">hg log</"
  1.2020  "command> are as follows."
  1.2021  msgstr ""
  1.2022  
  1.2023  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2024 -#: ../en/ch02-tour-basic.xml:227
  1.2025 +#: ../en/ch01-tour-basic.xml:227
  1.2026  msgid ""
  1.2027  "<literal>changeset</literal>: This field has the format of a number, followed "
  1.2028  "by a colon, followed by a hexadecimal string.  These are "
  1.2029 @@ -2765,7 +1842,7 @@
  1.2030  msgstr ""
  1.2031  
  1.2032  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2033 -#: ../en/ch02-tour-basic.xml:233
  1.2034 +#: ../en/ch01-tour-basic.xml:233
  1.2035  msgid ""
  1.2036  "<literal>user</literal>: The identity of the person who created the "
  1.2037  "changeset.  This is a free-form field, but it most often contains a person's "
  1.2038 @@ -2773,7 +1850,7 @@
  1.2039  msgstr ""
  1.2040  
  1.2041  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2042 -#: ../en/ch02-tour-basic.xml:237
  1.2043 +#: ../en/ch01-tour-basic.xml:237
  1.2044  msgid ""
  1.2045  "<literal>date</literal>: The date and time on which the changeset was "
  1.2046  "created, and the timezone in which it was created.  (The date and time are "
  1.2047 @@ -2782,21 +1859,21 @@
  1.2048  msgstr ""
  1.2049  
  1.2050  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2051 -#: ../en/ch02-tour-basic.xml:242
  1.2052 +#: ../en/ch01-tour-basic.xml:242
  1.2053  msgid ""
  1.2054  "<literal>summary</literal>: The first line of the text message that the "
  1.2055  "creator of the changeset entered to describe the changeset."
  1.2056  msgstr ""
  1.2057  
  1.2058  #. type: Content of: <book><chapter><sect1><para>
  1.2059 -#: ../en/ch02-tour-basic.xml:245
  1.2060 +#: ../en/ch01-tour-basic.xml:245
  1.2061  msgid ""
  1.2062  "The default output printed by <command role=\"hg-cmd\">hg log</command> is "
  1.2063  "purely a summary; it is missing a lot of detail."
  1.2064  msgstr ""
  1.2065  
  1.2066  #. type: Content of: <book><chapter><sect1><para>
  1.2067 -#: ../en/ch02-tour-basic.xml:249
  1.2068 +#: ../en/ch01-tour-basic.xml:249
  1.2069  msgid ""
  1.2070  "Figure <xref endterm=\"fig.tour-basic.history.caption\" linkend=\"fig.tour-"
  1.2071  "basic.history\"/> provides a graphical representation of the history of the "
  1.2072 @@ -2807,39 +1884,39 @@
  1.2073  msgstr ""
  1.2074  
  1.2075  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
  1.2076 -#: ../en/ch02-tour-basic.xml:260
  1.2077 +#: ../en/ch01-tour-basic.xml:260
  1.2078  msgid ""
  1.2079  "<imageobject><imagedata fileref=\"images/tour-history.png\"/></imageobject>"
  1.2080  msgstr ""
  1.2081  
  1.2082  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><textobject><phrase>
  1.2083 -#: ../en/ch02-tour-basic.xml:261 ../en/ch03-tour-merge.xml:48
  1.2084 -#: ../en/ch03-tour-merge.xml:78 ../en/ch03-tour-merge.xml:126
  1.2085 -#: ../en/ch03-tour-merge.xml:182 ../en/ch03-tour-merge.xml:254
  1.2086 -#: ../en/ch04-concepts.xml:56 ../en/ch04-concepts.xml:108
  1.2087 -#: ../en/ch04-concepts.xml:194 ../en/ch04-concepts.xml:301
  1.2088 -#: ../en/ch04-concepts.xml:353 ../en/ch04-concepts.xml:370
  1.2089 -#: ../en/ch04-concepts.xml:414 ../en/ch04-concepts.xml:436
  1.2090 -#: ../en/ch04-concepts.xml:480 ../en/ch06-collab.xml:277
  1.2091 -#: ../en/ch09-undo.xml:366 ../en/ch09-undo.xml:417 ../en/ch09-undo.xml:485
  1.2092 -#: ../en/ch09-undo.xml:527 ../en/ch12-mq.xml:409
  1.2093 +#: ../en/ch01-tour-basic.xml:261 ../en/ch02-tour-merge.xml:48
  1.2094 +#: ../en/ch02-tour-merge.xml:78 ../en/ch02-tour-merge.xml:126
  1.2095 +#: ../en/ch02-tour-merge.xml:182 ../en/ch02-tour-merge.xml:254
  1.2096 +#: ../en/ch03-concepts.xml:56 ../en/ch03-concepts.xml:108
  1.2097 +#: ../en/ch03-concepts.xml:194 ../en/ch03-concepts.xml:301
  1.2098 +#: ../en/ch03-concepts.xml:353 ../en/ch03-concepts.xml:370
  1.2099 +#: ../en/ch03-concepts.xml:414 ../en/ch03-concepts.xml:436
  1.2100 +#: ../en/ch03-concepts.xml:480 ../en/ch05-collab.xml:277
  1.2101 +#: ../en/ch08-undo.xml:366 ../en/ch08-undo.xml:417 ../en/ch08-undo.xml:485
  1.2102 +#: ../en/ch08-undo.xml:527 ../en/ch11-mq.xml:410
  1.2103  msgid "XXX add text"
  1.2104  msgstr ""
  1.2105  
  1.2106  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
  1.2107 -#: ../en/ch02-tour-basic.xml:262
  1.2108 +#: ../en/ch01-tour-basic.xml:262
  1.2109  msgid ""
  1.2110  "Graphical history of the <filename class=\"directory\">hello</filename> "
  1.2111  "repository"
  1.2112  msgstr ""
  1.2113  
  1.2114  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2115 -#: ../en/ch02-tour-basic.xml:269
  1.2116 +#: ../en/ch01-tour-basic.xml:269
  1.2117  msgid "Changesets, revisions, and talking to other people"
  1.2118  msgstr "改变集,版本,与其它用户交互"
  1.2119  
  1.2120  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2121 -#: ../en/ch02-tour-basic.xml:272
  1.2122 +#: ../en/ch01-tour-basic.xml:272
  1.2123  msgid ""
  1.2124  "As English is a notoriously sloppy language, and computer science has a "
  1.2125  "hallowed history of terminological confusion (why use one term when four will "
  1.2126 @@ -2851,7 +1928,7 @@
  1.2127  msgstr ""
  1.2128  
  1.2129  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2130 -#: ../en/ch02-tour-basic.xml:282
  1.2131 +#: ../en/ch01-tour-basic.xml:282
  1.2132  msgid ""
  1.2133  "While it doesn't matter what <emphasis>word</emphasis> you use to refer to "
  1.2134  "the concept of <quote>a changeset</quote>, the <emphasis>identifier</"
  1.2135 @@ -2862,13 +1939,13 @@
  1.2136  msgstr ""
  1.2137  
  1.2138  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2139 -#: ../en/ch02-tour-basic.xml:291
  1.2140 +#: ../en/ch01-tour-basic.xml:291
  1.2141  msgid ""
  1.2142  "The revision number is <emphasis>only valid in that repository</emphasis>,"
  1.2143  msgstr ""
  1.2144  
  1.2145  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2146 -#: ../en/ch02-tour-basic.xml:293
  1.2147 +#: ../en/ch01-tour-basic.xml:293
  1.2148  msgid ""
  1.2149  "while the hex string is the <emphasis>permanent, unchanging identifier</"
  1.2150  "emphasis> that will always identify that exact changeset in <emphasis>every</"
  1.2151 @@ -2876,7 +1953,7 @@
  1.2152  msgstr ""
  1.2153  
  1.2154  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2155 -#: ../en/ch02-tour-basic.xml:298
  1.2156 +#: ../en/ch01-tour-basic.xml:298
  1.2157  msgid ""
  1.2158  "This distinction is important.  If you send someone an email talking about "
  1.2159  "<quote>revision 33</quote>, there's a high likelihood that their revision 33 "
  1.2160 @@ -2888,7 +1965,7 @@
  1.2161  msgstr ""
  1.2162  
  1.2163  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2164 -#: ../en/ch02-tour-basic.xml:308
  1.2165 +#: ../en/ch01-tour-basic.xml:308
  1.2166  msgid ""
  1.2167  "Mercurial uses revision numbers purely as a convenient shorthand.  If you "
  1.2168  "need to discuss a changeset with someone, or make a record of a changeset for "
  1.2169 @@ -2897,12 +1974,12 @@
  1.2170  msgstr ""
  1.2171  
  1.2172  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2173 -#: ../en/ch02-tour-basic.xml:316
  1.2174 +#: ../en/ch01-tour-basic.xml:316
  1.2175  msgid "Viewing specific revisions"
  1.2176  msgstr "察看指定版本"
  1.2177  
  1.2178  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2179 -#: ../en/ch02-tour-basic.xml:318
  1.2180 +#: ../en/ch01-tour-basic.xml:318
  1.2181  msgid ""
  1.2182  "To narrow the output of <command role=\"hg-cmd\">hg log</command> down to a "
  1.2183  "single revision, use the <option role=\"hg-opt-log\">-r</option> (or <option "
  1.2184 @@ -2912,7 +1989,7 @@
  1.2185  msgstr ""
  1.2186  
  1.2187  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2188 -#: ../en/ch02-tour-basic.xml:327
  1.2189 +#: ../en/ch01-tour-basic.xml:327
  1.2190  msgid ""
  1.2191  "If you want to see the history of several revisions without having to list "
  1.2192  "each one, you can use <emphasis>range notation</emphasis>; this lets you "
  1.2193 @@ -2921,7 +1998,7 @@
  1.2194  msgstr ""
  1.2195  
  1.2196  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2197 -#: ../en/ch02-tour-basic.xml:335
  1.2198 +#: ../en/ch01-tour-basic.xml:335
  1.2199  msgid ""
  1.2200  "Mercurial also honours the order in which you specify revisions, so <command "
  1.2201  "role=\"hg-cmd\">hg log -r 2:4</command> prints 2, 3, and 4. while <command "
  1.2202 @@ -2929,12 +2006,12 @@
  1.2203  msgstr ""
  1.2204  
  1.2205  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2206 -#: ../en/ch02-tour-basic.xml:342
  1.2207 +#: ../en/ch01-tour-basic.xml:342
  1.2208  msgid "More detailed information"
  1.2209  msgstr "更详细的信息"
  1.2210  
  1.2211  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2212 -#: ../en/ch02-tour-basic.xml:344
  1.2213 +#: ../en/ch01-tour-basic.xml:344
  1.2214  msgid ""
  1.2215  "While the summary information printed by <command role=\"hg-cmd\">hg log</"
  1.2216  "command> is useful if you already know what you're looking for, you may need "
  1.2217 @@ -2946,7 +2023,7 @@
  1.2218  msgstr ""
  1.2219  
  1.2220  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2221 -#: ../en/ch02-tour-basic.xml:356
  1.2222 +#: ../en/ch01-tour-basic.xml:356
  1.2223  msgid ""
  1.2224  "If you want to see both the description and content of a change, add the "
  1.2225  "<option role=\"hg-opt-log\">-p</option> (or <option role=\"hg-opt-log\">--"
  1.2226 @@ -2956,12 +2033,12 @@
  1.2227  msgstr ""
  1.2228  
  1.2229  #. type: Content of: <book><chapter><sect1><title>
  1.2230 -#: ../en/ch02-tour-basic.xml:369
  1.2231 +#: ../en/ch01-tour-basic.xml:369
  1.2232  msgid "All about command options"
  1.2233  msgstr "命令选项"
  1.2234  
  1.2235  #. type: Content of: <book><chapter><sect1><para>
  1.2236 -#: ../en/ch02-tour-basic.xml:371
  1.2237 +#: ../en/ch01-tour-basic.xml:371
  1.2238  msgid ""
  1.2239  "Let's take a brief break from exploring Mercurial commands to discuss a "
  1.2240  "pattern in the way that they work; you may find this useful to keep in mind "
  1.2241 @@ -2969,7 +2046,7 @@
  1.2242  msgstr ""
  1.2243  
  1.2244  #. type: Content of: <book><chapter><sect1><para>
  1.2245 -#: ../en/ch02-tour-basic.xml:375
  1.2246 +#: ../en/ch01-tour-basic.xml:375
  1.2247  msgid ""
  1.2248  "Mercurial has a consistent and straightforward approach to dealing with the "
  1.2249  "options that you can pass to commands.  It follows the conventions for "
  1.2250 @@ -2977,7 +2054,7 @@
  1.2251  msgstr ""
  1.2252  
  1.2253  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2254 -#: ../en/ch02-tour-basic.xml:380
  1.2255 +#: ../en/ch01-tour-basic.xml:380
  1.2256  msgid ""
  1.2257  "Every option has a long name.  For example, as we've already seen, the "
  1.2258  "<command role=\"hg-cmd\">hg log</command> command accepts a <option role=\"hg-"
  1.2259 @@ -2985,7 +2062,7 @@
  1.2260  msgstr ""
  1.2261  
  1.2262  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2263 -#: ../en/ch02-tour-basic.xml:384
  1.2264 +#: ../en/ch01-tour-basic.xml:384
  1.2265  msgid ""
  1.2266  "Most options have short names, too.  Instead of <option role=\"hg-opt-log\">--"
  1.2267  "rev</option>, we can use <option role=\"hg-opt-log\">-r</option>.  (The "
  1.2268 @@ -2994,7 +2071,7 @@
  1.2269  msgstr ""
  1.2270  
  1.2271  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2272 -#: ../en/ch02-tour-basic.xml:389
  1.2273 +#: ../en/ch01-tour-basic.xml:389
  1.2274  msgid ""
  1.2275  "Long options start with two dashes (e.g. <option role=\"hg-opt-log\">--rev</"
  1.2276  "option>), while short options start with one (e.g. <option role=\"hg-opt-log"
  1.2277 @@ -3002,7 +2079,7 @@
  1.2278  msgstr ""
  1.2279  
  1.2280  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2281 -#: ../en/ch02-tour-basic.xml:393
  1.2282 +#: ../en/ch01-tour-basic.xml:393
  1.2283  msgid ""
  1.2284  "Option naming and usage is consistent across commands.  For example, every "
  1.2285  "command that lets you specify a changeset ID or revision number accepts both "
  1.2286 @@ -3011,7 +2088,7 @@
  1.2287  msgstr ""
  1.2288  
  1.2289  #. type: Content of: <book><chapter><sect1><para>
  1.2290 -#: ../en/ch02-tour-basic.xml:399
  1.2291 +#: ../en/ch01-tour-basic.xml:399
  1.2292  msgid ""
  1.2293  "In the examples throughout this book, I use short options instead of long.  "
  1.2294  "This just reflects my own preference, so don't read anything significant into "
  1.2295 @@ -3019,7 +2096,7 @@
  1.2296  msgstr ""
  1.2297  
  1.2298  #. type: Content of: <book><chapter><sect1><para>
  1.2299 -#: ../en/ch02-tour-basic.xml:403
  1.2300 +#: ../en/ch01-tour-basic.xml:403
  1.2301  msgid ""
  1.2302  "Most commands that print output of some kind will print more output when "
  1.2303  "passed a <option role=\"hg-opt-global\">-v</option> (or <option role=\"hg-opt-"
  1.2304 @@ -3028,19 +2105,19 @@
  1.2305  msgstr ""
  1.2306  
  1.2307  #. type: Content of: <book><chapter><sect1><title>
  1.2308 -#: ../en/ch02-tour-basic.xml:411
  1.2309 +#: ../en/ch01-tour-basic.xml:411
  1.2310  msgid "Making and reviewing changes"
  1.2311  msgstr "创建和复审修改"
  1.2312  
  1.2313  #. type: Content of: <book><chapter><sect1><para>
  1.2314 -#: ../en/ch02-tour-basic.xml:413
  1.2315 +#: ../en/ch01-tour-basic.xml:413
  1.2316  msgid ""
  1.2317  "Now that we have a grasp of viewing history in Mercurial, let's take a look "
  1.2318  "at making some changes and examining them."
  1.2319  msgstr ""
  1.2320  
  1.2321  #. type: Content of: <book><chapter><sect1><para>
  1.2322 -#: ../en/ch02-tour-basic.xml:417
  1.2323 +#: ../en/ch01-tour-basic.xml:417
  1.2324  msgid ""
  1.2325  "The first thing we'll do is isolate our experiment in a repository of its "
  1.2326  "own.  We use the <command role=\"hg-cmd\">hg clone</command> command, but we "
  1.2327 @@ -3051,7 +2128,7 @@
  1.2328  msgstr ""
  1.2329  
  1.2330  #. type: Content of: <book><chapter><sect1><para>
  1.2331 -#: ../en/ch02-tour-basic.xml:427
  1.2332 +#: ../en/ch01-tour-basic.xml:427
  1.2333  msgid ""
  1.2334  "As an aside, it's often good practice to keep a <quote>pristine</quote> copy "
  1.2335  "of a remote repository around, which you can then make temporary clones of to "
  1.2336 @@ -3063,7 +2140,7 @@
  1.2337  msgstr ""
  1.2338  
  1.2339  #. type: Content of: <book><chapter><sect1><para>
  1.2340 -#: ../en/ch02-tour-basic.xml:436
  1.2341 +#: ../en/ch01-tour-basic.xml:436
  1.2342  msgid ""
  1.2343  "In our <filename class=\"directory\">my-hello</filename> repository, we have "
  1.2344  "a file <filename>hello.c</filename> that contains the classic <quote>hello, "
  1.2345 @@ -3076,14 +2153,14 @@
  1.2346  msgstr ""
  1.2347  
  1.2348  #. type: Content of: <book><chapter><sect1><para>
  1.2349 -#: ../en/ch02-tour-basic.xml:449
  1.2350 +#: ../en/ch01-tour-basic.xml:449
  1.2351  msgid ""
  1.2352  "Mercurial's <command role=\"hg-cmd\">hg status</command> command will tell us "
  1.2353  "what Mercurial knows about the files in the repository."
  1.2354  msgstr ""
  1.2355  
  1.2356  #. type: Content of: <book><chapter><sect1><para>
  1.2357 -#: ../en/ch02-tour-basic.xml:455
  1.2358 +#: ../en/ch01-tour-basic.xml:455
  1.2359  msgid ""
  1.2360  "The <command role=\"hg-cmd\">hg status</command> command prints no output for "
  1.2361  "some files, but a line starting with <quote><literal>M</literal></quote> for "
  1.2362 @@ -3093,7 +2170,7 @@
  1.2363  msgstr ""
  1.2364  
  1.2365  #. type: Content of: <book><chapter><sect1><para>
  1.2366 -#: ../en/ch02-tour-basic.xml:462
  1.2367 +#: ../en/ch01-tour-basic.xml:462
  1.2368  msgid ""
  1.2369  "The <quote><literal>M</literal></quote> indicates that Mercurial has noticed "
  1.2370  "that we modified <filename>hello.c</filename>.  We didn't need to "
  1.2371 @@ -3103,7 +2180,7 @@
  1.2372  msgstr ""
  1.2373  
  1.2374  #. type: Content of: <book><chapter><sect1><para>
  1.2375 -#: ../en/ch02-tour-basic.xml:470
  1.2376 +#: ../en/ch01-tour-basic.xml:470
  1.2377  msgid ""
  1.2378  "It's a little bit helpful to know that we've modified <filename>hello.c</"
  1.2379  "filename>, but we might prefer to know exactly <emphasis>what</emphasis> "
  1.2380 @@ -3112,12 +2189,12 @@
  1.2381  msgstr ""
  1.2382  
  1.2383  #. type: Content of: <book><chapter><sect1><title>
  1.2384 -#: ../en/ch02-tour-basic.xml:480
  1.2385 +#: ../en/ch01-tour-basic.xml:480
  1.2386  msgid "Recording changes in a new changeset"
  1.2387  msgstr "在新修改集中记录修改"
  1.2388  
  1.2389  #. type: Content of: <book><chapter><sect1><para>
  1.2390 -#: ../en/ch02-tour-basic.xml:482
  1.2391 +#: ../en/ch01-tour-basic.xml:482
  1.2392  msgid ""
  1.2393  "We can modify files, build and test our changes, and use <command role=\"hg-"
  1.2394  "cmd\">hg status</command> and <command role=\"hg-cmd\">hg diff</command> to "
  1.2395 @@ -3126,7 +2203,7 @@
  1.2396  msgstr ""
  1.2397  
  1.2398  #. type: Content of: <book><chapter><sect1><para>
  1.2399 -#: ../en/ch02-tour-basic.xml:489
  1.2400 +#: ../en/ch01-tour-basic.xml:489
  1.2401  msgid ""
  1.2402  "The <command role=\"hg-cmd\">hg commit</command> command lets us create a new "
  1.2403  "changeset; we'll usually refer to this as <quote>making a commit</quote> or "
  1.2404 @@ -3134,12 +2211,12 @@
  1.2405  msgstr ""
  1.2406  
  1.2407  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2408 -#: ../en/ch02-tour-basic.xml:495
  1.2409 +#: ../en/ch01-tour-basic.xml:495
  1.2410  msgid "Setting up a username"
  1.2411  msgstr "配置用户名称"
  1.2412  
  1.2413  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2414 -#: ../en/ch02-tour-basic.xml:497
  1.2415 +#: ../en/ch01-tour-basic.xml:497
  1.2416  msgid ""
  1.2417  "When you try to run <command role=\"hg-cmd\">hg commit</command> for the "
  1.2418  "first time, it is not guaranteed to succeed.  Mercurial records your name and "
  1.2419 @@ -3150,7 +2227,7 @@
  1.2420  msgstr ""
  1.2421  
  1.2422  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2423 -#: ../en/ch02-tour-basic.xml:506
  1.2424 +#: ../en/ch01-tour-basic.xml:506
  1.2425  msgid ""
  1.2426  "If you specify a <option role=\"hg-opt-commit\">-u</option> option to the "
  1.2427  "<command role=\"hg-cmd\">hg commit</command> command on the command line, "
  1.2428 @@ -3158,14 +2235,14 @@
  1.2429  msgstr ""
  1.2430  
  1.2431  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2432 -#: ../en/ch02-tour-basic.xml:511
  1.2433 +#: ../en/ch01-tour-basic.xml:511
  1.2434  msgid ""
  1.2435  "If you have set the <envar>HGUSER</envar> environment variable, this is "
  1.2436  "checked next."
  1.2437  msgstr ""
  1.2438  
  1.2439  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2440 -#: ../en/ch02-tour-basic.xml:514
  1.2441 +#: ../en/ch01-tour-basic.xml:514
  1.2442  msgid ""
  1.2443  "If you create a file in your home directory called <filename role=\"special"
  1.2444  "\">.hgrc</filename>, with a <envar role=\"rc-item-ui\">username</envar> "
  1.2445 @@ -3174,14 +2251,14 @@
  1.2446  msgstr ""
  1.2447  
  1.2448  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2449 -#: ../en/ch02-tour-basic.xml:521
  1.2450 +#: ../en/ch01-tour-basic.xml:521
  1.2451  msgid ""
  1.2452  "If you have set the <envar>EMAIL</envar> environment variable, this will be "
  1.2453  "used next."
  1.2454  msgstr ""
  1.2455  
  1.2456  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2457 -#: ../en/ch02-tour-basic.xml:524
  1.2458 +#: ../en/ch01-tour-basic.xml:524
  1.2459  msgid ""
  1.2460  "Mercurial will query your system to find out your local user name and host "
  1.2461  "name, and construct a username from these components. Since this often "
  1.2462 @@ -3190,7 +2267,7 @@
  1.2463  msgstr ""
  1.2464  
  1.2465  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2466 -#: ../en/ch02-tour-basic.xml:531
  1.2467 +#: ../en/ch01-tour-basic.xml:531
  1.2468  msgid ""
  1.2469  "If all of these mechanisms fail, Mercurial will fail, printing an error "
  1.2470  "message.  In this case, it will not let you commit until you set up a "
  1.2471 @@ -3198,7 +2275,7 @@
  1.2472  msgstr ""
  1.2473  
  1.2474  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2475 -#: ../en/ch02-tour-basic.xml:535
  1.2476 +#: ../en/ch01-tour-basic.xml:535
  1.2477  msgid ""
  1.2478  "You should think of the <envar>HGUSER</envar> environment variable and the "
  1.2479  "<option role=\"hg-opt-commit\">-u</option> option to the <command role=\"hg-"
  1.2480 @@ -3209,12 +2286,12 @@
  1.2481  msgstr ""
  1.2482  
  1.2483  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.2484 -#: ../en/ch02-tour-basic.xml:544
  1.2485 +#: ../en/ch01-tour-basic.xml:544
  1.2486  msgid "Creating a Mercurial configuration file"
  1.2487  msgstr "创建 Mercurial 的配置文件"
  1.2488  
  1.2489  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2490 -#: ../en/ch02-tour-basic.xml:546
  1.2491 +#: ../en/ch01-tour-basic.xml:546
  1.2492  msgid ""
  1.2493  "To set a user name, use your favourite editor to create a file called "
  1.2494  "<filename role=\"special\">.hgrc</filename> in your home directory.  "
  1.2495 @@ -3224,7 +2301,7 @@
  1.2496  msgstr ""
  1.2497  
  1.2498  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2499 -#: ../en/ch02-tour-basic.xml:557
  1.2500 +#: ../en/ch01-tour-basic.xml:558
  1.2501  msgid ""
  1.2502  "The <quote><literal>[ui]</literal></quote> line begins a <emphasis>section</"
  1.2503  "emphasis> of the config file, so you can read the <quote><literal>username "
  1.2504 @@ -3236,12 +2313,12 @@
  1.2505  msgstr ""
  1.2506  
  1.2507  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.2508 -#: ../en/ch02-tour-basic.xml:570
  1.2509 +#: ../en/ch01-tour-basic.xml:571
  1.2510  msgid "Choosing a user name"
  1.2511  msgstr "选择用户名称"
  1.2512  
  1.2513  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2514 -#: ../en/ch02-tour-basic.xml:572
  1.2515 +#: ../en/ch01-tour-basic.xml:573
  1.2516  msgid ""
  1.2517  "You can use any text you like as the value of the <literal>username</literal> "
  1.2518  "config item, since this information is for reading by other people, but for "
  1.2519 @@ -3250,7 +2327,7 @@
  1.2520  msgstr ""
  1.2521  
  1.2522  #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para>
  1.2523 -#: ../en/ch02-tour-basic.xml:579
  1.2524 +#: ../en/ch01-tour-basic.xml:580
  1.2525  msgid ""
  1.2526  "Mercurial's built-in web server obfuscates email addresses, to make it more "
  1.2527  "difficult for the email harvesting tools that spammers use. This reduces the "
  1.2528 @@ -3259,12 +2336,12 @@
  1.2529  msgstr ""
  1.2530  
  1.2531  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2532 -#: ../en/ch02-tour-basic.xml:589
  1.2533 +#: ../en/ch01-tour-basic.xml:590
  1.2534  msgid "Writing a commit message"
  1.2535  msgstr "写提交日志"
  1.2536  
  1.2537  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2538 -#: ../en/ch02-tour-basic.xml:591
  1.2539 +#: ../en/ch01-tour-basic.xml:592
  1.2540  msgid ""
  1.2541  "When we commit a change, Mercurial drops us into a text editor, to enter a "
  1.2542  "message that will describe the modifications we've made in this changeset.  "
  1.2543 @@ -3274,7 +2351,7 @@
  1.2544  msgstr ""
  1.2545  
  1.2546  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2547 -#: ../en/ch02-tour-basic.xml:601
  1.2548 +#: ../en/ch01-tour-basic.xml:602
  1.2549  msgid ""
  1.2550  "The editor that the <command role=\"hg-cmd\">hg commit</command> command "
  1.2551  "drops us into will contain an empty line, followed by a number of lines "
  1.2552 @@ -3282,7 +2359,7 @@
  1.2553  msgstr ""
  1.2554  
  1.2555  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2556 -#: ../en/ch02-tour-basic.xml:608
  1.2557 +#: ../en/ch01-tour-basic.xml:609
  1.2558  msgid ""
  1.2559  "Mercurial ignores the lines that start with <quote><literal>HG:</literal></"
  1.2560  "quote>; it uses them only to tell us which files it's recording changes to.  "
  1.2561 @@ -3290,12 +2367,12 @@
  1.2562  msgstr ""
  1.2563  
  1.2564  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2565 -#: ../en/ch02-tour-basic.xml:614
  1.2566 +#: ../en/ch01-tour-basic.xml:615
  1.2567  msgid "Writing a good commit message"
  1.2568  msgstr "写好提交日志"
  1.2569  
  1.2570  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2571 -#: ../en/ch02-tour-basic.xml:616
  1.2572 +#: ../en/ch01-tour-basic.xml:617
  1.2573  msgid ""
  1.2574  "Since <command role=\"hg-cmd\">hg log</command> only prints the first line of "
  1.2575  "a commit message by default, it's best to write a commit message whose first "
  1.2576 @@ -3305,7 +2382,7 @@
  1.2577  msgstr ""
  1.2578  
  1.2579  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2580 -#: ../en/ch02-tour-basic.xml:630
  1.2581 +#: ../en/ch01-tour-basic.xml:631
  1.2582  msgid ""
  1.2583  "As far as the remainder of the contents of the commit message are concerned, "
  1.2584  "there are no hard-and-fast rules.  Mercurial itself doesn't interpret or care "
  1.2585 @@ -3314,7 +2391,7 @@
  1.2586  msgstr ""
  1.2587  
  1.2588  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2589 -#: ../en/ch02-tour-basic.xml:636
  1.2590 +#: ../en/ch01-tour-basic.xml:637
  1.2591  msgid ""
  1.2592  "My personal preference is for short, but informative, commit messages that "
  1.2593  "tell me something that I can't figure out with a quick glance at the output "
  1.2594 @@ -3322,12 +2399,12 @@
  1.2595  msgstr ""
  1.2596  
  1.2597  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2598 -#: ../en/ch02-tour-basic.xml:643
  1.2599 +#: ../en/ch01-tour-basic.xml:644
  1.2600  msgid "Aborting a commit"
  1.2601  msgstr "终止提交"
  1.2602  
  1.2603  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2604 -#: ../en/ch02-tour-basic.xml:645
  1.2605 +#: ../en/ch01-tour-basic.xml:646
  1.2606  msgid ""
  1.2607  "If you decide that you don't want to commit while in the middle of editing a "
  1.2608  "commit message, simply exit from your editor without saving the file that "
  1.2609 @@ -3336,7 +2413,7 @@
  1.2610  msgstr ""
  1.2611  
  1.2612  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2613 -#: ../en/ch02-tour-basic.xml:650
  1.2614 +#: ../en/ch01-tour-basic.xml:651
  1.2615  msgid ""
  1.2616  "If we run the <command role=\"hg-cmd\">hg commit</command> command without "
  1.2617  "any arguments, it records all of the changes we've made, as reported by "
  1.2618 @@ -3345,12 +2422,12 @@
  1.2619  msgstr ""
  1.2620  
  1.2621  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2622 -#: ../en/ch02-tour-basic.xml:657
  1.2623 +#: ../en/ch01-tour-basic.xml:658
  1.2624  msgid "Admiring our new handiwork"
  1.2625  msgstr "欣赏我们的新手艺"
  1.2626  
  1.2627  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2628 -#: ../en/ch02-tour-basic.xml:659
  1.2629 +#: ../en/ch01-tour-basic.xml:660
  1.2630  msgid ""
  1.2631  "Once we've finished the commit, we can use the <command role=\"hg-cmd\">hg "
  1.2632  "tip</command> command to display the changeset we just created.  This command "
  1.2633 @@ -3359,19 +2436,19 @@
  1.2634  msgstr ""
  1.2635  
  1.2636  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2637 -#: ../en/ch02-tour-basic.xml:668
  1.2638 +#: ../en/ch01-tour-basic.xml:669
  1.2639  msgid ""
  1.2640  "We refer to the newest revision in the repository as the tip revision, or "
  1.2641  "simply the tip."
  1.2642  msgstr ""
  1.2643  
  1.2644  #. type: Content of: <book><chapter><sect1><title>
  1.2645 -#: ../en/ch02-tour-basic.xml:675
  1.2646 +#: ../en/ch01-tour-basic.xml:676
  1.2647  msgid "Sharing changes"
  1.2648  msgstr "共享修改"
  1.2649  
  1.2650  #. type: Content of: <book><chapter><sect1><para>
  1.2651 -#: ../en/ch02-tour-basic.xml:677
  1.2652 +#: ../en/ch01-tour-basic.xml:678
  1.2653  msgid ""
  1.2654  "We mentioned earlier that repositories in Mercurial are self-contained.  This "
  1.2655  "means that the changeset we just created exists only in our <filename class="
  1.2656 @@ -3380,12 +2457,12 @@
  1.2657  msgstr ""
  1.2658  
  1.2659  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2660 -#: ../en/ch02-tour-basic.xml:685
  1.2661 +#: ../en/ch01-tour-basic.xml:686
  1.2662  msgid "Pulling changes from another repository"
  1.2663  msgstr "从其它版本库取得修改"
  1.2664  
  1.2665  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2666 -#: ../en/ch02-tour-basic.xml:686
  1.2667 +#: ../en/ch01-tour-basic.xml:687
  1.2668  msgid ""
  1.2669  "To get started, let's clone our original <filename class=\"directory\">hello</"
  1.2670  "filename> repository, which does not contain the change we just committed.  "
  1.2671 @@ -3394,7 +2471,7 @@
  1.2672  msgstr ""
  1.2673  
  1.2674  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2675 -#: ../en/ch02-tour-basic.xml:694
  1.2676 +#: ../en/ch01-tour-basic.xml:695
  1.2677  msgid ""
  1.2678  "We'll use the <command role=\"hg-cmd\">hg pull</command> command to bring "
  1.2679  "changes from <filename class=\"directory\">my-hello</filename> into <filename "
  1.2680 @@ -3407,7 +2484,7 @@
  1.2681  msgstr ""
  1.2682  
  1.2683  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2684 -#: ../en/ch02-tour-basic.xml:707
  1.2685 +#: ../en/ch01-tour-basic.xml:708
  1.2686  msgid ""
  1.2687  "(Of course, someone could cause more changesets to appear in the repository "
  1.2688  "that we ran <command role=\"hg-cmd\">hg incoming</command> in, before we get "
  1.2689 @@ -3416,7 +2493,7 @@
  1.2690  msgstr ""
  1.2691  
  1.2692  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2693 -#: ../en/ch02-tour-basic.xml:714
  1.2694 +#: ../en/ch01-tour-basic.xml:715
  1.2695  msgid ""
  1.2696  "Bringing changes into a repository is a simple matter of running the <command "
  1.2697  "role=\"hg-cmd\">hg pull</command> command, and telling it which repository to "
  1.2698 @@ -3424,7 +2501,7 @@
  1.2699  msgstr ""
  1.2700  
  1.2701  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2702 -#: ../en/ch02-tour-basic.xml:721
  1.2703 +#: ../en/ch01-tour-basic.xml:722
  1.2704  msgid ""
  1.2705  "As you can see from the before-and-after output of <command role=\"hg-cmd"
  1.2706  "\">hg tip</command>, we have successfully pulled changes into our "
  1.2707 @@ -3433,12 +2510,12 @@
  1.2708  msgstr ""
  1.2709  
  1.2710  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2711 -#: ../en/ch02-tour-basic.xml:729
  1.2712 +#: ../en/ch01-tour-basic.xml:730
  1.2713  msgid "Updating the working directory"
  1.2714  msgstr "更新工作目录"
  1.2715  
  1.2716  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2717 -#: ../en/ch02-tour-basic.xml:731
  1.2718 +#: ../en/ch01-tour-basic.xml:732
  1.2719  msgid ""
  1.2720  "We have so far glossed over the relationship between a repository and its "
  1.2721  "working directory.  The <command role=\"hg-cmd\">hg pull</command> command "
  1.2722 @@ -3450,7 +2527,7 @@
  1.2723  msgstr ""
  1.2724  
  1.2725  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2726 -#: ../en/ch02-tour-basic.xml:743
  1.2727 +#: ../en/ch01-tour-basic.xml:744
  1.2728  msgid ""
  1.2729  "It might seem a bit strange that <command role=\"hg-cmd\">hg pull</command> "
  1.2730  "doesn't update the working directory automatically.  There's actually a good "
  1.2731 @@ -3464,7 +2541,7 @@
  1.2732  msgstr ""
  1.2733  
  1.2734  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2735 -#: ../en/ch02-tour-basic.xml:754
  1.2736 +#: ../en/ch01-tour-basic.xml:755
  1.2737  msgid ""
  1.2738  "However, since pull-then-update is such a common thing to do, Mercurial lets "
  1.2739  "you combine the two by passing the <option role=\"hg-opt-pull\">-u</option> "
  1.2740 @@ -3472,7 +2549,7 @@
  1.2741  msgstr ""
  1.2742  
  1.2743  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2744 -#: ../en/ch02-tour-basic.xml:759
  1.2745 +#: ../en/ch01-tour-basic.xml:760
  1.2746  msgid ""
  1.2747  "If you look back at the output of <command role=\"hg-cmd\">hg pull</command> "
  1.2748  "in section <xref linkend=\"sec.tour.pull\"/> when we ran it without <option "
  1.2749 @@ -3482,14 +2559,14 @@
  1.2750  msgstr ""
  1.2751  
  1.2752  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2753 -#: ../en/ch02-tour-basic.xml:768
  1.2754 +#: ../en/ch01-tour-basic.xml:769
  1.2755  msgid ""
  1.2756  "To find out what revision the working directory is at, use the <command role="
  1.2757  "\"hg-cmd\">hg parents</command> command."
  1.2758  msgstr ""
  1.2759  
  1.2760  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2761 -#: ../en/ch02-tour-basic.xml:774
  1.2762 +#: ../en/ch01-tour-basic.xml:775
  1.2763  msgid ""
  1.2764  "If you look back at figure <xref endterm=\"fig.tour-basic.history.caption\" "
  1.2765  "linkend=\"fig.tour-basic.history\"/>, you'll see arrows connecting each "
  1.2766 @@ -3500,7 +2577,7 @@
  1.2767  msgstr ""
  1.2768  
  1.2769  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2770 -#: ../en/ch02-tour-basic.xml:784
  1.2771 +#: ../en/ch01-tour-basic.xml:785
  1.2772  msgid ""
  1.2773  "To update the working directory to a particular revision, give a revision "
  1.2774  "number or changeset ID to the <command role=\"hg-cmd\">hg update</command> "
  1.2775 @@ -3508,7 +2585,7 @@
  1.2776  msgstr ""
  1.2777  
  1.2778  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2779 -#: ../en/ch02-tour-basic.xml:791
  1.2780 +#: ../en/ch01-tour-basic.xml:792
  1.2781  msgid ""
  1.2782  "If you omit an explicit revision, <command role=\"hg-cmd\">hg update</"
  1.2783  "command> will update to the tip revision, as shown by the second call to "
  1.2784 @@ -3516,12 +2593,12 @@
  1.2785  msgstr ""
  1.2786  
  1.2787  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2788 -#: ../en/ch02-tour-basic.xml:799
  1.2789 +#: ../en/ch01-tour-basic.xml:800
  1.2790  msgid "Pushing changes to another repository"
  1.2791  msgstr "发布修改到其它版本库"
  1.2792  
  1.2793  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2794 -#: ../en/ch02-tour-basic.xml:801
  1.2795 +#: ../en/ch01-tour-basic.xml:802
  1.2796  msgid ""
  1.2797  "Mercurial lets us push changes to another repository, from the repository "
  1.2798  "we're currently visiting.  As with the example of <command role=\"hg-cmd\">hg "
  1.2799 @@ -3530,21 +2607,21 @@
  1.2800  msgstr ""
  1.2801  
  1.2802  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2803 -#: ../en/ch02-tour-basic.xml:809
  1.2804 +#: ../en/ch01-tour-basic.xml:810
  1.2805  msgid ""
  1.2806  "The <command role=\"hg-cmd\">hg outgoing</command> command tells us what "
  1.2807  "changes would be pushed into another repository."
  1.2808  msgstr ""
  1.2809  
  1.2810  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2811 -#: ../en/ch02-tour-basic.xml:815
  1.2812 +#: ../en/ch01-tour-basic.xml:816
  1.2813  msgid ""
  1.2814  "And the <command role=\"hg-cmd\">hg push</command> command does the actual "
  1.2815  "push."
  1.2816  msgstr ""
  1.2817  
  1.2818  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2819 -#: ../en/ch02-tour-basic.xml:821
  1.2820 +#: ../en/ch01-tour-basic.xml:822
  1.2821  msgid ""
  1.2822  "As with <command role=\"hg-cmd\">hg pull</command>, the <command role=\"hg-cmd"
  1.2823  "\">hg push</command> command does not update the working directory in the "
  1.2824 @@ -3555,19 +2632,19 @@
  1.2825  msgstr ""
  1.2826  
  1.2827  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2828 -#: ../en/ch02-tour-basic.xml:830
  1.2829 +#: ../en/ch01-tour-basic.xml:831
  1.2830  msgid ""
  1.2831  "What happens if we try to pull or push changes and the receiving repository "
  1.2832  "already has those changes? Nothing too exciting."
  1.2833  msgstr ""
  1.2834  
  1.2835  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2836 -#: ../en/ch02-tour-basic.xml:837
  1.2837 +#: ../en/ch01-tour-basic.xml:838
  1.2838  msgid "Sharing changes over a network"
  1.2839  msgstr "通过网络共享修改"
  1.2840  
  1.2841  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2842 -#: ../en/ch02-tour-basic.xml:839
  1.2843 +#: ../en/ch01-tour-basic.xml:840
  1.2844  msgid ""
  1.2845  "The commands we have covered in the previous few sections are not limited to "
  1.2846  "working with local repositories.  Each works in exactly the same fashion over "
  1.2847 @@ -3575,7 +2652,7 @@
  1.2848  msgstr ""
  1.2849  
  1.2850  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2851 -#: ../en/ch02-tour-basic.xml:847
  1.2852 +#: ../en/ch01-tour-basic.xml:848
  1.2853  msgid ""
  1.2854  "In this example, we can see what changes we could push to the remote "
  1.2855  "repository, but the repository is understandably not set up to let anonymous "
  1.2856 @@ -3583,12 +2660,12 @@
  1.2857  msgstr ""
  1.2858  
  1.2859  #. type: Content of: <book><chapter><title>
  1.2860 -#: ../en/ch03-tour-merge.xml:5
  1.2861 +#: ../en/ch02-tour-merge.xml:5
  1.2862  msgid "A tour of Mercurial: merging work"
  1.2863  msgstr "Mercurial 教程: 合并工作"
  1.2864  
  1.2865  #. type: Content of: <book><chapter><para>
  1.2866 -#: ../en/ch03-tour-merge.xml:7
  1.2867 +#: ../en/ch02-tour-merge.xml:7
  1.2868  msgid ""
  1.2869  "We've now covered cloning a repository, making changes in a repository, and "
  1.2870  "pulling or pushing changes from one repository into another.  Our next step "
  1.2871 @@ -3596,19 +2673,19 @@
  1.2872  msgstr ""
  1.2873  
  1.2874  #. type: Content of: <book><chapter><sect1><title>
  1.2875 -#: ../en/ch03-tour-merge.xml:13
  1.2876 +#: ../en/ch02-tour-merge.xml:13
  1.2877  msgid "Merging streams of work"
  1.2878  msgstr "合并的流程"
  1.2879  
  1.2880  #. type: Content of: <book><chapter><sect1><para>
  1.2881 -#: ../en/ch03-tour-merge.xml:15
  1.2882 +#: ../en/ch02-tour-merge.xml:15
  1.2883  msgid ""
  1.2884  "Merging is a fundamental part of working with a distributed revision control "
  1.2885  "tool."
  1.2886  msgstr ""
  1.2887  
  1.2888  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2889 -#: ../en/ch03-tour-merge.xml:18
  1.2890 +#: ../en/ch02-tour-merge.xml:18
  1.2891  msgid ""
  1.2892  "Alice and Bob each have a personal copy of a repository for a project they're "
  1.2893  "collaborating on.  Alice fixes a bug in her repository; Bob adds a new "
  1.2894 @@ -3617,7 +2694,7 @@
  1.2895  msgstr ""
  1.2896  
  1.2897  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2898 -#: ../en/ch03-tour-merge.xml:24
  1.2899 +#: ../en/ch02-tour-merge.xml:24
  1.2900  msgid ""
  1.2901  "I frequently work on several different tasks for a single project at once, "
  1.2902  "each safely isolated in its own repository. Working this way means that I "
  1.2903 @@ -3625,7 +2702,7 @@
  1.2904  msgstr ""
  1.2905  
  1.2906  #. type: Content of: <book><chapter><sect1><para>
  1.2907 -#: ../en/ch03-tour-merge.xml:30
  1.2908 +#: ../en/ch02-tour-merge.xml:30
  1.2909  msgid ""
  1.2910  "Because merging is such a common thing to need to do, Mercurial makes it "
  1.2911  "easy.  Let's walk through the process.  We'll begin by cloning yet another "
  1.2912 @@ -3633,7 +2710,7 @@
  1.2913  msgstr ""
  1.2914  
  1.2915  #. type: Content of: <book><chapter><sect1><para>
  1.2916 -#: ../en/ch03-tour-merge.xml:37
  1.2917 +#: ../en/ch02-tour-merge.xml:37
  1.2918  msgid ""
  1.2919  "We should now have two copies of <filename>hello.c</filename> with different "
  1.2920  "contents.  The histories of the two repositories have also diverged, as "
  1.2921 @@ -3642,14 +2719,14 @@
  1.2922  msgstr ""
  1.2923  
  1.2924  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
  1.2925 -#: ../en/ch03-tour-merge.xml:47
  1.2926 +#: ../en/ch02-tour-merge.xml:47
  1.2927  msgid ""
  1.2928  "<imageobject><imagedata fileref=\"images/tour-merge-sep-repos.png\"/></"
  1.2929  "imageobject>"
  1.2930  msgstr ""
  1.2931  
  1.2932  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
  1.2933 -#: ../en/ch03-tour-merge.xml:49
  1.2934 +#: ../en/ch02-tour-merge.xml:49
  1.2935  msgid ""
  1.2936  "Divergent recent histories of the <filename class=\"directory\">my-hello</"
  1.2937  "filename> and <filename class=\"directory\">my-new-hello</filename> "
  1.2938 @@ -3657,7 +2734,7 @@
  1.2939  msgstr ""
  1.2940  
  1.2941  #. type: Content of: <book><chapter><sect1><para>
  1.2942 -#: ../en/ch03-tour-merge.xml:57
  1.2943 +#: ../en/ch02-tour-merge.xml:57
  1.2944  msgid ""
  1.2945  "We already know that pulling changes from our <filename class=\"directory"
  1.2946  "\">my-hello</filename> repository will have no effect on the working "
  1.2947 @@ -3665,19 +2742,19 @@
  1.2948  msgstr ""
  1.2949  
  1.2950  #. type: Content of: <book><chapter><sect1><para>
  1.2951 -#: ../en/ch03-tour-merge.xml:63
  1.2952 +#: ../en/ch02-tour-merge.xml:63
  1.2953  msgid ""
  1.2954  "However, the <command role=\"hg-cmd\">hg pull</command> command says "
  1.2955  "something about <quote>heads</quote>."
  1.2956  msgstr ""
  1.2957  
  1.2958  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2959 -#: ../en/ch03-tour-merge.xml:67
  1.2960 +#: ../en/ch02-tour-merge.xml:67
  1.2961  msgid "Head changesets"
  1.2962  msgstr "顶点改变集"
  1.2963  
  1.2964  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2965 -#: ../en/ch03-tour-merge.xml:69
  1.2966 +#: ../en/ch02-tour-merge.xml:69
  1.2967  msgid ""
  1.2968  "A head is a change that has no descendants, or children, as they're also "
  1.2969  "known.  The tip revision is thus a head, because the newest revision in a "
  1.2970 @@ -3686,20 +2763,20 @@
  1.2971  msgstr ""
  1.2972  
  1.2973  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.2974 -#: ../en/ch03-tour-merge.xml:77
  1.2975 +#: ../en/ch02-tour-merge.xml:77
  1.2976  msgid ""
  1.2977  "<imageobject><imagedata fileref=\"images/tour-merge-pull.png\"/></imageobject>"
  1.2978  msgstr ""
  1.2979  
  1.2980  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.2981 -#: ../en/ch03-tour-merge.xml:79
  1.2982 +#: ../en/ch02-tour-merge.xml:79
  1.2983  msgid ""
  1.2984  "Repository contents after pulling from <filename class=\"directory\">my-"
  1.2985  "hello</filename> into <filename class=\"directory\">my-new-hello</filename>"
  1.2986  msgstr ""
  1.2987  
  1.2988  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2989 -#: ../en/ch03-tour-merge.xml:85
  1.2990 +#: ../en/ch02-tour-merge.xml:85
  1.2991  msgid ""
  1.2992  "In figure <xref endterm=\"fig.tour-merge.pull.caption\" linkend=\"fig.tour-"
  1.2993  "merge.pull\"/>, you can see the effect of the pull from <filename class="
  1.2994 @@ -3716,19 +2793,19 @@
  1.2995  msgstr ""
  1.2996  
  1.2997  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2998 -#: ../en/ch03-tour-merge.xml:106
  1.2999 +#: ../en/ch02-tour-merge.xml:106
  1.3000  msgid "Performing the merge"
  1.3001  msgstr "执行合并"
  1.3002  
  1.3003  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3004 -#: ../en/ch03-tour-merge.xml:108
  1.3005 +#: ../en/ch02-tour-merge.xml:108
  1.3006  msgid ""
  1.3007  "What happens if we try to use the normal <command role=\"hg-cmd\">hg update</"
  1.3008  "command> command to update to the new tip?"
  1.3009  msgstr ""
  1.3010  
  1.3011  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3012 -#: ../en/ch03-tour-merge.xml:114
  1.3013 +#: ../en/ch02-tour-merge.xml:114
  1.3014  msgid ""
  1.3015  "Mercurial is telling us that the <command role=\"hg-cmd\">hg update</command> "
  1.3016  "command won't do a merge; it won't update the working directory when it "
  1.3017 @@ -3738,19 +2815,19 @@
  1.3018  msgstr ""
  1.3019  
  1.3020  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3021 -#: ../en/ch03-tour-merge.xml:125
  1.3022 +#: ../en/ch02-tour-merge.xml:125
  1.3023  msgid ""
  1.3024  "<imageobject><imagedata fileref=\"images/tour-merge-merge.png\"/></"
  1.3025  "imageobject>"
  1.3026  msgstr ""
  1.3027  
  1.3028  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3029 -#: ../en/ch03-tour-merge.xml:127
  1.3030 +#: ../en/ch02-tour-merge.xml:127
  1.3031  msgid "Working directory and repository during merge, and following commit"
  1.3032  msgstr ""
  1.3033  
  1.3034  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3035 -#: ../en/ch03-tour-merge.xml:132
  1.3036 +#: ../en/ch02-tour-merge.xml:132
  1.3037  msgid ""
  1.3038  "This updates the working directory so that it contains changes from "
  1.3039  "<emphasis>both</emphasis> heads, which is reflected in both the output of "
  1.3040 @@ -3759,12 +2836,12 @@
  1.3041  msgstr ""
  1.3042  
  1.3043  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3044 -#: ../en/ch03-tour-merge.xml:142
  1.3045 +#: ../en/ch02-tour-merge.xml:142
  1.3046  msgid "Committing the results of the merge"
  1.3047  msgstr "提交合并结果"
  1.3048  
  1.3049  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3050 -#: ../en/ch03-tour-merge.xml:144
  1.3051 +#: ../en/ch02-tour-merge.xml:144
  1.3052  msgid ""
  1.3053  "Whenever we've done a merge, <command role=\"hg-cmd\">hg parents</command> "
  1.3054  "will display two parents until we <command role=\"hg-cmd\">hg commit</"
  1.3055 @@ -3772,7 +2849,7 @@
  1.3056  msgstr ""
  1.3057  
  1.3058  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3059 -#: ../en/ch03-tour-merge.xml:151
  1.3060 +#: ../en/ch02-tour-merge.xml:151
  1.3061  msgid ""
  1.3062  "We now have a new tip revision; notice that it has <emphasis>both</emphasis> "
  1.3063  "of our former heads as its parents.  These are the same revisions that were "
  1.3064 @@ -3780,7 +2857,7 @@
  1.3065  msgstr ""
  1.3066  
  1.3067  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3068 -#: ../en/ch03-tour-merge.xml:158
  1.3069 +#: ../en/ch02-tour-merge.xml:158
  1.3070  msgid ""
  1.3071  "In figure <xref endterm=\"fig.tour-merge.merge.caption\" linkend=\"fig.tour-"
  1.3072  "merge.merge\"/>, you can see a representation of what happens to the working "
  1.3073 @@ -3790,12 +2867,12 @@
  1.3074  msgstr ""
  1.3075  
  1.3076  #. type: Content of: <book><chapter><sect1><title>
  1.3077 -#: ../en/ch03-tour-merge.xml:169
  1.3078 +#: ../en/ch02-tour-merge.xml:169
  1.3079  msgid "Merging conflicting changes"
  1.3080  msgstr "合并有冲突的改变"
  1.3081  
  1.3082  #. type: Content of: <book><chapter><sect1><para>
  1.3083 -#: ../en/ch03-tour-merge.xml:171
  1.3084 +#: ../en/ch02-tour-merge.xml:171
  1.3085  msgid ""
  1.3086  "Most merges are simple affairs, but sometimes you'll find yourself merging "
  1.3087  "changes where each modifies the same portions of the same files.  Unless both "
  1.3088 @@ -3805,19 +2882,19 @@
  1.3089  msgstr ""
  1.3090  
  1.3091  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
  1.3092 -#: ../en/ch03-tour-merge.xml:180
  1.3093 +#: ../en/ch02-tour-merge.xml:180
  1.3094  msgid ""
  1.3095  "<imageobject><imagedata fileref=\"images/tour-merge-conflict.png\"/> </"
  1.3096  "imageobject>"
  1.3097  msgstr ""
  1.3098  
  1.3099  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
  1.3100 -#: ../en/ch03-tour-merge.xml:183
  1.3101 +#: ../en/ch02-tour-merge.xml:183
  1.3102  msgid "Conflicting changes to a document"
  1.3103  msgstr ""
  1.3104  
  1.3105  #. type: Content of: <book><chapter><sect1><para>
  1.3106 -#: ../en/ch03-tour-merge.xml:188
  1.3107 +#: ../en/ch02-tour-merge.xml:188
  1.3108  msgid ""
  1.3109  "Figure <xref endterm=\"fig.tour-merge.conflict.caption\" linkend=\"fig.tour-"
  1.3110  "merge.conflict\"/> illustrates an instance of two conflicting changes to a "
  1.3111 @@ -3828,7 +2905,7 @@
  1.3112  msgstr ""
  1.3113  
  1.3114  #. type: Content of: <book><chapter><sect1><para>
  1.3115 -#: ../en/ch03-tour-merge.xml:196
  1.3116 +#: ../en/ch02-tour-merge.xml:196
  1.3117  msgid ""
  1.3118  "Mercurial doesn't have a built-in facility for handling conflicts. Instead, "
  1.3119  "it runs an external program called <command>hgmerge</command>.  This is a "
  1.3120 @@ -3841,7 +2918,7 @@
  1.3121  msgstr ""
  1.3122  
  1.3123  #. type: Content of: <book><chapter><sect1><para>
  1.3124 -#: ../en/ch03-tour-merge.xml:207
  1.3125 +#: ../en/ch02-tour-merge.xml:207
  1.3126  msgid ""
  1.3127  "It's also possible to get Mercurial to run another program or script instead "
  1.3128  "of <command>hgmerge</command>, by setting the <envar>HGMERGE</envar> "
  1.3129 @@ -3849,12 +2926,12 @@
  1.3130  msgstr ""
  1.3131  
  1.3132  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3133 -#: ../en/ch03-tour-merge.xml:213
  1.3134 +#: ../en/ch02-tour-merge.xml:213
  1.3135  msgid "Using a graphical merge tool"
  1.3136  msgstr "使用图形合并工具"
  1.3137  
  1.3138  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3139 -#: ../en/ch03-tour-merge.xml:215
  1.3140 +#: ../en/ch02-tour-merge.xml:215
  1.3141  msgid ""
  1.3142  "My preferred graphical merge tool is <command>kdiff3</command>, which I'll "
  1.3143  "use to describe the features that are common to graphical file merging "
  1.3144 @@ -3867,7 +2944,7 @@
  1.3145  msgstr ""
  1.3146  
  1.3147  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3148 -#: ../en/ch03-tour-merge.xml:226
  1.3149 +#: ../en/ch02-tour-merge.xml:226
  1.3150  msgid ""
  1.3151  "At the left is the <emphasis>base</emphasis> version of the file, i.e. the "
  1.3152  "most recent version from which the two versions we're trying to merge are "
  1.3153 @@ -3875,21 +2952,21 @@
  1.3154  msgstr ""
  1.3155  
  1.3156  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3157 -#: ../en/ch03-tour-merge.xml:231
  1.3158 +#: ../en/ch02-tour-merge.xml:231
  1.3159  msgid ""
  1.3160  "In the middle is <quote>our</quote> version of the file, with the contents "
  1.3161  "that we modified."
  1.3162  msgstr ""
  1.3163  
  1.3164  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3165 -#: ../en/ch03-tour-merge.xml:234
  1.3166 +#: ../en/ch02-tour-merge.xml:234
  1.3167  msgid ""
  1.3168  "On the right is <quote>their</quote> version of the file, the one that from "
  1.3169  "the changeset that we're trying to merge with."
  1.3170  msgstr ""
  1.3171  
  1.3172  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3173 -#: ../en/ch03-tour-merge.xml:238
  1.3174 +#: ../en/ch02-tour-merge.xml:238
  1.3175  msgid ""
  1.3176  "In the pane below these is the current <emphasis>result</emphasis> of the "
  1.3177  "merge. Our task is to replace all of the red text, which indicates unresolved "
  1.3178 @@ -3898,7 +2975,7 @@
  1.3179  msgstr ""
  1.3180  
  1.3181  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3182 -#: ../en/ch03-tour-merge.xml:245
  1.3183 +#: ../en/ch02-tour-merge.xml:245
  1.3184  msgid ""
  1.3185  "All four of these panes are <emphasis>locked together</emphasis>; if we "
  1.3186  "scroll vertically or horizontally in any of them, the others are updated to "
  1.3187 @@ -3906,19 +2983,19 @@
  1.3188  msgstr ""
  1.3189  
  1.3190  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3191 -#: ../en/ch03-tour-merge.xml:252
  1.3192 +#: ../en/ch02-tour-merge.xml:252
  1.3193  msgid ""
  1.3194  "<imageobject><imagedata width=\"100%\" fileref=\"images/kdiff3.png\"/> </"
  1.3195  "imageobject>"
  1.3196  msgstr ""
  1.3197  
  1.3198  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3199 -#: ../en/ch03-tour-merge.xml:255
  1.3200 +#: ../en/ch02-tour-merge.xml:255
  1.3201  msgid "Using <command>kdiff3</command> to merge versions of a file"
  1.3202  msgstr ""
  1.3203  
  1.3204  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3205 -#: ../en/ch03-tour-merge.xml:261
  1.3206 +#: ../en/ch02-tour-merge.xml:261
  1.3207  msgid ""
  1.3208  "For each conflicting portion of the file, we can choose to resolve the "
  1.3209  "conflict using some combination of text from the base version, ours, or "
  1.3210 @@ -3927,7 +3004,7 @@
  1.3211  msgstr ""
  1.3212  
  1.3213  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3214 -#: ../en/ch03-tour-merge.xml:267
  1.3215 +#: ../en/ch02-tour-merge.xml:267
  1.3216  msgid ""
  1.3217  "There are <emphasis>many</emphasis> file merging tools available, too many to "
  1.3218  "cover here.  They vary in which platforms they are available for, and in "
  1.3219 @@ -3937,12 +3014,12 @@
  1.3220  msgstr ""
  1.3221  
  1.3222  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3223 -#: ../en/ch03-tour-merge.xml:276
  1.3224 +#: ../en/ch02-tour-merge.xml:276
  1.3225  msgid "A worked example"
  1.3226  msgstr "合并实例"
  1.3227  
  1.3228  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3229 -#: ../en/ch03-tour-merge.xml:278
  1.3230 +#: ../en/ch02-tour-merge.xml:278
  1.3231  msgid ""
  1.3232  "In this example, we will reproduce the file modification history of figure "
  1.3233  "<xref endterm=\"fig.tour-merge.conflict.caption\" linkend=\"fig.tour-merge."
  1.3234 @@ -3951,12 +3028,12 @@
  1.3235  msgstr ""
  1.3236  
  1.3237  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3238 -#: ../en/ch03-tour-merge.xml:286
  1.3239 +#: ../en/ch02-tour-merge.xml:286
  1.3240  msgid "We'll clone the repository and make a change to the file."
  1.3241  msgstr ""
  1.3242  
  1.3243  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3244 -#: ../en/ch03-tour-merge.xml:291
  1.3245 +#: ../en/ch02-tour-merge.xml:291
  1.3246  msgid ""
  1.3247  "And another clone, to simulate someone else making a change to the file. "
  1.3248  "(This hints at the idea that it's not all that unusual to merge with yourself "
  1.3249 @@ -3965,14 +3042,14 @@
  1.3250  msgstr ""
  1.3251  
  1.3252  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3253 -#: ../en/ch03-tour-merge.xml:299
  1.3254 +#: ../en/ch02-tour-merge.xml:299
  1.3255  msgid ""
  1.3256  "Having created two different versions of the file, we'll set up an "
  1.3257  "environment suitable for running our merge."
  1.3258  msgstr ""
  1.3259  
  1.3260  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3261 -#: ../en/ch03-tour-merge.xml:305
  1.3262 +#: ../en/ch02-tour-merge.xml:305
  1.3263  msgid ""
  1.3264  "In this example, I won't use Mercurial's normal <command>hgmerge</command> "
  1.3265  "program to do the merge, because it would drop my nice automated example-"
  1.3266 @@ -3984,12 +3061,12 @@
  1.3267  msgstr ""
  1.3268  
  1.3269  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3270 -#: ../en/ch03-tour-merge.xml:315
  1.3271 +#: ../en/ch02-tour-merge.xml:315
  1.3272  msgid "<emphasis role=\"bold\">XXX FIX THIS EXAMPLE.</emphasis>"
  1.3273  msgstr ""
  1.3274  
  1.3275  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3276 -#: ../en/ch03-tour-merge.xml:320
  1.3277 +#: ../en/ch02-tour-merge.xml:320
  1.3278  msgid ""
  1.3279  "Because <command>merge</command> can't resolve the conflicting changes, it "
  1.3280  "leaves <emphasis>merge markers</emphasis> inside the file that has conflicts, "
  1.3281 @@ -3998,7 +3075,7 @@
  1.3282  msgstr ""
  1.3283  
  1.3284  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3285 -#: ../en/ch03-tour-merge.xml:326
  1.3286 +#: ../en/ch02-tour-merge.xml:326
  1.3287  msgid ""
  1.3288  "Mercurial can tell from the way <command>merge</command> exits that it wasn't "
  1.3289  "able to merge successfully, so it tells us what commands we'll need to run if "
  1.3290 @@ -4008,7 +3085,7 @@
  1.3291  msgstr ""
  1.3292  
  1.3293  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3294 -#: ../en/ch03-tour-merge.xml:333
  1.3295 +#: ../en/ch02-tour-merge.xml:333
  1.3296  msgid ""
  1.3297  "If automatic or manual merges fail, there's nothing to prevent us from "
  1.3298  "<quote>fixing up</quote> the affected files ourselves, and committing the "
  1.3299 @@ -4016,19 +3093,19 @@
  1.3300  msgstr ""
  1.3301  
  1.3302  #. type: Content of: <book><chapter><sect1><title>
  1.3303 -#: ../en/ch03-tour-merge.xml:342
  1.3304 +#: ../en/ch02-tour-merge.xml:342
  1.3305  msgid "Simplifying the pull-merge-commit sequence"
  1.3306  msgstr "简化拉-合并-提交程序"
  1.3307  
  1.3308  #. type: Content of: <book><chapter><sect1><para>
  1.3309 -#: ../en/ch03-tour-merge.xml:344
  1.3310 +#: ../en/ch02-tour-merge.xml:344
  1.3311  msgid ""
  1.3312  "The process of merging changes as outlined above is straightforward, but "
  1.3313  "requires running three commands in sequence."
  1.3314  msgstr ""
  1.3315  
  1.3316  #. type: Content of: <book><chapter><sect1><para>
  1.3317 -#: ../en/ch03-tour-merge.xml:350
  1.3318 +#: ../en/ch02-tour-merge.xml:350
  1.3319  msgid ""
  1.3320  "In the case of the final commit, you also need to enter a commit message, "
  1.3321  "which is almost always going to be a piece of uninteresting "
  1.3322 @@ -4036,7 +3113,7 @@
  1.3323  msgstr ""
  1.3324  
  1.3325  #. type: Content of: <book><chapter><sect1><para>
  1.3326 -#: ../en/ch03-tour-merge.xml:354
  1.3327 +#: ../en/ch02-tour-merge.xml:354
  1.3328  msgid ""
  1.3329  "It would be nice to reduce the number of steps needed, if this were "
  1.3330  "possible.  Indeed, Mercurial is distributed with an extension called <literal "
  1.3331 @@ -4044,7 +3121,7 @@
  1.3332  msgstr ""
  1.3333  
  1.3334  #. type: Content of: <book><chapter><sect1><para>
  1.3335 -#: ../en/ch03-tour-merge.xml:359
  1.3336 +#: ../en/ch02-tour-merge.xml:359
  1.3337  msgid ""
  1.3338  "Mercurial provides a flexible extension mechanism that lets people extend its "
  1.3339  "functionality, while keeping the core of Mercurial small and easy to deal "
  1.3340 @@ -4054,7 +3131,7 @@
  1.3341  msgstr ""
  1.3342  
  1.3343  #. type: Content of: <book><chapter><sect1><para>
  1.3344 -#: ../en/ch03-tour-merge.xml:366
  1.3345 +#: ../en/ch02-tour-merge.xml:366
  1.3346  msgid ""
  1.3347  "The <literal role=\"hg-ext\">fetch</literal> extension adds a new command "
  1.3348  "called, not surprisingly, <command role=\"hg-cmd\">hg fetch</command>.  This "
  1.3349 @@ -4068,7 +3145,7 @@
  1.3350  msgstr ""
  1.3351  
  1.3352  #. type: Content of: <book><chapter><sect1><para>
  1.3353 -#: ../en/ch03-tour-merge.xml:379
  1.3354 +#: ../en/ch02-tour-merge.xml:379
  1.3355  msgid ""
  1.3356  "Enabling the <literal role=\"hg-ext\">fetch</literal> extension is easy.  "
  1.3357  "Edit your <filename role=\"special\">.hgrc</filename>, and either go to the "
  1.3358 @@ -4078,7 +3155,7 @@
  1.3359  msgstr ""
  1.3360  
  1.3361  #. type: Content of: <book><chapter><sect1><para>
  1.3362 -#: ../en/ch03-tour-merge.xml:389
  1.3363 +#: ../en/ch02-tour-merge.xml:388
  1.3364  msgid ""
  1.3365  "(Normally, on the right-hand side of the <quote><literal>=</literal></quote> "
  1.3366  "would appear the location of the extension, but since the <literal role=\"hg-"
  1.3367 @@ -4087,12 +3164,12 @@
  1.3368  msgstr ""
  1.3369  
  1.3370  #. type: Content of: <book><chapter><title>
  1.3371 -#: ../en/ch04-concepts.xml:5
  1.3372 +#: ../en/ch03-concepts.xml:5
  1.3373  msgid "Behind the scenes"
  1.3374  msgstr "Mercurial 内幕"
  1.3375  
  1.3376  #. type: Content of: <book><chapter><para>
  1.3377 -#: ../en/ch04-concepts.xml:7
  1.3378 +#: ../en/ch03-concepts.xml:7
  1.3379  msgid ""
  1.3380  "Unlike many revision control systems, the concepts upon which Mercurial is "
  1.3381  "built are simple enough that it's easy to understand how the software really "
  1.3382 @@ -4101,7 +3178,7 @@
  1.3383  msgstr ""
  1.3384  
  1.3385  #. type: Content of: <book><chapter><para>
  1.3386 -#: ../en/ch04-concepts.xml:13
  1.3387 +#: ../en/ch03-concepts.xml:13
  1.3388  msgid ""
  1.3389  "This understanding gives me confidence that Mercurial has been carefully "
  1.3390  "designed to be both <emphasis>safe</emphasis> and <emphasis>efficient</"
  1.3391 @@ -4111,7 +3188,7 @@
  1.3392  msgstr ""
  1.3393  
  1.3394  #. type: Content of: <book><chapter><para>
  1.3395 -#: ../en/ch04-concepts.xml:20
  1.3396 +#: ../en/ch03-concepts.xml:20
  1.3397  msgid ""
  1.3398  "In this chapter, we'll initially cover the core concepts behind Mercurial's "
  1.3399  "design, then continue to discuss some of the interesting details of its "
  1.3400 @@ -4119,17 +3196,17 @@
  1.3401  msgstr ""
  1.3402  
  1.3403  #. type: Content of: <book><chapter><sect1><title>
  1.3404 -#: ../en/ch04-concepts.xml:25
  1.3405 +#: ../en/ch03-concepts.xml:25
  1.3406  msgid "Mercurial's historical record"
  1.3407  msgstr "Mercurial 的历史记录"
  1.3408  
  1.3409  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3410 -#: ../en/ch04-concepts.xml:28
  1.3411 +#: ../en/ch03-concepts.xml:28
  1.3412  msgid "Tracking the history of a single file"
  1.3413  msgstr "跟踪单一文件的历史"
  1.3414  
  1.3415  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3416 -#: ../en/ch04-concepts.xml:30
  1.3417 +#: ../en/ch03-concepts.xml:30
  1.3418  msgid ""
  1.3419  "When Mercurial tracks modifications to a file, it stores the history of that "
  1.3420  "file in a metadata object called a <emphasis>filelog</emphasis>.  Each entry "
  1.3421 @@ -4141,7 +3218,7 @@
  1.3422  msgstr ""
  1.3423  
  1.3424  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3425 -#: ../en/ch04-concepts.xml:41
  1.3426 +#: ../en/ch03-concepts.xml:41
  1.3427  msgid ""
  1.3428  "A file that is large, or has a lot of history, has its filelog stored in "
  1.3429  "separate data (<quote><literal>.d</literal></quote> suffix) and index "
  1.3430 @@ -4154,23 +3231,23 @@
  1.3431  msgstr ""
  1.3432  
  1.3433  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3434 -#: ../en/ch04-concepts.xml:55
  1.3435 +#: ../en/ch03-concepts.xml:55
  1.3436  msgid "<imageobject><imagedata fileref=\"images/filelog.png\"/></imageobject>"
  1.3437  msgstr ""
  1.3438  
  1.3439  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3440 -#: ../en/ch04-concepts.xml:57
  1.3441 +#: ../en/ch03-concepts.xml:57
  1.3442  msgid ""
  1.3443  "Relationships between files in working directory and filelogs in repository"
  1.3444  msgstr ""
  1.3445  
  1.3446  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3447 -#: ../en/ch04-concepts.xml:65
  1.3448 +#: ../en/ch03-concepts.xml:65
  1.3449  msgid "Managing tracked files"
  1.3450  msgstr "管理跟踪的文件"
  1.3451  
  1.3452  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3453 -#: ../en/ch04-concepts.xml:67
  1.3454 +#: ../en/ch03-concepts.xml:67
  1.3455  msgid ""
  1.3456  "Mercurial uses a structure called a <emphasis>manifest</emphasis> to collect "
  1.3457  "together information about the files that it tracks.  Each entry in the "
  1.3458 @@ -4180,12 +3257,12 @@
  1.3459  msgstr ""
  1.3460  
  1.3461  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3462 -#: ../en/ch04-concepts.xml:77
  1.3463 +#: ../en/ch03-concepts.xml:77
  1.3464  msgid "Recording changeset information"
  1.3465  msgstr "记录修改集信息"
  1.3466  
  1.3467  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3468 -#: ../en/ch04-concepts.xml:79
  1.3469 +#: ../en/ch03-concepts.xml:79
  1.3470  msgid ""
  1.3471  "The <emphasis>changelog</emphasis> contains information about each "
  1.3472  "changeset.  Each revision records who committed a change, the changeset "
  1.3473 @@ -4194,12 +3271,12 @@
  1.3474  msgstr ""
  1.3475  
  1.3476  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3477 -#: ../en/ch04-concepts.xml:87
  1.3478 +#: ../en/ch03-concepts.xml:87
  1.3479  msgid "Relationships between revisions"
  1.3480  msgstr "版本之间的关系"
  1.3481  
  1.3482  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3483 -#: ../en/ch04-concepts.xml:89
  1.3484 +#: ../en/ch03-concepts.xml:89
  1.3485  msgid ""
  1.3486  "Within a changelog, a manifest, or a filelog, each revision stores a pointer "
  1.3487  "to its immediate parent (or to its two parents, if it's a merge revision).  "
  1.3488 @@ -4209,7 +3286,7 @@
  1.3489  msgstr ""
  1.3490  
  1.3491  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3492 -#: ../en/ch04-concepts.xml:96
  1.3493 +#: ../en/ch03-concepts.xml:96
  1.3494  msgid ""
  1.3495  "For every changeset in a repository, there is exactly one revision stored in "
  1.3496  "the changelog.  Each revision of the changelog contains a pointer to a single "
  1.3497 @@ -4220,17 +3297,17 @@
  1.3498  msgstr ""
  1.3499  
  1.3500  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3501 -#: ../en/ch04-concepts.xml:107
  1.3502 +#: ../en/ch03-concepts.xml:107
  1.3503  msgid "<imageobject><imagedata fileref=\"images/metadata.png\"/></imageobject>"
  1.3504  msgstr ""
  1.3505  
  1.3506  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3507 -#: ../en/ch04-concepts.xml:109
  1.3508 +#: ../en/ch03-concepts.xml:109
  1.3509  msgid "Metadata relationships"
  1.3510  msgstr ""
  1.3511  
  1.3512  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3513 -#: ../en/ch04-concepts.xml:114
  1.3514 +#: ../en/ch03-concepts.xml:114
  1.3515  msgid ""
  1.3516  "As the illustration shows, there is <emphasis>not</emphasis> a <quote>one to "
  1.3517  "one</quote> relationship between revisions in the changelog, manifest, or "
  1.3518 @@ -4242,24 +3319,24 @@
  1.3519  msgstr ""
  1.3520  
  1.3521  #. type: Content of: <book><chapter><sect1><title>
  1.3522 -#: ../en/ch04-concepts.xml:127
  1.3523 +#: ../en/ch03-concepts.xml:127
  1.3524  msgid "Safe, efficient storage"
  1.3525  msgstr "安全,高效的存储"
  1.3526  
  1.3527  #. type: Content of: <book><chapter><sect1><para>
  1.3528 -#: ../en/ch04-concepts.xml:129
  1.3529 +#: ../en/ch03-concepts.xml:129
  1.3530  msgid ""
  1.3531  "The underpinnings of changelogs, manifests, and filelogs are provided by a "
  1.3532  "single structure called the <emphasis>revlog</emphasis>."
  1.3533  msgstr ""
  1.3534  
  1.3535  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3536 -#: ../en/ch04-concepts.xml:134
  1.3537 +#: ../en/ch03-concepts.xml:134
  1.3538  msgid "Efficient storage"
  1.3539  msgstr "高效存储"
  1.3540  
  1.3541  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3542 -#: ../en/ch04-concepts.xml:136
  1.3543 +#: ../en/ch03-concepts.xml:136
  1.3544  msgid ""
  1.3545  "The revlog provides efficient storage of revisions using a <emphasis>delta</"
  1.3546  "emphasis> mechanism.  Instead of storing a complete copy of a file for each "
  1.3547 @@ -4269,7 +3346,7 @@
  1.3548  msgstr ""
  1.3549  
  1.3550  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3551 -#: ../en/ch04-concepts.xml:144
  1.3552 +#: ../en/ch03-concepts.xml:144
  1.3553  msgid ""
  1.3554  "Some obsolete revision control systems can only work with deltas of text "
  1.3555  "files.  They must either store binary files as complete snapshots or encoded "
  1.3556 @@ -4279,12 +3356,12 @@
  1.3557  msgstr ""
  1.3558  
  1.3559  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3560 -#: ../en/ch04-concepts.xml:153
  1.3561 +#: ../en/ch03-concepts.xml:153
  1.3562  msgid "Safe operation"
  1.3563  msgstr "安全操作"
  1.3564  
  1.3565  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3566 -#: ../en/ch04-concepts.xml:155
  1.3567 +#: ../en/ch03-concepts.xml:155
  1.3568  msgid ""
  1.3569  "Mercurial only ever <emphasis>appends</emphasis> data to the end of a revlog "
  1.3570  "file. It never modifies a section of a file after it has written it.  This is "
  1.3571 @@ -4293,7 +3370,7 @@
  1.3572  msgstr ""
  1.3573  
  1.3574  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3575 -#: ../en/ch04-concepts.xml:161
  1.3576 +#: ../en/ch03-concepts.xml:161
  1.3577  msgid ""
  1.3578  "In addition, Mercurial treats every write as part of a <emphasis>transaction</"
  1.3579  "emphasis> that can span a number of files.  A transaction is "
  1.3580 @@ -4305,7 +3382,7 @@
  1.3581  msgstr ""
  1.3582  
  1.3583  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3584 -#: ../en/ch04-concepts.xml:171
  1.3585 +#: ../en/ch03-concepts.xml:171
  1.3586  msgid ""
  1.3587  "The fact that Mercurial only appends to files makes it easier to provide this "
  1.3588  "transactional guarantee.  The easier it is to do stuff like this, the more "
  1.3589 @@ -4313,12 +3390,12 @@
  1.3590  msgstr ""
  1.3591  
  1.3592  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3593 -#: ../en/ch04-concepts.xml:178
  1.3594 +#: ../en/ch03-concepts.xml:178
  1.3595  msgid "Fast retrieval"
  1.3596  msgstr "快速检索"
  1.3597  
  1.3598  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3599 -#: ../en/ch04-concepts.xml:180
  1.3600 +#: ../en/ch03-concepts.xml:180
  1.3601  msgid ""
  1.3602  "Mercurial cleverly avoids a pitfall common to all earlier revision control "
  1.3603  "systems: the problem of <emphasis>inefficient retrieval</emphasis>. Most "
  1.3604 @@ -4331,17 +3408,17 @@
  1.3605  msgstr ""
  1.3606  
  1.3607  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3608 -#: ../en/ch04-concepts.xml:193
  1.3609 +#: ../en/ch03-concepts.xml:193
  1.3610  msgid "<imageobject><imagedata fileref=\"images/snapshot.png\"/></imageobject>"
  1.3611  msgstr ""
  1.3612  
  1.3613  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3614 -#: ../en/ch04-concepts.xml:195
  1.3615 +#: ../en/ch03-concepts.xml:195
  1.3616  msgid "Snapshot of a revlog, with incremental deltas"
  1.3617  msgstr ""
  1.3618  
  1.3619  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3620 -#: ../en/ch04-concepts.xml:200
  1.3621 +#: ../en/ch03-concepts.xml:200
  1.3622  msgid ""
  1.3623  "The innovation that Mercurial applies to this problem is simple but "
  1.3624  "effective.  Once the cumulative amount of delta information stored since the "
  1.3625 @@ -4353,7 +3430,7 @@
  1.3626  msgstr ""
  1.3627  
  1.3628  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3629 -#: ../en/ch04-concepts.xml:209
  1.3630 +#: ../en/ch03-concepts.xml:209
  1.3631  msgid ""
  1.3632  "Figure <xref endterm=\"fig.concepts.snapshot.caption\" linkend=\"fig.concepts."
  1.3633  "snapshot\"/> illustrates the idea.  In an entry in a revlog's index file, "
  1.3634 @@ -4362,12 +3439,12 @@
  1.3635  msgstr ""
  1.3636  
  1.3637  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.3638 -#: ../en/ch04-concepts.xml:216
  1.3639 +#: ../en/ch03-concepts.xml:216
  1.3640  msgid "Aside: the influence of video compression"
  1.3641  msgstr ""
  1.3642  
  1.3643  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3644 -#: ../en/ch04-concepts.xml:218
  1.3645 +#: ../en/ch03-concepts.xml:218
  1.3646  msgid ""
  1.3647  "If you're familiar with video compression or have ever watched a TV feed "
  1.3648  "through a digital cable or satellite service, you may know that most video "
  1.3649 @@ -4378,7 +3455,7 @@
  1.3650  msgstr ""
  1.3651  
  1.3652  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3653 -#: ../en/ch04-concepts.xml:227
  1.3654 +#: ../en/ch03-concepts.xml:227
  1.3655  msgid ""
  1.3656  "Because it's possible for a video stream to <quote>drop out</quote> "
  1.3657  "occasionally due to signal glitches, and to limit the accumulation of "
  1.3658 @@ -4391,12 +3468,12 @@
  1.3659  msgstr ""
  1.3660  
  1.3661  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3662 -#: ../en/ch04-concepts.xml:241
  1.3663 +#: ../en/ch03-concepts.xml:241
  1.3664  msgid "Identification and strong integrity"
  1.3665  msgstr "鉴别和强完整性"
  1.3666  
  1.3667  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3668 -#: ../en/ch04-concepts.xml:243
  1.3669 +#: ../en/ch03-concepts.xml:243
  1.3670  msgid ""
  1.3671  "Along with delta or snapshot information, a revlog entry contains a "
  1.3672  "cryptographic hash of the data that it represents.  This makes it difficult "
  1.3673 @@ -4404,7 +3481,7 @@
  1.3674  msgstr ""
  1.3675  
  1.3676  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3677 -#: ../en/ch04-concepts.xml:248
  1.3678 +#: ../en/ch03-concepts.xml:248
  1.3679  msgid ""
  1.3680  "Hashes provide more than a mere check against corruption; they are used as "
  1.3681  "the identifiers for revisions.  The changeset identification hashes that you "
  1.3682 @@ -4413,7 +3490,7 @@
  1.3683  msgstr ""
  1.3684  
  1.3685  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3686 -#: ../en/ch04-concepts.xml:255
  1.3687 +#: ../en/ch03-concepts.xml:255
  1.3688  msgid ""
  1.3689  "Mercurial verifies that hashes are correct when it retrieves file revisions "
  1.3690  "and when it pulls changes from another repository.  If it encounters an "
  1.3691 @@ -4421,7 +3498,7 @@
  1.3692  msgstr ""
  1.3693  
  1.3694  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3695 -#: ../en/ch04-concepts.xml:260
  1.3696 +#: ../en/ch03-concepts.xml:260
  1.3697  msgid ""
  1.3698  "In addition to the effect it has on retrieval efficiency, Mercurial's use of "
  1.3699  "periodic snapshots makes it more robust against partial data corruption.  If "
  1.3700 @@ -4432,12 +3509,12 @@
  1.3701  msgstr ""
  1.3702  
  1.3703  #. type: Content of: <book><chapter><sect1><title>
  1.3704 -#: ../en/ch04-concepts.xml:272
  1.3705 +#: ../en/ch03-concepts.xml:272
  1.3706  msgid "Revision history, branching, and merging"
  1.3707  msgstr "修订历史,分支与合并"
  1.3708  
  1.3709  #. type: Content of: <book><chapter><sect1><para>
  1.3710 -#: ../en/ch04-concepts.xml:274
  1.3711 +#: ../en/ch03-concepts.xml:274
  1.3712  msgid ""
  1.3713  "Every entry in a Mercurial revlog knows the identity of its immediate "
  1.3714  "ancestor revision, usually referred to as its <emphasis>parent</emphasis>.  "
  1.3715 @@ -4448,7 +3525,7 @@
  1.3716  msgstr ""
  1.3717  
  1.3718  #. type: Content of: <book><chapter><sect1><para>
  1.3719 -#: ../en/ch04-concepts.xml:282
  1.3720 +#: ../en/ch03-concepts.xml:282
  1.3721  msgid ""
  1.3722  "In figure <xref endterm=\"fig.concepts.revlog.caption\" linkend=\"fig."
  1.3723  "concepts.revlog\"/>, you can see an example of the conceptual structure of a "
  1.3724 @@ -4457,7 +3534,7 @@
  1.3725  msgstr ""
  1.3726  
  1.3727  #. type: Content of: <book><chapter><sect1><para>
  1.3728 -#: ../en/ch04-concepts.xml:289
  1.3729 +#: ../en/ch03-concepts.xml:289
  1.3730  msgid ""
  1.3731  "The first revision in a revlog (at the bottom of the image)  has the null ID "
  1.3732  "in both of its parent slots.  For a <quote>normal</quote> revision, its first "
  1.3733 @@ -4469,29 +3546,29 @@
  1.3734  msgstr ""
  1.3735  
  1.3736  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
  1.3737 -#: ../en/ch04-concepts.xml:300
  1.3738 +#: ../en/ch03-concepts.xml:300
  1.3739  msgid "<imageobject><imagedata fileref=\"images/revlog.png\"/></imageobject>"
  1.3740  msgstr ""
  1.3741  
  1.3742  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
  1.3743 -#: ../en/ch04-concepts.xml:302
  1.3744 +#: ../en/ch03-concepts.xml:302
  1.3745  msgid "Revision in revlog"
  1.3746  msgstr ""
  1.3747  
  1.3748  #. type: Content of: <book><chapter><sect1><title>
  1.3749 -#: ../en/ch04-concepts.xml:309
  1.3750 +#: ../en/ch03-concepts.xml:309
  1.3751  msgid "The working directory"
  1.3752  msgstr "工作目录"
  1.3753  
  1.3754  #. type: Content of: <book><chapter><sect1><para>
  1.3755 -#: ../en/ch04-concepts.xml:311
  1.3756 +#: ../en/ch03-concepts.xml:311
  1.3757  msgid ""
  1.3758  "In the working directory, Mercurial stores a snapshot of the files from the "
  1.3759  "repository as of a particular changeset."
  1.3760  msgstr ""
  1.3761  
  1.3762  #. type: Content of: <book><chapter><sect1><para>
  1.3763 -#: ../en/ch04-concepts.xml:314
  1.3764 +#: ../en/ch03-concepts.xml:314
  1.3765  msgid ""
  1.3766  "The working directory <quote>knows</quote> which changeset it contains.  When "
  1.3767  "you update the working directory to contain a particular changeset, Mercurial "
  1.3768 @@ -4502,7 +3579,7 @@
  1.3769  msgstr ""
  1.3770  
  1.3771  #. type: Content of: <book><chapter><sect1><para>
  1.3772 -#: ../en/ch04-concepts.xml:323
  1.3773 +#: ../en/ch03-concepts.xml:323
  1.3774  msgid ""
  1.3775  "The <emphasis>dirstate</emphasis> contains Mercurial's knowledge of the "
  1.3776  "working directory.  This details which changeset the working directory is "
  1.3777 @@ -4511,7 +3588,7 @@
  1.3778  msgstr ""
  1.3779  
  1.3780  #. type: Content of: <book><chapter><sect1><para>
  1.3781 -#: ../en/ch04-concepts.xml:329
  1.3782 +#: ../en/ch03-concepts.xml:329
  1.3783  msgid ""
  1.3784  "Just as a revision of a revlog has room for two parents, so that it can "
  1.3785  "represent either a normal revision (with one parent)  or a merge of two "
  1.3786 @@ -4526,12 +3603,12 @@
  1.3787  msgstr ""
  1.3788  
  1.3789  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3790 -#: ../en/ch04-concepts.xml:343
  1.3791 +#: ../en/ch03-concepts.xml:343
  1.3792  msgid "What happens when you commit"
  1.3793  msgstr "当你提交时发生的事情"
  1.3794  
  1.3795  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3796 -#: ../en/ch04-concepts.xml:345
  1.3797 +#: ../en/ch03-concepts.xml:345
  1.3798  msgid ""
  1.3799  "The dirstate stores parent information for more than just book-keeping "
  1.3800  "purposes.  Mercurial uses the parents of the dirstate as <emphasis>the "
  1.3801 @@ -4539,17 +3616,17 @@
  1.3802  msgstr ""
  1.3803  
  1.3804  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3805 -#: ../en/ch04-concepts.xml:352
  1.3806 +#: ../en/ch03-concepts.xml:352
  1.3807  msgid "<imageobject><imagedata fileref=\"images/wdir.png\"/></imageobject>"
  1.3808  msgstr ""
  1.3809  
  1.3810  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3811 -#: ../en/ch04-concepts.xml:354
  1.3812 +#: ../en/ch03-concepts.xml:354
  1.3813  msgid "The working directory can have two parents"
  1.3814  msgstr ""
  1.3815  
  1.3816  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3817 -#: ../en/ch04-concepts.xml:359
  1.3818 +#: ../en/ch03-concepts.xml:359
  1.3819  msgid ""
  1.3820  "Figure <xref endterm=\"fig.concepts.wdir.caption\" linkend=\"fig.concepts.wdir"
  1.3821  "\"/> shows the normal state of the working directory, where it has a single "
  1.3822 @@ -4558,19 +3635,19 @@
  1.3823  msgstr ""
  1.3824  
  1.3825  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3826 -#: ../en/ch04-concepts.xml:368
  1.3827 +#: ../en/ch03-concepts.xml:368
  1.3828  msgid ""
  1.3829  "<imageobject><imagedata fileref=\"images/wdir-after-commit.png\"/> </"
  1.3830  "imageobject>"
  1.3831  msgstr ""
  1.3832  
  1.3833  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3834 -#: ../en/ch04-concepts.xml:371
  1.3835 +#: ../en/ch03-concepts.xml:371
  1.3836  msgid "The working directory gains new parents after a commit"
  1.3837  msgstr ""
  1.3838  
  1.3839  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3840 -#: ../en/ch04-concepts.xml:376
  1.3841 +#: ../en/ch03-concepts.xml:376
  1.3842  msgid ""
  1.3843  "It's useful to think of the working directory as <quote>the changeset I'm "
  1.3844  "about to commit</quote>.  Any files that you tell Mercurial that you've "
  1.3845 @@ -4580,7 +3657,7 @@
  1.3846  msgstr ""
  1.3847  
  1.3848  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3849 -#: ../en/ch04-concepts.xml:384
  1.3850 +#: ../en/ch03-concepts.xml:384
  1.3851  msgid ""
  1.3852  "After a commit, Mercurial will update the parents of the working directory, "
  1.3853  "so that the first parent is the ID of the new changeset, and the second is "
  1.3854 @@ -4591,12 +3668,12 @@
  1.3855  msgstr ""
  1.3856  
  1.3857  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3858 -#: ../en/ch04-concepts.xml:396
  1.3859 +#: ../en/ch03-concepts.xml:396
  1.3860  msgid "Creating a new head"
  1.3861  msgstr "创建新顶点"
  1.3862  
  1.3863  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3864 -#: ../en/ch04-concepts.xml:398
  1.3865 +#: ../en/ch03-concepts.xml:398
  1.3866  msgid ""
  1.3867  "It's perfectly normal to update the working directory to a changeset other "
  1.3868  "than the current tip.  For example, you might want to know what your project "
  1.3869 @@ -4610,19 +3687,19 @@
  1.3870  msgstr ""
  1.3871  
  1.3872  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3873 -#: ../en/ch04-concepts.xml:412
  1.3874 +#: ../en/ch03-concepts.xml:412
  1.3875  msgid ""
  1.3876  "<imageobject><imagedata fileref=\"images/wdir-pre-branch.png\"/> </"
  1.3877  "imageobject>"
  1.3878  msgstr ""
  1.3879  
  1.3880  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3881 -#: ../en/ch04-concepts.xml:415
  1.3882 +#: ../en/ch03-concepts.xml:415
  1.3883  msgid "The working directory, updated to an older changeset"
  1.3884  msgstr ""
  1.3885  
  1.3886  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3887 -#: ../en/ch04-concepts.xml:420
  1.3888 +#: ../en/ch03-concepts.xml:420
  1.3889  msgid ""
  1.3890  "Having updated the working directory to an older changeset, what happens if "
  1.3891  "you make some changes, and then commit? Mercurial behaves in the same way as "
  1.3892 @@ -4635,18 +3712,18 @@
  1.3893  msgstr ""
  1.3894  
  1.3895  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3896 -#: ../en/ch04-concepts.xml:434
  1.3897 +#: ../en/ch03-concepts.xml:434
  1.3898  msgid ""
  1.3899  "<imageobject><imagedata fileref=\"images/wdir-branch.png\"/> </imageobject>"
  1.3900  msgstr ""
  1.3901  
  1.3902  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3903 -#: ../en/ch04-concepts.xml:437
  1.3904 +#: ../en/ch03-concepts.xml:437
  1.3905  msgid "After a commit made while synced to an older changeset"
  1.3906  msgstr ""
  1.3907  
  1.3908  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.3909 -#: ../en/ch04-concepts.xml:443
  1.3910 +#: ../en/ch03-concepts.xml:443
  1.3911  msgid ""
  1.3912  "If you're new to Mercurial, you should keep in mind a common <quote>error</"
  1.3913  "quote>, which is to use the <command role=\"hg-cmd\">hg pull</command> "
  1.3914 @@ -4660,7 +3737,7 @@
  1.3915  msgstr ""
  1.3916  
  1.3917  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.3918 -#: ../en/ch04-concepts.xml:455
  1.3919 +#: ../en/ch03-concepts.xml:455
  1.3920  msgid ""
  1.3921  "I put the word <quote>error</quote> in quotes because all that you need to do "
  1.3922  "to rectify this situation is <command role=\"hg-cmd\">hg merge</command>, "
  1.3923 @@ -4671,12 +3748,12 @@
  1.3924  msgstr ""
  1.3925  
  1.3926  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3927 -#: ../en/ch04-concepts.xml:467
  1.3928 +#: ../en/ch03-concepts.xml:467
  1.3929  msgid "Merging heads"
  1.3930  msgstr "合并顶点"
  1.3931  
  1.3932  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3933 -#: ../en/ch04-concepts.xml:469
  1.3934 +#: ../en/ch03-concepts.xml:469
  1.3935  msgid ""
  1.3936  "When you run the <command role=\"hg-cmd\">hg merge</command> command, "
  1.3937  "Mercurial leaves the first parent of the working directory unchanged, and "
  1.3938 @@ -4686,18 +3763,18 @@
  1.3939  msgstr ""
  1.3940  
  1.3941  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3942 -#: ../en/ch04-concepts.xml:478
  1.3943 +#: ../en/ch03-concepts.xml:478
  1.3944  msgid ""
  1.3945  "<imageobject><imagedata fileref=\"images/wdir-merge.png\"/> </imageobject>"
  1.3946  msgstr ""
  1.3947  
  1.3948  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3949 -#: ../en/ch04-concepts.xml:481
  1.3950 +#: ../en/ch03-concepts.xml:481
  1.3951  msgid "Merging two heads"
  1.3952  msgstr ""
  1.3953  
  1.3954  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3955 -#: ../en/ch04-concepts.xml:486
  1.3956 +#: ../en/ch03-concepts.xml:486
  1.3957  msgid ""
  1.3958  "Mercurial also has to modify the working directory, to merge the files "
  1.3959  "managed in the two changesets.  Simplified a little, the merging process goes "
  1.3960 @@ -4705,33 +3782,33 @@
  1.3961  msgstr ""
  1.3962  
  1.3963  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3964 -#: ../en/ch04-concepts.xml:491
  1.3965 +#: ../en/ch03-concepts.xml:491
  1.3966  msgid "If neither changeset has modified a file, do nothing with that file."
  1.3967  msgstr ""
  1.3968  
  1.3969  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3970 -#: ../en/ch04-concepts.xml:494
  1.3971 +#: ../en/ch03-concepts.xml:494
  1.3972  msgid ""
  1.3973  "If one changeset has modified a file, and the other hasn't, create the "
  1.3974  "modified copy of the file in the working directory."
  1.3975  msgstr ""
  1.3976  
  1.3977  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3978 -#: ../en/ch04-concepts.xml:498
  1.3979 +#: ../en/ch03-concepts.xml:498
  1.3980  msgid ""
  1.3981  "If one changeset has removed a file, and the other hasn't (or has also "
  1.3982  "deleted it), delete the file from the working directory."
  1.3983  msgstr ""
  1.3984  
  1.3985  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3986 -#: ../en/ch04-concepts.xml:502
  1.3987 +#: ../en/ch03-concepts.xml:502
  1.3988  msgid ""
  1.3989  "If one changeset has removed a file, but the other has modified the file, ask "
  1.3990  "the user what to do: keep the modified file, or remove it?"
  1.3991  msgstr ""
  1.3992  
  1.3993  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3994 -#: ../en/ch04-concepts.xml:506
  1.3995 +#: ../en/ch03-concepts.xml:506
  1.3996  msgid ""
  1.3997  "If both changesets have modified a file, invoke an external merge program to "
  1.3998  "choose the new contents for the merged file.  This may require input from the "
  1.3999 @@ -4739,14 +3816,14 @@
  1.4000  msgstr ""
  1.4001  
  1.4002  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4003 -#: ../en/ch04-concepts.xml:511
  1.4004 +#: ../en/ch03-concepts.xml:511
  1.4005  msgid ""
  1.4006  "If one changeset has modified a file, and the other has renamed or copied the "
  1.4007  "file, make sure that the changes follow the new name of the file."
  1.4008  msgstr ""
  1.4009  
  1.4010  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4011 -#: ../en/ch04-concepts.xml:515
  1.4012 +#: ../en/ch03-concepts.xml:515
  1.4013  msgid ""
  1.4014  "There are more details&emdash;merging has plenty of corner cases&emdash;but "
  1.4015  "these are the most common choices that are involved in a merge.  As you can "
  1.4016 @@ -4755,7 +3832,7 @@
  1.4017  msgstr ""
  1.4018  
  1.4019  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4020 -#: ../en/ch04-concepts.xml:522
  1.4021 +#: ../en/ch03-concepts.xml:522
  1.4022  msgid ""
  1.4023  "When you're thinking about what happens when you commit after a merge, once "
  1.4024  "again the working directory is <quote>the changeset I'm about to commit</"
  1.4025 @@ -4765,7 +3842,7 @@
  1.4026  msgstr ""
  1.4027  
  1.4028  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4029 -#: ../en/ch04-concepts.xml:529
  1.4030 +#: ../en/ch03-concepts.xml:529
  1.4031  msgid ""
  1.4032  "Mercurial lets you perform multiple merges, but you must commit the results "
  1.4033  "of each individual merge as you go.  This is necessary because Mercurial only "
  1.4034 @@ -4776,12 +3853,12 @@
  1.4035  msgstr ""
  1.4036  
  1.4037  #. type: Content of: <book><chapter><sect1><title>
  1.4038 -#: ../en/ch04-concepts.xml:540
  1.4039 +#: ../en/ch03-concepts.xml:540
  1.4040  msgid "Other interesting design features"
  1.4041  msgstr "其它有趣的设计特性"
  1.4042  
  1.4043  #. type: Content of: <book><chapter><sect1><para>
  1.4044 -#: ../en/ch04-concepts.xml:542
  1.4045 +#: ../en/ch03-concepts.xml:542
  1.4046  msgid ""
  1.4047  "In the sections above, I've tried to highlight some of the most important "
  1.4048  "aspects of Mercurial's design, to illustrate that it pays careful attention "
  1.4049 @@ -4794,12 +3871,12 @@
  1.4050  msgstr ""
  1.4051  
  1.4052  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4053 -#: ../en/ch04-concepts.xml:553
  1.4054 +#: ../en/ch03-concepts.xml:553
  1.4055  msgid "Clever compression"
  1.4056  msgstr "智能压缩"
  1.4057  
  1.4058  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4059 -#: ../en/ch04-concepts.xml:555
  1.4060 +#: ../en/ch03-concepts.xml:555
  1.4061  msgid ""
  1.4062  "When appropriate, Mercurial will store both snapshots and deltas in "
  1.4063  "compressed form.  It does this by always <emphasis>trying to</emphasis> "
  1.4064 @@ -4808,7 +3885,7 @@
  1.4065  msgstr ""
  1.4066  
  1.4067  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4068 -#: ../en/ch04-concepts.xml:561
  1.4069 +#: ../en/ch03-concepts.xml:561
  1.4070  msgid ""
  1.4071  "This means that Mercurial does <quote>the right thing</quote> when storing a "
  1.4072  "file whose native form is compressed, such as a <literal>zip</literal> "
  1.4073 @@ -4818,7 +3895,7 @@
  1.4074  msgstr ""
  1.4075  
  1.4076  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4077 -#: ../en/ch04-concepts.xml:569
  1.4078 +#: ../en/ch03-concepts.xml:569
  1.4079  msgid ""
  1.4080  "Deltas between revisions of a compressed file are usually larger than "
  1.4081  "snapshots of the file, and Mercurial again does <quote>the right thing</"
  1.4082 @@ -4828,12 +3905,12 @@
  1.4083  msgstr ""
  1.4084  
  1.4085  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.4086 -#: ../en/ch04-concepts.xml:578
  1.4087 +#: ../en/ch03-concepts.xml:578
  1.4088  msgid "Network recompression"
  1.4089  msgstr "网络重新压缩"
  1.4090  
  1.4091  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4092 -#: ../en/ch04-concepts.xml:580
  1.4093 +#: ../en/ch03-concepts.xml:580
  1.4094  msgid ""
  1.4095  "When storing revisions on disk, Mercurial uses the <quote>deflate</quote> "
  1.4096  "compression algorithm (the same one used by the popular <literal>zip</"
  1.4097 @@ -4843,7 +3920,7 @@
  1.4098  msgstr ""
  1.4099  
  1.4100  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4101 -#: ../en/ch04-concepts.xml:588
  1.4102 +#: ../en/ch03-concepts.xml:588
  1.4103  msgid ""
  1.4104  "If the connection is over HTTP, Mercurial recompresses the entire stream of "
  1.4105  "data using a compression algorithm that gives a better compression ratio (the "
  1.4106 @@ -4855,7 +3932,7 @@
  1.4107  msgstr ""
  1.4108  
  1.4109  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4110 -#: ../en/ch04-concepts.xml:598
  1.4111 +#: ../en/ch03-concepts.xml:598
  1.4112  msgid ""
  1.4113  "(If the connection is over <command>ssh</command>, Mercurial "
  1.4114  "<emphasis>doesn't</emphasis> recompress the stream, because <command>ssh</"
  1.4115 @@ -4863,12 +3940,12 @@
  1.4116  msgstr ""
  1.4117  
  1.4118  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4119 -#: ../en/ch04-concepts.xml:606
  1.4120 +#: ../en/ch03-concepts.xml:606
  1.4121  msgid "Read/write ordering and atomicity"
  1.4122  msgstr "读写顺序与原子性"
  1.4123  
  1.4124  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4125 -#: ../en/ch04-concepts.xml:608
  1.4126 +#: ../en/ch03-concepts.xml:608
  1.4127  msgid ""
  1.4128  "Appending to files isn't the whole story when it comes to guaranteeing that a "
  1.4129  "reader won't see a partial write.  If you recall figure <xref endterm=\"fig."
  1.4130 @@ -4878,7 +3955,7 @@
  1.4131  msgstr ""
  1.4132  
  1.4133  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4134 -#: ../en/ch04-concepts.xml:616
  1.4135 +#: ../en/ch03-concepts.xml:616
  1.4136  msgid ""
  1.4137  "A writer starts a transaction by writing filelog and manifest data, and "
  1.4138  "doesn't write any changelog data until those are finished.  A reader starts "
  1.4139 @@ -4886,7 +3963,7 @@
  1.4140  msgstr ""
  1.4141  
  1.4142  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4143 -#: ../en/ch04-concepts.xml:621
  1.4144 +#: ../en/ch03-concepts.xml:621
  1.4145  msgid ""
  1.4146  "Since the writer has always finished writing filelog and manifest data before "
  1.4147  "it writes to the changelog, a reader will never read a pointer to a partially "
  1.4148 @@ -4895,12 +3972,12 @@
  1.4149  msgstr ""
  1.4150  
  1.4151  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4152 -#: ../en/ch04-concepts.xml:629
  1.4153 +#: ../en/ch03-concepts.xml:629
  1.4154  msgid "Concurrent access"
  1.4155  msgstr "并发访问"
  1.4156  
  1.4157  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4158 -#: ../en/ch04-concepts.xml:631
  1.4159 +#: ../en/ch03-concepts.xml:631
  1.4160  msgid ""
  1.4161  "The read/write ordering and atomicity guarantees mean that Mercurial never "
  1.4162  "needs to <emphasis>lock</emphasis> a repository when it's reading data, even "
  1.4163 @@ -4911,7 +3988,7 @@
  1.4164  msgstr ""
  1.4165  
  1.4166  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4167 -#: ../en/ch04-concepts.xml:640
  1.4168 +#: ../en/ch03-concepts.xml:640
  1.4169  msgid ""
  1.4170  "The lockless nature of reading means that if you're sharing a repository on a "
  1.4171  "multi-user system, you don't need to grant other local users permission to "
  1.4172 @@ -4925,7 +4002,7 @@
  1.4173  msgstr ""
  1.4174  
  1.4175  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4176 -#: ../en/ch04-concepts.xml:653
  1.4177 +#: ../en/ch03-concepts.xml:653
  1.4178  msgid ""
  1.4179  "Mercurial uses locks to ensure that only one process can write to a "
  1.4180  "repository at a time (the locking mechanism is safe even over filesystems "
  1.4181 @@ -4939,12 +4016,12 @@
  1.4182  msgstr ""
  1.4183  
  1.4184  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.4185 -#: ../en/ch04-concepts.xml:665
  1.4186 +#: ../en/ch03-concepts.xml:665
  1.4187  msgid "Safe dirstate access"
  1.4188  msgstr "安全的目录状态访问"
  1.4189  
  1.4190  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.4191 -#: ../en/ch04-concepts.xml:667
  1.4192 +#: ../en/ch03-concepts.xml:667
  1.4193  msgid ""
  1.4194  "As with revision data, Mercurial doesn't take a lock to read the dirstate "
  1.4195  "file; it does acquire a lock to write it.  To avoid the possibility of "
  1.4196 @@ -4956,12 +4033,12 @@
  1.4197  msgstr ""
  1.4198  
  1.4199  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4200 -#: ../en/ch04-concepts.xml:680
  1.4201 +#: ../en/ch03-concepts.xml:680
  1.4202  msgid "Avoiding seeks"
  1.4203  msgstr "避免查找"
  1.4204  
  1.4205  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4206 -#: ../en/ch04-concepts.xml:682
  1.4207 +#: ../en/ch03-concepts.xml:682
  1.4208  msgid ""
  1.4209  "Critical to Mercurial's performance is the avoidance of seeks of the disk "
  1.4210  "head, since any seek is far more expensive than even a comparatively large "
  1.4211 @@ -4969,7 +4046,7 @@
  1.4212  msgstr ""
  1.4213  
  1.4214  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4215 -#: ../en/ch04-concepts.xml:686
  1.4216 +#: ../en/ch03-concepts.xml:686
  1.4217  msgid ""
  1.4218  "This is why, for example, the dirstate is stored in a single file.  If there "
  1.4219  "were a dirstate file per directory that Mercurial tracked, the disk would "
  1.4220 @@ -4978,7 +4055,7 @@
  1.4221  msgstr ""
  1.4222  
  1.4223  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4224 -#: ../en/ch04-concepts.xml:692
  1.4225 +#: ../en/ch03-concepts.xml:692
  1.4226  msgid ""
  1.4227  "Mercurial also uses a <quote>copy on write</quote> scheme when cloning a "
  1.4228  "repository on local storage.  Instead of copying every revlog file from the "
  1.4229 @@ -4991,7 +4068,7 @@
  1.4230  msgstr ""
  1.4231  
  1.4232  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4233 -#: ../en/ch04-concepts.xml:703
  1.4234 +#: ../en/ch03-concepts.xml:703
  1.4235  msgid ""
  1.4236  "A few revision control developers have pointed out that this idea of making a "
  1.4237  "complete private copy of a file is not very efficient in its use of storage.  "
  1.4238 @@ -5003,12 +4080,12 @@
  1.4239  msgstr ""
  1.4240  
  1.4241  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4242 -#: ../en/ch04-concepts.xml:715
  1.4243 +#: ../en/ch03-concepts.xml:715
  1.4244  msgid "Other contents of the dirstate"
  1.4245  msgstr "目录状态的其它内容"
  1.4246  
  1.4247  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4248 -#: ../en/ch04-concepts.xml:717
  1.4249 +#: ../en/ch03-concepts.xml:717
  1.4250  msgid ""
  1.4251  "Because Mercurial doesn't force you to tell it when you're modifying a file, "
  1.4252  "it uses the dirstate to store some extra information so it can determine "
  1.4253 @@ -5018,7 +4095,7 @@
  1.4254  msgstr ""
  1.4255  
  1.4256  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4257 -#: ../en/ch04-concepts.xml:724
  1.4258 +#: ../en/ch03-concepts.xml:724
  1.4259  msgid ""
  1.4260  "When you explicitly <command role=\"hg-cmd\">hg add</command>, <command role="
  1.4261  "\"hg-cmd\">hg remove</command>, <command role=\"hg-cmd\">hg rename</command> "
  1.4262 @@ -5027,7 +4104,7 @@
  1.4263  msgstr ""
  1.4264  
  1.4265  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4266 -#: ../en/ch04-concepts.xml:731
  1.4267 +#: ../en/ch03-concepts.xml:731
  1.4268  msgid ""
  1.4269  "When Mercurial is checking the states of files in the working directory, it "
  1.4270  "first checks a file's modification time.  If that has not changed, the file "
  1.4271 @@ -5041,17 +4118,17 @@
  1.4272  msgstr ""
  1.4273  
  1.4274  #. type: Content of: <book><chapter><title>
  1.4275 -#: ../en/ch05-daily.xml:5
  1.4276 +#: ../en/ch04-daily.xml:5
  1.4277  msgid "Mercurial in daily use"
  1.4278  msgstr "Mercurial 的日常使用"
  1.4279  
  1.4280  #. type: Content of: <book><chapter><sect1><title>
  1.4281 -#: ../en/ch05-daily.xml:8
  1.4282 +#: ../en/ch04-daily.xml:8
  1.4283  msgid "Telling Mercurial which files to track"
  1.4284  msgstr "告诉 Mercurial 要跟踪哪些文件"
  1.4285  
  1.4286  #. type: Content of: <book><chapter><sect1><para>
  1.4287 -#: ../en/ch05-daily.xml:10
  1.4288 +#: ../en/ch04-daily.xml:10
  1.4289  msgid ""
  1.4290  "Mercurial does not work with files in your repository unless you tell it to "
  1.4291  "manage them.  The <command role=\"hg-cmd\">hg status</command> command will "
  1.4292 @@ -5061,7 +4138,7 @@
  1.4293  
  1.4294  #
  1.4295  #. type: Content of: <book><chapter><sect1><para>
  1.4296 -#: ../en/ch05-daily.xml:17
  1.4297 +#: ../en/ch04-daily.xml:17
  1.4298  msgid ""
  1.4299  "To tell Mercurial to track a file, use the <command role=\"hg-cmd\">hg add</"
  1.4300  "command> command.  Once you have added a file, the entry in the output of "
  1.4301 @@ -5070,7 +4147,7 @@
  1.4302  msgstr ""
  1.4303  
  1.4304  #. type: Content of: <book><chapter><sect1><para>
  1.4305 -#: ../en/ch05-daily.xml:26
  1.4306 +#: ../en/ch04-daily.xml:26
  1.4307  msgid ""
  1.4308  "After you run a <command role=\"hg-cmd\">hg commit</command>, the files that "
  1.4309  "you added before the commit will no longer be listed in the output of "
  1.4310 @@ -5084,7 +4161,7 @@
  1.4311  msgstr ""
  1.4312  
  1.4313  #. type: Content of: <book><chapter><sect1><para>
  1.4314 -#: ../en/ch05-daily.xml:38
  1.4315 +#: ../en/ch04-daily.xml:38
  1.4316  msgid ""
  1.4317  "Once you add a file, Mercurial doesn't do anything with it immediately.  "
  1.4318  "Instead, it will take a snapshot of the file's state the next time you "
  1.4319 @@ -5093,12 +4170,12 @@
  1.4320  msgstr ""
  1.4321  
  1.4322  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4323 -#: ../en/ch05-daily.xml:45
  1.4324 +#: ../en/ch04-daily.xml:45
  1.4325  msgid "Explicit versus implicit file naming"
  1.4326  msgstr "明确与隐含文件命名"
  1.4327  
  1.4328  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4329 -#: ../en/ch05-daily.xml:47
  1.4330 +#: ../en/ch04-daily.xml:47
  1.4331  msgid ""
  1.4332  "A useful behaviour that Mercurial has is that if you pass the name of a "
  1.4333  "directory to a command, every Mercurial command will treat this as <quote>I "
  1.4334 @@ -5107,7 +4184,7 @@
  1.4335  msgstr ""
  1.4336  
  1.4337  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4338 -#: ../en/ch05-daily.xml:54
  1.4339 +#: ../en/ch04-daily.xml:54
  1.4340  msgid ""
  1.4341  "Notice in this example that Mercurial printed the names of the files it "
  1.4342  "added, whereas it didn't do so when we added the file named <filename>a</"
  1.4343 @@ -5115,7 +4192,7 @@
  1.4344  msgstr ""
  1.4345  
  1.4346  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4347 -#: ../en/ch05-daily.xml:59
  1.4348 +#: ../en/ch04-daily.xml:59
  1.4349  msgid ""
  1.4350  "What's going on is that in the former case, we explicitly named the file to "
  1.4351  "add on the command line, so the assumption that Mercurial makes in such cases "
  1.4352 @@ -5123,7 +4200,7 @@
  1.4353  msgstr ""
  1.4354  
  1.4355  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4356 -#: ../en/ch05-daily.xml:64
  1.4357 +#: ../en/ch04-daily.xml:64
  1.4358  msgid ""
  1.4359  "However, when we <emphasis>imply</emphasis> the names of files by giving the "
  1.4360  "name of a directory, Mercurial takes the extra step of printing the name of "
  1.4361 @@ -5133,12 +4210,12 @@
  1.4362  msgstr ""
  1.4363  
  1.4364  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4365 -#: ../en/ch05-daily.xml:73
  1.4366 +#: ../en/ch04-daily.xml:73
  1.4367  msgid "Aside: Mercurial tracks files, not directories"
  1.4368  msgstr "旁白: Mercurial 只跟踪文件,不跟踪目录"
  1.4369  
  1.4370  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4371 -#: ../en/ch05-daily.xml:75
  1.4372 +#: ../en/ch04-daily.xml:75
  1.4373  msgid ""
  1.4374  "Mercurial does not track directory information.  Instead, it tracks the path "
  1.4375  "to a file.  Before creating a file, it first creates any missing directory "
  1.4376 @@ -5149,7 +4226,7 @@
  1.4377  msgstr ""
  1.4378  
  1.4379  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4380 -#: ../en/ch05-daily.xml:84
  1.4381 +#: ../en/ch04-daily.xml:84
  1.4382  msgid ""
  1.4383  "Empty directories are rarely useful, and there are unintrusive workarounds "
  1.4384  "that you can use to achieve an appropriate effect.  The developers of "
  1.4385 @@ -5158,7 +4235,7 @@
  1.4386  msgstr ""
  1.4387  
  1.4388  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4389 -#: ../en/ch05-daily.xml:91
  1.4390 +#: ../en/ch04-daily.xml:91
  1.4391  msgid ""
  1.4392  "If you need an empty directory in your repository, there are a few ways to "
  1.4393  "achieve this. One is to create a directory, then <command role=\"hg-cmd\">hg "
  1.4394 @@ -5169,20 +4246,20 @@
  1.4395  msgstr ""
  1.4396  
  1.4397  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4398 -#: ../en/ch05-daily.xml:102
  1.4399 +#: ../en/ch04-daily.xml:102
  1.4400  msgid ""
  1.4401  "Another way to tackle a need for an empty directory is to simply create one "
  1.4402  "in your automated build scripts before they will need it."
  1.4403  msgstr ""
  1.4404  
  1.4405  #. type: Content of: <book><chapter><sect1><title>
  1.4406 -#: ../en/ch05-daily.xml:109
  1.4407 +#: ../en/ch04-daily.xml:109
  1.4408  msgid "How to stop tracking a file"
  1.4409  msgstr "如何停止跟踪文件"
  1.4410  
  1.4411  #
  1.4412  #. type: Content of: <book><chapter><sect1><para>
  1.4413 -#: ../en/ch05-daily.xml:111
  1.4414 +#: ../en/ch04-daily.xml:111
  1.4415  msgid ""
  1.4416  "Once you decide that a file no longer belongs in your repository, use the "
  1.4417  "<command role=\"hg-cmd\">hg remove</command> command; this deletes the file, "
  1.4418 @@ -5192,7 +4269,7 @@
  1.4419  msgstr ""
  1.4420  
  1.4421  #. type: Content of: <book><chapter><sect1><para>
  1.4422 -#: ../en/ch05-daily.xml:120
  1.4423 +#: ../en/ch04-daily.xml:120
  1.4424  msgid ""
  1.4425  "After you <command role=\"hg-cmd\">hg remove</command> a file, Mercurial will "
  1.4426  "no longer track changes to that file, even if you recreate a file with the "
  1.4427 @@ -5203,36 +4280,36 @@
  1.4428  msgstr ""
  1.4429  
  1.4430  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4431 -#: ../en/ch05-daily.xml:129
  1.4432 +#: ../en/ch04-daily.xml:129
  1.4433  msgid "Removing a file does not affect its history"
  1.4434  msgstr "删除文件不影响历史"
  1.4435  
  1.4436  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4437 -#: ../en/ch05-daily.xml:131
  1.4438 +#: ../en/ch04-daily.xml:131
  1.4439  msgid "It is important to understand that removing a file has only two effects."
  1.4440  msgstr ""
  1.4441  
  1.4442  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4443 -#: ../en/ch05-daily.xml:134
  1.4444 +#: ../en/ch04-daily.xml:134
  1.4445  msgid "It removes the current version of the file from the working directory."
  1.4446  msgstr ""
  1.4447  
  1.4448  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4449 -#: ../en/ch05-daily.xml:137
  1.4450 +#: ../en/ch04-daily.xml:137
  1.4451  msgid ""
  1.4452  "It stops Mercurial from tracking changes to the file, from the time of the "
  1.4453  "next commit."
  1.4454  msgstr ""
  1.4455  
  1.4456  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4457 -#: ../en/ch05-daily.xml:140
  1.4458 +#: ../en/ch04-daily.xml:140
  1.4459  msgid ""
  1.4460  "Removing a file <emphasis>does not</emphasis> in any way alter the "
  1.4461  "<emphasis>history</emphasis> of the file."
  1.4462  msgstr ""
  1.4463  
  1.4464  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4465 -#: ../en/ch05-daily.xml:143
  1.4466 +#: ../en/ch04-daily.xml:143
  1.4467  msgid ""
  1.4468  "If you update the working directory to a changeset in which a file that you "
  1.4469  "have removed was still tracked, it will reappear in the working directory, "
  1.4470 @@ -5242,12 +4319,12 @@
  1.4471  msgstr ""
  1.4472  
  1.4473  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4474 -#: ../en/ch05-daily.xml:153
  1.4475 +#: ../en/ch04-daily.xml:153
  1.4476  msgid "Missing files"
  1.4477  msgstr "丢失的文件"
  1.4478  
  1.4479  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4480 -#: ../en/ch05-daily.xml:155
  1.4481 +#: ../en/ch04-daily.xml:155
  1.4482  msgid ""
  1.4483  "Mercurial considers a file that you have deleted, but not used <command role="
  1.4484  "\"hg-cmd\">hg remove</command> to delete, to be <emphasis>missing</"
  1.4485 @@ -5257,7 +4334,7 @@
  1.4486  msgstr ""
  1.4487  
  1.4488  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4489 -#: ../en/ch05-daily.xml:165
  1.4490 +#: ../en/ch04-daily.xml:165
  1.4491  msgid ""
  1.4492  "If your repository contains a file that <command role=\"hg-cmd\">hg status</"
  1.4493  "command> reports as missing, and you want the file to stay gone, you can run "
  1.4494 @@ -5267,7 +4344,7 @@
  1.4495  msgstr ""
  1.4496  
  1.4497  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4498 -#: ../en/ch05-daily.xml:175
  1.4499 +#: ../en/ch04-daily.xml:175
  1.4500  msgid ""
  1.4501  "On the other hand, if you deleted the missing file by accident, give <command "
  1.4502  "role=\"hg-cmd\">hg revert</command> the name of the file to recover.  It will "
  1.4503 @@ -5275,12 +4352,12 @@
  1.4504  msgstr ""
  1.4505  
  1.4506  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4507 -#: ../en/ch05-daily.xml:184
  1.4508 +#: ../en/ch04-daily.xml:184
  1.4509  msgid "Aside: why tell Mercurial explicitly to remove a file?"
  1.4510  msgstr "旁白: 为什么要明确告诉 Mercurial 删除文件?"
  1.4511  
  1.4512  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4513 -#: ../en/ch05-daily.xml:187
  1.4514 +#: ../en/ch04-daily.xml:187
  1.4515  msgid ""
  1.4516  "You might wonder why Mercurial requires you to explicitly tell it that you "
  1.4517  "are deleting a file.  Early during the development of Mercurial, it let you "
  1.4518 @@ -5291,12 +4368,12 @@
  1.4519  msgstr ""
  1.4520  
  1.4521  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4522 -#: ../en/ch05-daily.xml:198
  1.4523 +#: ../en/ch04-daily.xml:198
  1.4524  msgid "Useful shorthand&emdash;adding and removing files in one step"
  1.4525  msgstr "有用的速记&emdash;一个步骤添加和删除文件"
  1.4526  
  1.4527  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4528 -#: ../en/ch05-daily.xml:201
  1.4529 +#: ../en/ch04-daily.xml:201
  1.4530  msgid ""
  1.4531  "Mercurial offers a combination command, <command role=\"hg-cmd\">hg "
  1.4532  "addremove</command>, that adds untracked files and marks missing files as "
  1.4533 @@ -5304,7 +4381,7 @@
  1.4534  msgstr ""
  1.4535  
  1.4536  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4537 -#: ../en/ch05-daily.xml:207
  1.4538 +#: ../en/ch04-daily.xml:207
  1.4539  msgid ""
  1.4540  "The <command role=\"hg-cmd\">hg commit</command> command also provides a "
  1.4541  "<option role=\"hg-opt-commit\">-A</option> option that performs this same add-"
  1.4542 @@ -5312,12 +4389,12 @@
  1.4543  msgstr ""
  1.4544  
  1.4545  #. type: Content of: <book><chapter><sect1><title>
  1.4546 -#: ../en/ch05-daily.xml:217
  1.4547 +#: ../en/ch04-daily.xml:217
  1.4548  msgid "Copying files"
  1.4549  msgstr "复制文件"
  1.4550  
  1.4551  #. type: Content of: <book><chapter><sect1><para>
  1.4552 -#: ../en/ch05-daily.xml:219
  1.4553 +#: ../en/ch04-daily.xml:219
  1.4554  msgid ""
  1.4555  "Mercurial provides a <command role=\"hg-cmd\">hg copy</command> command that "
  1.4556  "lets you make a new copy of a file.  When you copy a file using this command, "
  1.4557 @@ -5327,12 +4404,12 @@
  1.4558  msgstr ""
  1.4559  
  1.4560  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4561 -#: ../en/ch05-daily.xml:227
  1.4562 +#: ../en/ch04-daily.xml:227
  1.4563  msgid "The results of copying during a merge"
  1.4564  msgstr "合并期间的复制结果"
  1.4565  
  1.4566  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4567 -#: ../en/ch05-daily.xml:229
  1.4568 +#: ../en/ch04-daily.xml:229
  1.4569  msgid ""
  1.4570  "What happens during a merge is that changes <quote>follow</quote> a copy.  To "
  1.4571  "best illustrate what this means, let's create an example.  We'll start with "
  1.4572 @@ -5340,28 +4417,28 @@
  1.4573  msgstr ""
  1.4574  
  1.4575  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4576 -#: ../en/ch05-daily.xml:236
  1.4577 +#: ../en/ch04-daily.xml:236
  1.4578  msgid ""
  1.4579  "We need to do some work in parallel, so that we'll have something to merge.  "
  1.4580  "So let's clone our repository."
  1.4581  msgstr ""
  1.4582  
  1.4583  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4584 -#: ../en/ch05-daily.xml:242
  1.4585 +#: ../en/ch04-daily.xml:242
  1.4586  msgid ""
  1.4587  "Back in our initial repository, let's use the <command role=\"hg-cmd\">hg "
  1.4588  "copy</command> command to make a copy of the first file we created."
  1.4589  msgstr ""
  1.4590  
  1.4591  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4592 -#: ../en/ch05-daily.xml:248
  1.4593 +#: ../en/ch04-daily.xml:248
  1.4594  msgid ""
  1.4595  "If we look at the output of the <command role=\"hg-cmd\">hg status</command> "
  1.4596  "command afterwards, the copied file looks just like a normal added file."
  1.4597  msgstr ""
  1.4598  
  1.4599  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4600 -#: ../en/ch05-daily.xml:254
  1.4601 +#: ../en/ch04-daily.xml:254
  1.4602  msgid ""
  1.4603  "But if we pass the <option role=\"hg-opt-status\">-C</option> option to "
  1.4604  "<command role=\"hg-cmd\">hg status</command>, it prints another line of "
  1.4605 @@ -5370,14 +4447,14 @@
  1.4606  msgstr ""
  1.4607  
  1.4608  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4609 -#: ../en/ch05-daily.xml:262
  1.4610 +#: ../en/ch04-daily.xml:262
  1.4611  msgid ""
  1.4612  "Now, back in the repository we cloned, let's make a change in parallel.  "
  1.4613  "We'll add a line of content to the original file that we created."
  1.4614  msgstr ""
  1.4615  
  1.4616  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4617 -#: ../en/ch05-daily.xml:268
  1.4618 +#: ../en/ch04-daily.xml:268
  1.4619  msgid ""
  1.4620  "Now we have a modified <filename>file</filename> in this repository.  When we "
  1.4621  "pull the changes from the first repository, and merge the two heads, "
  1.4622 @@ -5386,19 +4463,19 @@
  1.4623  msgstr ""
  1.4624  
  1.4625  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4626 -#: ../en/ch05-daily.xml:278
  1.4627 +#: ../en/ch04-daily.xml:278
  1.4628  msgid "Why should changes follow copies?"
  1.4629  msgstr "为什么复制后需要后续修改?"
  1.4630  
  1.4631  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4632 -#: ../en/ch05-daily.xml:280
  1.4633 +#: ../en/ch04-daily.xml:280
  1.4634  msgid ""
  1.4635  "This behaviour, of changes to a file propagating out to copies of the file, "
  1.4636  "might seem esoteric, but in most cases it's highly desirable."
  1.4637  msgstr ""
  1.4638  
  1.4639  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4640 -#: ../en/ch05-daily.xml:284
  1.4641 +#: ../en/ch04-daily.xml:284
  1.4642  msgid ""
  1.4643  "First of all, remember that this propagation <emphasis>only</emphasis> "
  1.4644  "happens when you merge.  So if you <command role=\"hg-cmd\">hg copy</command> "
  1.4645 @@ -5407,7 +4484,7 @@
  1.4646  msgstr ""
  1.4647  
  1.4648  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4649 -#: ../en/ch05-daily.xml:290
  1.4650 +#: ../en/ch04-daily.xml:290
  1.4651  msgid ""
  1.4652  "The second thing to know is that modifications will only propagate across a "
  1.4653  "copy as long as the repository that you're pulling changes from "
  1.4654 @@ -5415,7 +4492,7 @@
  1.4655  msgstr ""
  1.4656  
  1.4657  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4658 -#: ../en/ch05-daily.xml:295
  1.4659 +#: ../en/ch04-daily.xml:295
  1.4660  msgid ""
  1.4661  "The reason that Mercurial does this is as follows.  Let's say I make an "
  1.4662  "important bug fix in a source file, and commit my changes. Meanwhile, you've "
  1.4663 @@ -5425,7 +4502,7 @@
  1.4664  msgstr ""
  1.4665  
  1.4666  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4667 -#: ../en/ch05-daily.xml:302
  1.4668 +#: ../en/ch04-daily.xml:302
  1.4669  msgid ""
  1.4670  "If you pulled and merged my changes, and Mercurial <emphasis>didn't</"
  1.4671  "emphasis> propagate changes across copies, your source file would now contain "
  1.4672 @@ -5434,7 +4511,7 @@
  1.4673  msgstr ""
  1.4674  
  1.4675  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4676 -#: ../en/ch05-daily.xml:308
  1.4677 +#: ../en/ch04-daily.xml:308
  1.4678  msgid ""
  1.4679  "By automatically propagating the change that fixed the bug from the original "
  1.4680  "file to the copy, Mercurial prevents this class of problem. To my knowledge, "
  1.4681 @@ -5443,7 +4520,7 @@
  1.4682  msgstr ""
  1.4683  
  1.4684  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4685 -#: ../en/ch05-daily.xml:314
  1.4686 +#: ../en/ch04-daily.xml:314
  1.4687  msgid ""
  1.4688  "Once your change history has a record that the copy and subsequent merge "
  1.4689  "occurred, there's usually no further need to propagate changes from the "
  1.4690 @@ -5452,12 +4529,12 @@
  1.4691  msgstr ""
  1.4692  
  1.4693  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4694 -#: ../en/ch05-daily.xml:322
  1.4695 +#: ../en/ch04-daily.xml:322
  1.4696  msgid "How to make changes <emphasis>not</emphasis> follow a copy"
  1.4697  msgstr "如何让复制后<emphasis>不</emphasis>修改?"
  1.4698  
  1.4699  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4700 -#: ../en/ch05-daily.xml:325
  1.4701 +#: ../en/ch04-daily.xml:325
  1.4702  msgid ""
  1.4703  "If, for some reason, you decide that this business of automatically "
  1.4704  "propagating changes across copies is not for you, simply use your system's "
  1.4705 @@ -5469,12 +4546,12 @@
  1.4706  msgstr ""
  1.4707  
  1.4708  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4709 -#: ../en/ch05-daily.xml:338
  1.4710 +#: ../en/ch04-daily.xml:338
  1.4711  msgid "Behaviour of the <command role=\"hg-cmd\">hg copy</command> command"
  1.4712  msgstr "命令 <command role=\"hg-cmd\">hg copy</command> 的特性"
  1.4713  
  1.4714  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4715 -#: ../en/ch05-daily.xml:341
  1.4716 +#: ../en/ch04-daily.xml:341
  1.4717  msgid ""
  1.4718  "When you use the <command role=\"hg-cmd\">hg copy</command> command, "
  1.4719  "Mercurial makes a copy of each source file as it currently stands in the "
  1.4720 @@ -5486,7 +4563,7 @@
  1.4721  msgstr ""
  1.4722  
  1.4723  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4724 -#: ../en/ch05-daily.xml:351
  1.4725 +#: ../en/ch04-daily.xml:351
  1.4726  msgid ""
  1.4727  "The <command role=\"hg-cmd\">hg copy</command> command acts similarly to the "
  1.4728  "Unix <command>cp</command> command (you can use the <command role=\"hg-cmd"
  1.4729 @@ -5497,21 +4574,21 @@
  1.4730  msgstr ""
  1.4731  
  1.4732  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4733 -#: ../en/ch05-daily.xml:362
  1.4734 +#: ../en/ch04-daily.xml:362
  1.4735  msgid ""
  1.4736  "If the destination is a directory, Mercurial copies its sources into that "
  1.4737  "directory."
  1.4738  msgstr ""
  1.4739  
  1.4740  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4741 -#: ../en/ch05-daily.xml:367
  1.4742 +#: ../en/ch04-daily.xml:367
  1.4743  msgid ""
  1.4744  "Copying a directory is recursive, and preserves the directory structure of "
  1.4745  "the source."
  1.4746  msgstr ""
  1.4747  
  1.4748  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4749 -#: ../en/ch05-daily.xml:373
  1.4750 +#: ../en/ch04-daily.xml:373
  1.4751  msgid ""
  1.4752  "If the source and destination are both directories, the source tree is "
  1.4753  "recreated in the destination directory."
  1.4754 @@ -5519,7 +4596,7 @@
  1.4755  
  1.4756  #
  1.4757  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4758 -#: ../en/ch05-daily.xml:378
  1.4759 +#: ../en/ch04-daily.xml:378
  1.4760  msgid ""
  1.4761  "As with the <command role=\"hg-cmd\">hg rename</command> command, if you copy "
  1.4762  "a file manually and then want Mercurial to know that you've copied the file, "
  1.4763 @@ -5528,12 +4605,12 @@
  1.4764  msgstr ""
  1.4765  
  1.4766  #. type: Content of: <book><chapter><sect1><title>
  1.4767 -#: ../en/ch05-daily.xml:389
  1.4768 +#: ../en/ch04-daily.xml:389
  1.4769  msgid "Renaming files"
  1.4770  msgstr "改名文件"
  1.4771  
  1.4772  #. type: Content of: <book><chapter><sect1><para>
  1.4773 -#: ../en/ch05-daily.xml:391
  1.4774 +#: ../en/ch04-daily.xml:391
  1.4775  msgid ""
  1.4776  "It's rather more common to need to rename a file than to make a copy of it.  "
  1.4777  "The reason I discussed the <command role=\"hg-cmd\">hg copy</command> command "
  1.4778 @@ -5543,7 +4620,7 @@
  1.4779  msgstr ""
  1.4780  
  1.4781  #. type: Content of: <book><chapter><sect1><para>
  1.4782 -#: ../en/ch05-daily.xml:399
  1.4783 +#: ../en/ch04-daily.xml:399
  1.4784  msgid ""
  1.4785  "When you use the <command role=\"hg-cmd\">hg rename</command> command, "
  1.4786  "Mercurial makes a copy of each source file, then deletes it and marks the "
  1.4787 @@ -5551,14 +4628,14 @@
  1.4788  msgstr ""
  1.4789  
  1.4790  #. type: Content of: <book><chapter><sect1><para>
  1.4791 -#: ../en/ch05-daily.xml:405
  1.4792 +#: ../en/ch04-daily.xml:405
  1.4793  msgid ""
  1.4794  "The <command role=\"hg-cmd\">hg status</command> command shows the newly "
  1.4795  "copied file as added, and the copied-from file as removed."
  1.4796  msgstr ""
  1.4797  
  1.4798  #. type: Content of: <book><chapter><sect1><para>
  1.4799 -#: ../en/ch05-daily.xml:411
  1.4800 +#: ../en/ch04-daily.xml:411
  1.4801  msgid ""
  1.4802  "As with the results of a <command role=\"hg-cmd\">hg copy</command>, we must "
  1.4803  "use the <option role=\"hg-opt-status\">-C</option> option to <command role="
  1.4804 @@ -5567,7 +4644,7 @@
  1.4805  msgstr ""
  1.4806  
  1.4807  #. type: Content of: <book><chapter><sect1><para>
  1.4808 -#: ../en/ch05-daily.xml:420
  1.4809 +#: ../en/ch04-daily.xml:420
  1.4810  msgid ""
  1.4811  "As with <command role=\"hg-cmd\">hg remove</command> and <command role=\"hg-"
  1.4812  "cmd\">hg copy</command>, you can tell Mercurial about a rename after the fact "
  1.4813 @@ -5578,19 +4655,19 @@
  1.4814  msgstr ""
  1.4815  
  1.4816  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4817 -#: ../en/ch05-daily.xml:430
  1.4818 +#: ../en/ch04-daily.xml:430
  1.4819  msgid "Renaming files and merging changes"
  1.4820  msgstr "改名文件与合并修改"
  1.4821  
  1.4822  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4823 -#: ../en/ch05-daily.xml:432
  1.4824 +#: ../en/ch04-daily.xml:432
  1.4825  msgid ""
  1.4826  "Since Mercurial's rename is implemented as copy-and-remove, the same "
  1.4827  "propagation of changes happens when you merge after a rename as after a copy."
  1.4828  msgstr ""
  1.4829  
  1.4830  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4831 -#: ../en/ch05-daily.xml:436
  1.4832 +#: ../en/ch04-daily.xml:436
  1.4833  msgid ""
  1.4834  "If I modify a file, and you rename it to a new name, and then we merge our "
  1.4835  "respective changes, my modifications to the file under its original name will "
  1.4836 @@ -5600,7 +4677,7 @@
  1.4837  msgstr ""
  1.4838  
  1.4839  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4840 -#: ../en/ch05-daily.xml:443
  1.4841 +#: ../en/ch04-daily.xml:443
  1.4842  msgid ""
  1.4843  "Whereas having changes follow a copy is a feature where you can perhaps nod "
  1.4844  "and say <quote>yes, that might be useful,</quote> it should be clear that "
  1.4845 @@ -5610,12 +4687,12 @@
  1.4846  msgstr ""
  1.4847  
  1.4848  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4849 -#: ../en/ch05-daily.xml:452
  1.4850 +#: ../en/ch04-daily.xml:452
  1.4851  msgid "Divergent renames and merging"
  1.4852  msgstr "改名与合并的分歧"
  1.4853  
  1.4854  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4855 -#: ../en/ch05-daily.xml:454
  1.4856 +#: ../en/ch04-daily.xml:454
  1.4857  msgid ""
  1.4858  "The case of diverging names occurs when two developers start with a "
  1.4859  "file&emdash;let's call it <filename>foo</filename>&emdash;in their respective "
  1.4860 @@ -5623,17 +4700,17 @@
  1.4861  msgstr ""
  1.4862  
  1.4863  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4864 -#: ../en/ch05-daily.xml:461
  1.4865 +#: ../en/ch04-daily.xml:461
  1.4866  msgid "Anne renames the file to <filename>bar</filename>."
  1.4867  msgstr ""
  1.4868  
  1.4869  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4870 -#: ../en/ch05-daily.xml:465
  1.4871 +#: ../en/ch04-daily.xml:465
  1.4872  msgid "Meanwhile, Bob renames it to <filename>quux</filename>."
  1.4873  msgstr ""
  1.4874  
  1.4875  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4876 -#: ../en/ch05-daily.xml:470
  1.4877 +#: ../en/ch04-daily.xml:470
  1.4878  msgid ""
  1.4879  "I like to think of this as a conflict because each developer has expressed "
  1.4880  "different intentions about what the file ought to be named."
  1.4881 @@ -5641,7 +4718,7 @@
  1.4882  
  1.4883  #
  1.4884  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4885 -#: ../en/ch05-daily.xml:474
  1.4886 +#: ../en/ch04-daily.xml:474
  1.4887  msgid ""
  1.4888  "What do you think should happen when they merge their work? Mercurial's "
  1.4889  "actual behaviour is that it always preserves <emphasis>both</emphasis> names "
  1.4890 @@ -5649,19 +4726,19 @@
  1.4891  msgstr ""
  1.4892  
  1.4893  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4894 -#: ../en/ch05-daily.xml:481
  1.4895 +#: ../en/ch04-daily.xml:481
  1.4896  msgid ""
  1.4897  "Notice that Mercurial does warn about the divergent renames, but it leaves it "
  1.4898  "up to you to do something about the divergence after the merge."
  1.4899  msgstr ""
  1.4900  
  1.4901  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4902 -#: ../en/ch05-daily.xml:487
  1.4903 +#: ../en/ch04-daily.xml:487
  1.4904  msgid "Convergent renames and merging"
  1.4905  msgstr "收敛改名与合并"
  1.4906  
  1.4907  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4908 -#: ../en/ch05-daily.xml:489
  1.4909 +#: ../en/ch04-daily.xml:489
  1.4910  msgid ""
  1.4911  "Another kind of rename conflict occurs when two people choose to rename "
  1.4912  "different <emphasis>source</emphasis> files to the same "
  1.4913 @@ -5670,12 +4747,12 @@
  1.4914  msgstr ""
  1.4915  
  1.4916  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4917 -#: ../en/ch05-daily.xml:497
  1.4918 +#: ../en/ch04-daily.xml:497
  1.4919  msgid "Other name-related corner cases"
  1.4920  msgstr "其它名称相关的角落"
  1.4921  
  1.4922  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4923 -#: ../en/ch05-daily.xml:499
  1.4924 +#: ../en/ch04-daily.xml:499
  1.4925  msgid ""
  1.4926  "Mercurial has a longstanding bug in which it fails to handle a merge where "
  1.4927  "one side has a file with a given name, while another has a directory with the "
  1.4928 @@ -5684,19 +4761,19 @@
  1.4929  msgstr ""
  1.4930  
  1.4931  #. type: Content of: <book><chapter><sect1><title>
  1.4932 -#: ../en/ch05-daily.xml:511
  1.4933 +#: ../en/ch04-daily.xml:511
  1.4934  msgid "Recovering from mistakes"
  1.4935  msgstr "从错误恢复"
  1.4936  
  1.4937  #. type: Content of: <book><chapter><sect1><para>
  1.4938 -#: ../en/ch05-daily.xml:513
  1.4939 +#: ../en/ch04-daily.xml:513
  1.4940  msgid ""
  1.4941  "Mercurial has some useful commands that will help you to recover from some "
  1.4942  "common mistakes."
  1.4943  msgstr ""
  1.4944  
  1.4945  #. type: Content of: <book><chapter><sect1><para>
  1.4946 -#: ../en/ch05-daily.xml:516
  1.4947 +#: ../en/ch04-daily.xml:516
  1.4948  msgid ""
  1.4949  "The <command role=\"hg-cmd\">hg revert</command> command lets you undo "
  1.4950  "changes that you have made to your working directory.  For example, if you "
  1.4951 @@ -5708,7 +4785,7 @@
  1.4952  msgstr ""
  1.4953  
  1.4954  #. type: Content of: <book><chapter><sect1><para>
  1.4955 -#: ../en/ch05-daily.xml:526
  1.4956 +#: ../en/ch04-daily.xml:526
  1.4957  msgid ""
  1.4958  "It's useful to remember that the <command role=\"hg-cmd\">hg revert</command> "
  1.4959  "command is useful for changes that you have not yet committed.  Once you've "
  1.4960 @@ -5717,7 +4794,7 @@
  1.4961  msgstr ""
  1.4962  
  1.4963  #. type: Content of: <book><chapter><sect1><para>
  1.4964 -#: ../en/ch05-daily.xml:532
  1.4965 +#: ../en/ch04-daily.xml:532
  1.4966  msgid ""
  1.4967  "For more information about the <command role=\"hg-cmd\">hg revert</command> "
  1.4968  "command, and details about how to deal with changes you have already "
  1.4969 @@ -5725,12 +4802,12 @@
  1.4970  msgstr ""
  1.4971  
  1.4972  #. type: Content of: <book><chapter><title>
  1.4973 -#: ../en/ch06-collab.xml:5
  1.4974 +#: ../en/ch05-collab.xml:5
  1.4975  msgid "Collaborating with other people"
  1.4976  msgstr "团体协作"
  1.4977  
  1.4978  #. type: Content of: <book><chapter><para>
  1.4979 -#: ../en/ch06-collab.xml:7
  1.4980 +#: ../en/ch05-collab.xml:7
  1.4981  msgid ""
  1.4982  "As a completely decentralised tool, Mercurial doesn't impose any policy on "
  1.4983  "how people ought to work with each other.  However, if you're new to "
  1.4984 @@ -5739,19 +4816,19 @@
  1.4985  msgstr ""
  1.4986  
  1.4987  #. type: Content of: <book><chapter><sect1><title>
  1.4988 -#: ../en/ch06-collab.xml:14
  1.4989 +#: ../en/ch05-collab.xml:14
  1.4990  msgid "Mercurial's web interface"
  1.4991  msgstr "Mercurial 的 web 接口"
  1.4992  
  1.4993  #. type: Content of: <book><chapter><sect1><para>
  1.4994 -#: ../en/ch06-collab.xml:16
  1.4995 +#: ../en/ch05-collab.xml:16
  1.4996  msgid ""
  1.4997  "Mercurial has a powerful web interface that provides several useful "
  1.4998  "capabilities."
  1.4999  msgstr ""
  1.5000  
  1.5001  #. type: Content of: <book><chapter><sect1><para>
  1.5002 -#: ../en/ch06-collab.xml:19
  1.5003 +#: ../en/ch05-collab.xml:19
  1.5004  msgid ""
  1.5005  "For interactive use, the web interface lets you browse a single repository or "
  1.5006  "a collection of repositories.  You can view the history of a repository, "
  1.5007 @@ -5760,7 +4837,7 @@
  1.5008  msgstr ""
  1.5009  
  1.5010  #. type: Content of: <book><chapter><sect1><para>
  1.5011 -#: ../en/ch06-collab.xml:24
  1.5012 +#: ../en/ch05-collab.xml:24
  1.5013  msgid ""
  1.5014  "Also for human consumption, the web interface provides an RSS feed of the "
  1.5015  "changes in a repository.  This lets you <quote>subscribe</quote> to a "
  1.5016 @@ -5772,7 +4849,7 @@
  1.5017  msgstr ""
  1.5018  
  1.5019  #. type: Content of: <book><chapter><sect1><para>
  1.5020 -#: ../en/ch06-collab.xml:34
  1.5021 +#: ../en/ch05-collab.xml:34
  1.5022  msgid ""
  1.5023  "The web interface also lets remote users clone a repository, pull changes "
  1.5024  "from it, and (when the server is configured to permit it) push changes back "
  1.5025 @@ -5781,7 +4858,7 @@
  1.5026  msgstr ""
  1.5027  
  1.5028  #. type: Content of: <book><chapter><sect1><para>
  1.5029 -#: ../en/ch06-collab.xml:40
  1.5030 +#: ../en/ch05-collab.xml:40
  1.5031  msgid ""
  1.5032  "The easiest way to get started with the web interface is to use your web "
  1.5033  "browser to visit an existing repository, such as the master Mercurial "
  1.5034 @@ -5790,7 +4867,7 @@
  1.5035  msgstr ""
  1.5036  
  1.5037  #. type: Content of: <book><chapter><sect1><para>
  1.5038 -#: ../en/ch06-collab.xml:45
  1.5039 +#: ../en/ch05-collab.xml:45
  1.5040  msgid ""
  1.5041  "If you're interested in providing a web interface to your own repositories, "
  1.5042  "Mercurial provides two ways to do this.  The first is using the <command role="
  1.5043 @@ -5804,12 +4881,12 @@
  1.5044  msgstr ""
  1.5045  
  1.5046  #. type: Content of: <book><chapter><sect1><title>
  1.5047 -#: ../en/ch06-collab.xml:60
  1.5048 +#: ../en/ch05-collab.xml:60
  1.5049  msgid "Collaboration models"
  1.5050  msgstr "协作模型"
  1.5051  
  1.5052  #. type: Content of: <book><chapter><sect1><para>
  1.5053 -#: ../en/ch06-collab.xml:62
  1.5054 +#: ../en/ch05-collab.xml:62
  1.5055  msgid ""
  1.5056  "With a suitably flexible tool, making decisions about workflow is much more "
  1.5057  "of a social engineering challenge than a technical one. Mercurial imposes few "
  1.5058 @@ -5819,12 +4896,12 @@
  1.5059  msgstr ""
  1.5060  
  1.5061  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5062 -#: ../en/ch06-collab.xml:70
  1.5063 +#: ../en/ch05-collab.xml:70
  1.5064  msgid "Factors to keep in mind"
  1.5065  msgstr "要牢记的因素"
  1.5066  
  1.5067  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5068 -#: ../en/ch06-collab.xml:72
  1.5069 +#: ../en/ch05-collab.xml:72
  1.5070  msgid ""
  1.5071  "The most important aspect of any model that you must keep in mind is how well "
  1.5072  "it matches the needs and capabilities of the people who will be using it.  "
  1.5073 @@ -5833,7 +4910,7 @@
  1.5074  msgstr ""
  1.5075  
  1.5076  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5077 -#: ../en/ch06-collab.xml:78
  1.5078 +#: ../en/ch05-collab.xml:78
  1.5079  msgid ""
  1.5080  "I once put together a workflow model that seemed to make perfect sense to me, "
  1.5081  "but that caused a considerable amount of consternation and strife within my "
  1.5082 @@ -5846,7 +4923,7 @@
  1.5083  msgstr ""
  1.5084  
  1.5085  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5086 -#: ../en/ch06-collab.xml:88
  1.5087 +#: ../en/ch05-collab.xml:88
  1.5088  msgid ""
  1.5089  "Don't sweep foreseeable social or technical problems under the rug. Whatever "
  1.5090  "scheme you put into effect, you should plan for mistakes and problem "
  1.5091 @@ -5860,12 +4937,12 @@
  1.5092  msgstr ""
  1.5093  
  1.5094  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5095 -#: ../en/ch06-collab.xml:102
  1.5096 +#: ../en/ch05-collab.xml:102
  1.5097  msgid "Informal anarchy"
  1.5098  msgstr "无政府状态"
  1.5099  
  1.5100  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5101 -#: ../en/ch06-collab.xml:104
  1.5102 +#: ../en/ch05-collab.xml:104
  1.5103  msgid ""
  1.5104  "I wouldn't suggest an <quote>anything goes</quote> approach as something "
  1.5105  "sustainable, but it's a model that's easy to grasp, and it works perfectly "
  1.5106 @@ -5873,7 +4950,7 @@
  1.5107  msgstr ""
  1.5108  
  1.5109  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5110 -#: ../en/ch06-collab.xml:109
  1.5111 +#: ../en/ch05-collab.xml:109
  1.5112  msgid ""
  1.5113  "As one example, many projects have a loose-knit group of collaborators who "
  1.5114  "rarely physically meet each other.  Some groups like to overcome the "
  1.5115 @@ -5885,7 +4962,7 @@
  1.5116  msgstr ""
  1.5117  
  1.5118  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5119 -#: ../en/ch06-collab.xml:118
  1.5120 +#: ../en/ch05-collab.xml:118
  1.5121  msgid ""
  1.5122  "A sprint is the perfect place to use the <command role=\"hg-cmd\">hg serve</"
  1.5123  "command> command, since <command role=\"hg-cmd\">hg serve</command> does not "
  1.5124 @@ -5900,7 +4977,7 @@
  1.5125  msgstr ""
  1.5126  
  1.5127  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5128 -#: ../en/ch06-collab.xml:132
  1.5129 +#: ../en/ch05-collab.xml:132
  1.5130  msgid ""
  1.5131  "The charm, and the problem, with doing things in an ad hoc fashion like this "
  1.5132  "is that only people who know about your changes, and where they are, can see "
  1.5133 @@ -5910,12 +4987,12 @@
  1.5134  msgstr ""
  1.5135  
  1.5136  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5137 -#: ../en/ch06-collab.xml:141
  1.5138 +#: ../en/ch05-collab.xml:141
  1.5139  msgid "A single central repository"
  1.5140  msgstr "单一中央版本库"
  1.5141  
  1.5142  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5143 -#: ../en/ch06-collab.xml:143
  1.5144 +#: ../en/ch05-collab.xml:143
  1.5145  msgid ""
  1.5146  "For smaller projects migrating from a centralised revision control tool, "
  1.5147  "perhaps the easiest way to get started is to have changes flow through a "
  1.5148 @@ -5924,7 +5001,7 @@
  1.5149  msgstr ""
  1.5150  
  1.5151  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5152 -#: ../en/ch06-collab.xml:149
  1.5153 +#: ../en/ch05-collab.xml:149
  1.5154  msgid ""
  1.5155  "Contributors start by cloning a copy of this repository.  They can pull "
  1.5156  "changes from it whenever they need to, and some (perhaps all) developers have "
  1.5157 @@ -5933,7 +5010,7 @@
  1.5158  msgstr ""
  1.5159  
  1.5160  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5161 -#: ../en/ch06-collab.xml:154
  1.5162 +#: ../en/ch05-collab.xml:154
  1.5163  msgid ""
  1.5164  "Under this model, it can still often make sense for people to pull changes "
  1.5165  "directly from each other, without going through the central repository.  "
  1.5166 @@ -5946,7 +5023,7 @@
  1.5167  msgstr ""
  1.5168  
  1.5169  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5170 -#: ../en/ch06-collab.xml:165
  1.5171 +#: ../en/ch05-collab.xml:165
  1.5172  msgid ""
  1.5173  "In this kind of scenario, people usually use the <command>ssh</command> "
  1.5174  "protocol to securely push changes to the central repository, as documented in "
  1.5175 @@ -5958,12 +5035,12 @@
  1.5176  msgstr ""
  1.5177  
  1.5178  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5179 -#: ../en/ch06-collab.xml:178
  1.5180 +#: ../en/ch05-collab.xml:178
  1.5181  msgid "Working with multiple branches"
  1.5182  msgstr "使用多个分支工作"
  1.5183  
  1.5184  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5185 -#: ../en/ch06-collab.xml:180
  1.5186 +#: ../en/ch05-collab.xml:180
  1.5187  msgid ""
  1.5188  "Projects of any significant size naturally tend to make progress on several "
  1.5189  "fronts simultaneously.  In the case of software, it's common for a project to "
  1.5190 @@ -5977,7 +5054,7 @@
  1.5191  msgstr ""
  1.5192  
  1.5193  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5194 -#: ../en/ch06-collab.xml:193
  1.5195 +#: ../en/ch05-collab.xml:193
  1.5196  msgid ""
  1.5197  "Mercurial is particularly well suited to managing a number of simultaneous, "
  1.5198  "but not identical, branches.  Each <quote>development direction</quote> can "
  1.5199 @@ -5988,19 +5065,19 @@
  1.5200  msgstr ""
  1.5201  
  1.5202  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5203 -#: ../en/ch06-collab.xml:202
  1.5204 +#: ../en/ch05-collab.xml:202
  1.5205  msgid ""
  1.5206  "Here's an example of how this can work in practice.  Let's say you have one "
  1.5207  "<quote>main branch</quote> on a central server."
  1.5208  msgstr ""
  1.5209  
  1.5210  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5211 -#: ../en/ch06-collab.xml:208
  1.5212 +#: ../en/ch05-collab.xml:208
  1.5213  msgid "People clone it, make changes locally, test them, and push them back."
  1.5214  msgstr ""
  1.5215  
  1.5216  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5217 -#: ../en/ch06-collab.xml:211
  1.5218 +#: ../en/ch05-collab.xml:211
  1.5219  msgid ""
  1.5220  "Once the main branch reaches a release milestone, you can use the <command "
  1.5221  "role=\"hg-cmd\">hg tag</command> command to give a permanent name to the "
  1.5222 @@ -6008,12 +5085,12 @@
  1.5223  msgstr ""
  1.5224  
  1.5225  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5226 -#: ../en/ch06-collab.xml:217
  1.5227 +#: ../en/ch05-collab.xml:217
  1.5228  msgid "Let's say some ongoing development occurs on the main branch."
  1.5229  msgstr ""
  1.5230  
  1.5231  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5232 -#: ../en/ch06-collab.xml:222
  1.5233 +#: ../en/ch05-collab.xml:222
  1.5234  msgid ""
  1.5235  "Using the tag that was recorded at the milestone, people who clone that "
  1.5236  "repository at any time in the future can use <command role=\"hg-cmd\">hg "
  1.5237 @@ -6023,7 +5100,7 @@
  1.5238  
  1.5239  #
  1.5240  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5241 -#: ../en/ch06-collab.xml:230
  1.5242 +#: ../en/ch05-collab.xml:230
  1.5243  msgid ""
  1.5244  "In addition, immediately after the main branch is tagged, someone can then "
  1.5245  "clone the main branch on the server to a new <quote>stable</quote> branch, "
  1.5246 @@ -6031,7 +5108,7 @@
  1.5247  msgstr ""
  1.5248  
  1.5249  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5250 -#: ../en/ch06-collab.xml:236
  1.5251 +#: ../en/ch05-collab.xml:236
  1.5252  msgid ""
  1.5253  "Someone who needs to make a change to the stable branch can then clone "
  1.5254  "<emphasis>that</emphasis> repository, make their changes, commit, and push "
  1.5255 @@ -6039,7 +5116,7 @@
  1.5256  msgstr ""
  1.5257  
  1.5258  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5259 -#: ../en/ch06-collab.xml:242
  1.5260 +#: ../en/ch05-collab.xml:242
  1.5261  msgid ""
  1.5262  "Because Mercurial repositories are independent, and Mercurial doesn't move "
  1.5263  "changes around automatically, the stable and main branches are "
  1.5264 @@ -6049,7 +5126,7 @@
  1.5265  msgstr ""
  1.5266  
  1.5267  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5268 -#: ../en/ch06-collab.xml:249
  1.5269 +#: ../en/ch05-collab.xml:249
  1.5270  msgid ""
  1.5271  "You'll often want all of your bugfixes on the stable branch to show up on the "
  1.5272  "main branch, too.  Rather than rewrite a bugfix on the main branch, you can "
  1.5273 @@ -6058,7 +5135,7 @@
  1.5274  msgstr ""
  1.5275  
  1.5276  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5277 -#: ../en/ch06-collab.xml:257
  1.5278 +#: ../en/ch05-collab.xml:257
  1.5279  msgid ""
  1.5280  "The main branch will still contain changes that are not on the stable branch, "
  1.5281  "but it will also contain all of the bugfixes from the stable branch.  The "
  1.5282 @@ -6066,12 +5143,12 @@
  1.5283  msgstr ""
  1.5284  
  1.5285  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.5286 -#: ../en/ch06-collab.xml:264 ../en/ch06-collab.xml:278
  1.5287 +#: ../en/ch05-collab.xml:264 ../en/ch05-collab.xml:278
  1.5288  msgid "Feature branches"
  1.5289  msgstr "特性分支"
  1.5290  
  1.5291  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5292 -#: ../en/ch06-collab.xml:266
  1.5293 +#: ../en/ch05-collab.xml:266
  1.5294  msgid ""
  1.5295  "For larger projects, an effective way to manage change is to break up a team "
  1.5296  "into smaller groups.  Each group has a shared branch of its own, cloned from "
  1.5297 @@ -6081,14 +5158,14 @@
  1.5298  msgstr ""
  1.5299  
  1.5300  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.5301 -#: ../en/ch06-collab.xml:275
  1.5302 +#: ../en/ch05-collab.xml:275
  1.5303  msgid ""
  1.5304  "<imageobject><imagedata fileref=\"images/feature-branches.png\"/> </"
  1.5305  "imageobject>"
  1.5306  msgstr ""
  1.5307  
  1.5308  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5309 -#: ../en/ch06-collab.xml:283
  1.5310 +#: ../en/ch05-collab.xml:283
  1.5311  msgid ""
  1.5312  "When a particular feature is deemed to be in suitable shape, someone on that "
  1.5313  "feature team pulls and merges from the master branch into the feature branch, "
  1.5314 @@ -6096,12 +5173,12 @@
  1.5315  msgstr ""
  1.5316  
  1.5317  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5318 -#: ../en/ch06-collab.xml:290
  1.5319 +#: ../en/ch05-collab.xml:290
  1.5320  msgid "The release train"
  1.5321  msgstr "发布列车"
  1.5322  
  1.5323  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5324 -#: ../en/ch06-collab.xml:292
  1.5325 +#: ../en/ch05-collab.xml:292
  1.5326  msgid ""
  1.5327  "Some projects are organised on a <quote>train</quote> basis: a release is "
  1.5328  "scheduled to happen every few months, and whatever features are ready when "
  1.5329 @@ -6109,7 +5186,7 @@
  1.5330  msgstr ""
  1.5331  
  1.5332  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5333 -#: ../en/ch06-collab.xml:297
  1.5334 +#: ../en/ch05-collab.xml:297
  1.5335  msgid ""
  1.5336  "This model resembles working with feature branches.  The difference is that "
  1.5337  "when a feature branch misses a train, someone on the feature team pulls and "
  1.5338 @@ -6119,12 +5196,12 @@
  1.5339  msgstr ""
  1.5340  
  1.5341  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5342 -#: ../en/ch06-collab.xml:306
  1.5343 +#: ../en/ch05-collab.xml:306
  1.5344  msgid "The Linux kernel model"
  1.5345  msgstr "Linux 内核模型"
  1.5346  
  1.5347  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5348 -#: ../en/ch06-collab.xml:308
  1.5349 +#: ../en/ch05-collab.xml:308
  1.5350  msgid ""
  1.5351  "The development of the Linux kernel has a shallow hierarchical structure, "
  1.5352  "surrounded by a cloud of apparent chaos.  Because most Linux developers use "
  1.5353 @@ -6134,7 +5211,7 @@
  1.5354  msgstr ""
  1.5355  
  1.5356  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5357 -#: ../en/ch06-collab.xml:316
  1.5358 +#: ../en/ch05-collab.xml:316
  1.5359  msgid ""
  1.5360  "At the center of the community sits Linus Torvalds, the creator of Linux.  He "
  1.5361  "publishes a single source repository that is considered the "
  1.5362 @@ -6144,7 +5221,7 @@
  1.5363  msgstr ""
  1.5364  
  1.5365  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5366 -#: ../en/ch06-collab.xml:323
  1.5367 +#: ../en/ch05-collab.xml:323
  1.5368  msgid ""
  1.5369  "Linus has a number of <quote>trusted lieutenants</quote>.  As a general rule, "
  1.5370  "he pulls whatever changes they publish, in most cases without even reviewing "
  1.5371 @@ -6158,7 +5235,7 @@
  1.5372  msgstr ""
  1.5373  
  1.5374  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5375 -#: ../en/ch06-collab.xml:335
  1.5376 +#: ../en/ch05-collab.xml:335
  1.5377  msgid ""
  1.5378  "Individual lieutenants have their own approaches to reviewing, accepting, and "
  1.5379  "publishing changes; and for deciding when to feed them to Linus.  In "
  1.5380 @@ -6171,7 +5248,7 @@
  1.5381  msgstr ""
  1.5382  
  1.5383  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5384 -#: ../en/ch06-collab.xml:346
  1.5385 +#: ../en/ch05-collab.xml:346
  1.5386  msgid ""
  1.5387  "This model has two notable features.  The first is that it's <quote>pull "
  1.5388  "only</quote>.  You have to ask, convince, or beg another developer to take a "
  1.5389 @@ -6181,7 +5258,7 @@
  1.5390  msgstr ""
  1.5391  
  1.5392  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5393 -#: ../en/ch06-collab.xml:353
  1.5394 +#: ../en/ch05-collab.xml:353
  1.5395  msgid ""
  1.5396  "The second is that it's based on reputation and acclaim.  If you're an "
  1.5397  "unknown, Linus will probably ignore changes from you without even "
  1.5398 @@ -6195,7 +5272,7 @@
  1.5399  msgstr ""
  1.5400  
  1.5401  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5402 -#: ../en/ch06-collab.xml:364
  1.5403 +#: ../en/ch05-collab.xml:364
  1.5404  msgid ""
  1.5405  "Reputation and acclaim don't necessarily cross subsystem or <quote>people</"
  1.5406  "quote> boundaries.  If you're a respected but specialised storage hacker, and "
  1.5407 @@ -6204,7 +5281,7 @@
  1.5408  msgstr ""
  1.5409  
  1.5410  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5411 -#: ../en/ch06-collab.xml:371
  1.5412 +#: ../en/ch05-collab.xml:371
  1.5413  msgid ""
  1.5414  "To people who come from more orderly project backgrounds, the comparatively "
  1.5415  "chaotic Linux kernel development process often seems completely insane.  It's "
  1.5416 @@ -6214,12 +5291,12 @@
  1.5417  msgstr ""
  1.5418  
  1.5419  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5420 -#: ../en/ch06-collab.xml:381
  1.5421 +#: ../en/ch05-collab.xml:381
  1.5422  msgid "Pull-only versus shared-push collaboration"
  1.5423  msgstr "只读与共享写协作"
  1.5424  
  1.5425  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5426 -#: ../en/ch06-collab.xml:383
  1.5427 +#: ../en/ch05-collab.xml:383
  1.5428  msgid ""
  1.5429  "A perpetual source of heat in the open source community is whether a "
  1.5430  "development model in which people only ever pull changes from others is "
  1.5431 @@ -6228,7 +5305,7 @@
  1.5432  msgstr ""
  1.5433  
  1.5434  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5435 -#: ../en/ch06-collab.xml:389
  1.5436 +#: ../en/ch05-collab.xml:389
  1.5437  msgid ""
  1.5438  "Typically, the backers of the shared-push model use tools that actively "
  1.5439  "enforce this approach.  If you're using a centralised revision control tool "
  1.5440 @@ -6239,7 +5316,7 @@
  1.5441  msgstr ""
  1.5442  
  1.5443  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5444 -#: ../en/ch06-collab.xml:397
  1.5445 +#: ../en/ch05-collab.xml:397
  1.5446  msgid ""
  1.5447  "A good distributed revision control tool, such as Mercurial, will support "
  1.5448  "both models.  You and your collaborators can then structure how you work "
  1.5449 @@ -6248,12 +5325,12 @@
  1.5450  msgstr ""
  1.5451  
  1.5452  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5453 -#: ../en/ch06-collab.xml:405
  1.5454 +#: ../en/ch05-collab.xml:405
  1.5455  msgid "Where collaboration meets branch management"
  1.5456  msgstr "协作与分支管理"
  1.5457  
  1.5458  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5459 -#: ../en/ch06-collab.xml:407
  1.5460 +#: ../en/ch05-collab.xml:407
  1.5461  msgid ""
  1.5462  "Once you and your team set up some shared repositories and start propagating "
  1.5463  "changes back and forth between local and shared repos, you begin to face a "
  1.5464 @@ -6265,24 +5342,24 @@
  1.5465  msgstr ""
  1.5466  
  1.5467  #. type: Content of: <book><chapter><sect1><title>
  1.5468 -#: ../en/ch06-collab.xml:419
  1.5469 +#: ../en/ch05-collab.xml:419
  1.5470  msgid "The technical side of sharing"
  1.5471  msgstr "共享的技术因素"
  1.5472  
  1.5473  #. type: Content of: <book><chapter><sect1><para>
  1.5474 -#: ../en/ch06-collab.xml:421
  1.5475 +#: ../en/ch05-collab.xml:421
  1.5476  msgid ""
  1.5477  "The remainder of this chapter is devoted to the question of serving data to "
  1.5478  "your collaborators."
  1.5479  msgstr ""
  1.5480  
  1.5481  #. type: Content of: <book><chapter><sect1><title>
  1.5482 -#: ../en/ch06-collab.xml:426
  1.5483 +#: ../en/ch05-collab.xml:426
  1.5484  msgid "Informal sharing with <command role=\"hg-cmd\">hg serve</command>"
  1.5485  msgstr "使用 <command role=\"hg-cmd\">hg serve</command> 进行非正式共享"
  1.5486  
  1.5487  #. type: Content of: <book><chapter><sect1><para>
  1.5488 -#: ../en/ch06-collab.xml:429
  1.5489 +#: ../en/ch05-collab.xml:429
  1.5490  msgid ""
  1.5491  "Mercurial's <command role=\"hg-cmd\">hg serve</command> command is "
  1.5492  "wonderfully suited to small, tight-knit, and fast-paced group environments.  "
  1.5493 @@ -6291,7 +5368,7 @@
  1.5494  msgstr ""
  1.5495  
  1.5496  #. type: Content of: <book><chapter><sect1><para>
  1.5497 -#: ../en/ch06-collab.xml:434
  1.5498 +#: ../en/ch05-collab.xml:434
  1.5499  msgid ""
  1.5500  "Run <command role=\"hg-cmd\">hg serve</command> inside a repository, and in "
  1.5501  "under a second it will bring up a specialised HTTP server; this will accept "
  1.5502 @@ -6304,21 +5381,21 @@
  1.5503  msgstr ""
  1.5504  
  1.5505  #. type: Content of: <book><chapter><sect1><para>
  1.5506 -#: ../en/ch06-collab.xml:445
  1.5507 +#: ../en/ch05-collab.xml:445
  1.5508  msgid ""
  1.5509  "The <command role=\"hg-cmd\">hg serve</command> command is <emphasis>not</"
  1.5510  "emphasis> a general-purpose web server. It can do only two things:"
  1.5511  msgstr ""
  1.5512  
  1.5513  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.5514 -#: ../en/ch06-collab.xml:449
  1.5515 +#: ../en/ch05-collab.xml:449
  1.5516  msgid ""
  1.5517  "Allow people to browse the history of the repository it's serving, from their "
  1.5518  "normal web browsers."
  1.5519  msgstr ""
  1.5520  
  1.5521  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.5522 -#: ../en/ch06-collab.xml:453
  1.5523 +#: ../en/ch05-collab.xml:453
  1.5524  msgid ""
  1.5525  "Speak Mercurial's wire protocol, so that people can <command role=\"hg-cmd"
  1.5526  "\">hg clone</command> or <command role=\"hg-cmd\">hg pull</command> changes "
  1.5527 @@ -6326,7 +5403,7 @@
  1.5528  msgstr ""
  1.5529  
  1.5530  #. type: Content of: <book><chapter><sect1><para>
  1.5531 -#: ../en/ch06-collab.xml:458
  1.5532 +#: ../en/ch05-collab.xml:458
  1.5533  msgid ""
  1.5534  "In particular, <command role=\"hg-cmd\">hg serve</command> won't allow remote "
  1.5535  "users to <emphasis>modify</emphasis> your repository.  It's intended for read-"
  1.5536 @@ -6334,7 +5411,7 @@
  1.5537  msgstr ""
  1.5538  
  1.5539  #. type: Content of: <book><chapter><sect1><para>
  1.5540 -#: ../en/ch06-collab.xml:462
  1.5541 +#: ../en/ch05-collab.xml:462
  1.5542  msgid ""
  1.5543  "If you're getting started with Mercurial, there's nothing to prevent you from "
  1.5544  "using <command role=\"hg-cmd\">hg serve</command> to serve up a repository on "
  1.5545 @@ -6345,12 +5422,12 @@
  1.5546  msgstr ""
  1.5547  
  1.5548  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5549 -#: ../en/ch06-collab.xml:472
  1.5550 +#: ../en/ch05-collab.xml:472
  1.5551  msgid "A few things to keep in mind"
  1.5552  msgstr "要牢记的几件事"
  1.5553  
  1.5554  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5555 -#: ../en/ch06-collab.xml:474
  1.5556 +#: ../en/ch05-collab.xml:474
  1.5557  msgid ""
  1.5558  "Because it provides unauthenticated read access to all clients, you should "
  1.5559  "only use <command role=\"hg-cmd\">hg serve</command> in an environment where "
  1.5560 @@ -6359,7 +5436,7 @@
  1.5561  msgstr ""
  1.5562  
  1.5563  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5564 -#: ../en/ch06-collab.xml:480
  1.5565 +#: ../en/ch05-collab.xml:480
  1.5566  msgid ""
  1.5567  "The <command role=\"hg-cmd\">hg serve</command> command knows nothing about "
  1.5568  "any firewall software you might have installed on your system or network.  It "
  1.5569 @@ -6370,7 +5447,7 @@
  1.5570  msgstr ""
  1.5571  
  1.5572  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5573 -#: ../en/ch06-collab.xml:489
  1.5574 +#: ../en/ch05-collab.xml:489
  1.5575  msgid ""
  1.5576  "By default, <command role=\"hg-cmd\">hg serve</command> listens for incoming "
  1.5577  "connections on port 8000.  If another process is already listening on the "
  1.5578 @@ -6379,7 +5456,7 @@
  1.5579  msgstr ""
  1.5580  
  1.5581  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5582 -#: ../en/ch06-collab.xml:495
  1.5583 +#: ../en/ch05-collab.xml:495
  1.5584  msgid ""
  1.5585  "Normally, when <command role=\"hg-cmd\">hg serve</command> starts, it prints "
  1.5586  "no output, which can be a bit unnerving.  If you'd like to confirm that it is "
  1.5587 @@ -6389,12 +5466,12 @@
  1.5588  msgstr ""
  1.5589  
  1.5590  #. type: Content of: <book><chapter><sect1><title>
  1.5591 -#: ../en/ch06-collab.xml:505
  1.5592 +#: ../en/ch05-collab.xml:505
  1.5593  msgid "Using the Secure Shell (ssh) protocol"
  1.5594  msgstr "使用 ssh 协议"
  1.5595  
  1.5596  #. type: Content of: <book><chapter><sect1><para>
  1.5597 -#: ../en/ch06-collab.xml:507
  1.5598 +#: ../en/ch05-collab.xml:507
  1.5599  msgid ""
  1.5600  "You can pull and push changes securely over a network connection using the "
  1.5601  "Secure Shell (<literal>ssh</literal>)  protocol.  To use this successfully, "
  1.5602 @@ -6403,7 +5480,7 @@
  1.5603  msgstr ""
  1.5604  
  1.5605  #. type: Content of: <book><chapter><sect1><para>
  1.5606 -#: ../en/ch06-collab.xml:512
  1.5607 +#: ../en/ch05-collab.xml:512
  1.5608  msgid ""
  1.5609  "If you're not familiar with ssh, it's a network protocol that lets you "
  1.5610  "securely communicate with another computer.  To use it with Mercurial, you'll "
  1.5611 @@ -6412,31 +5489,31 @@
  1.5612  msgstr ""
  1.5613  
  1.5614  #. type: Content of: <book><chapter><sect1><para>
  1.5615 -#: ../en/ch06-collab.xml:518
  1.5616 +#: ../en/ch05-collab.xml:518
  1.5617  msgid ""
  1.5618  "(If you <emphasis>are</emphasis> familiar with ssh, you'll probably find some "
  1.5619  "of the material that follows to be elementary in nature.)"
  1.5620  msgstr ""
  1.5621  
  1.5622  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5623 -#: ../en/ch06-collab.xml:523
  1.5624 +#: ../en/ch05-collab.xml:523
  1.5625  msgid "How to read and write ssh URLs"
  1.5626  msgstr "如何读写 ssh 路径"
  1.5627  
  1.5628  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5629 -#: ../en/ch06-collab.xml:525
  1.5630 +#: ../en/ch05-collab.xml:525
  1.5631  msgid "An ssh URL tends to look like this:"
  1.5632  msgstr ""
  1.5633  
  1.5634  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.5635 -#: ../en/ch06-collab.xml:528
  1.5636 +#: ../en/ch05-collab.xml:528
  1.5637  msgid ""
  1.5638  "The <quote><literal>ssh://</literal></quote> part tells Mercurial to use the "
  1.5639  "ssh protocol."
  1.5640  msgstr ""
  1.5641  
  1.5642  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.5643 -#: ../en/ch06-collab.xml:531
  1.5644 +#: ../en/ch05-collab.xml:531
  1.5645  msgid ""
  1.5646  "The <quote><literal>bos@</literal></quote> component indicates what username "
  1.5647  "to log into the server as.  You can leave this out if the remote username is "
  1.5648 @@ -6444,28 +5521,28 @@
  1.5649  msgstr ""
  1.5650  
  1.5651  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.5652 -#: ../en/ch06-collab.xml:536
  1.5653 +#: ../en/ch05-collab.xml:536
  1.5654  msgid ""
  1.5655  "The <quote><literal>hg.serpentine.com</literal></quote> gives the hostname of "
  1.5656  "the server to log into."
  1.5657  msgstr ""
  1.5658  
  1.5659  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.5660 -#: ../en/ch06-collab.xml:540
  1.5661 +#: ../en/ch05-collab.xml:540
  1.5662  msgid ""
  1.5663  "The <quote>:22</quote> identifies the port number to connect to the server "
  1.5664 -"on.  The default port is 22, so you only need to specify this part if you're "
  1.5665 -"<emphasis>not</emphasis> using port 22."
  1.5666 +"on.  The default port is 22, so you only need to specify a colon and port "
  1.5667 +"number if you're <emphasis>not</emphasis> using port 22."
  1.5668  msgstr ""
  1.5669  
  1.5670  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.5671 -#: ../en/ch06-collab.xml:545
  1.5672 +#: ../en/ch05-collab.xml:545
  1.5673  msgid ""
  1.5674  "The remainder of the URL is the local path to the repository on the server."
  1.5675  msgstr ""
  1.5676  
  1.5677  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5678 -#: ../en/ch06-collab.xml:549
  1.5679 +#: ../en/ch05-collab.xml:549
  1.5680  msgid ""
  1.5681  "There's plenty of scope for confusion with the path component of ssh URLs, as "
  1.5682  "there is no standard way for tools to interpret it.  Some programs behave "
  1.5683 @@ -6475,7 +5552,7 @@
  1.5684  msgstr ""
  1.5685  
  1.5686  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5687 -#: ../en/ch06-collab.xml:556
  1.5688 +#: ../en/ch05-collab.xml:556
  1.5689  msgid ""
  1.5690  "Mercurial treats the path to a repository on the server as relative to the "
  1.5691  "remote user's home directory.  For example, if user <literal>foo</literal> on "
  1.5692 @@ -6486,7 +5563,7 @@
  1.5693  msgstr ""
  1.5694  
  1.5695  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5696 -#: ../en/ch06-collab.xml:565
  1.5697 +#: ../en/ch05-collab.xml:565
  1.5698  msgid ""
  1.5699  "If you want to specify a path relative to another user's home directory, you "
  1.5700  "can use a path that starts with a tilde character followed by the user's name "
  1.5701 @@ -6494,19 +5571,19 @@
  1.5702  msgstr ""
  1.5703  
  1.5704  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5705 -#: ../en/ch06-collab.xml:571
  1.5706 +#: ../en/ch05-collab.xml:571
  1.5707  msgid ""
  1.5708  "And if you really want to specify an <emphasis>absolute</emphasis> path on "
  1.5709  "the server, begin the path component with two slashes, as in this example."
  1.5710  msgstr ""
  1.5711  
  1.5712  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5713 -#: ../en/ch06-collab.xml:578
  1.5714 +#: ../en/ch05-collab.xml:578
  1.5715  msgid "Finding an ssh client for your system"
  1.5716  msgstr "为你的系统寻找 ssh 客户端"
  1.5717  
  1.5718  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5719 -#: ../en/ch06-collab.xml:580
  1.5720 +#: ../en/ch05-collab.xml:580
  1.5721  msgid ""
  1.5722  "Almost every Unix-like system comes with OpenSSH preinstalled.  If you're "
  1.5723  "using such a system, run <literal>which ssh</literal> to find out if the "
  1.5724 @@ -6517,50 +5594,50 @@
  1.5725  msgstr ""
  1.5726  
  1.5727  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5728 -#: ../en/ch06-collab.xml:588
  1.5729 +#: ../en/ch05-collab.xml:588
  1.5730  msgid ""
  1.5731  "On Windows, you'll first need to download a suitable ssh client.  There are "
  1.5732  "two alternatives."
  1.5733  msgstr ""
  1.5734  
  1.5735  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5736 -#: ../en/ch06-collab.xml:591
  1.5737 +#: ../en/ch05-collab.xml:591
  1.5738  msgid ""
  1.5739  "Simon Tatham's excellent PuTTY package <citation>web:putty</citation> "
  1.5740  "provides a complete suite of ssh client commands."
  1.5741  msgstr ""
  1.5742  
  1.5743  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5744 -#: ../en/ch06-collab.xml:595
  1.5745 +#: ../en/ch05-collab.xml:595
  1.5746  msgid ""
  1.5747  "If you have a high tolerance for pain, you can use the Cygwin port of OpenSSH."
  1.5748  msgstr ""
  1.5749  
  1.5750  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5751 -#: ../en/ch06-collab.xml:598
  1.5752 -msgid ""
  1.5753 -"In either case, you'll need to edit your \\hgini\\ file to tell Mercurial "
  1.5754 -"where to find the actual client command.  For example, if you're using PuTTY, "
  1.5755 -"you'll need to use the <command>plink</command> command as a command-line ssh "
  1.5756 -"client."
  1.5757 +#: ../en/ch05-collab.xml:598
  1.5758 +msgid ""
  1.5759 +"In either case, you'll need to edit your <filename role=\"special\">hg.ini</"
  1.5760 +"filename> file to tell Mercurial where to find the actual client command.  "
  1.5761 +"For example, if you're using PuTTY, you'll need to use the <command>plink</"
  1.5762 +"command> command as a command-line ssh client."
  1.5763  msgstr ""
  1.5764  
  1.5765  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.5766 -#: ../en/ch06-collab.xml:607
  1.5767 +#: ../en/ch05-collab.xml:608
  1.5768  msgid ""
  1.5769  "The path to <command>plink</command> shouldn't contain any whitespace "
  1.5770  "characters, or Mercurial may not be able to run it correctly (so putting it "
  1.5771 -"in <filename class=\"directory\">C:\\\\Program Files</filename> is probably "
  1.5772 -"not a good idea)."
  1.5773 -msgstr ""
  1.5774 -
  1.5775 -#. type: Content of: <book><chapter><sect1><sect2><title>
  1.5776 -#: ../en/ch06-collab.xml:616
  1.5777 +"in <filename class=\"directory\">C:\\Program Files</filename> is probably not "
  1.5778 +"a good idea)."
  1.5779 +msgstr ""
  1.5780 +
  1.5781 +#. type: Content of: <book><chapter><sect1><sect2><title>
  1.5782 +#: ../en/ch05-collab.xml:617
  1.5783  msgid "Generating a key pair"
  1.5784  msgstr "产生密钥对"
  1.5785  
  1.5786  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5787 -#: ../en/ch06-collab.xml:618
  1.5788 +#: ../en/ch05-collab.xml:619
  1.5789  msgid ""
  1.5790  "To avoid the need to repetitively type a password every time you need to use "
  1.5791  "your ssh client, I recommend generating a key pair.  On a Unix-like system, "
  1.5792 @@ -6570,7 +5647,7 @@
  1.5793  msgstr ""
  1.5794  
  1.5795  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5796 -#: ../en/ch06-collab.xml:626
  1.5797 +#: ../en/ch05-collab.xml:627
  1.5798  msgid ""
  1.5799  "When you generate a key pair, it's usually <emphasis>highly</emphasis> "
  1.5800  "advisable to protect it with a passphrase.  (The only time that you might not "
  1.5801 @@ -6579,7 +5656,7 @@
  1.5802  msgstr ""
  1.5803  
  1.5804  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5805 -#: ../en/ch06-collab.xml:632
  1.5806 +#: ../en/ch05-collab.xml:633
  1.5807  msgid ""
  1.5808  "Simply generating a key pair isn't enough, however.  You'll need to add the "
  1.5809  "public key to the set of authorised keys for whatever user you're logging in "
  1.5810 @@ -6590,7 +5667,7 @@
  1.5811  msgstr ""
  1.5812  
  1.5813  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5814 -#: ../en/ch06-collab.xml:641
  1.5815 +#: ../en/ch05-collab.xml:642
  1.5816  msgid ""
  1.5817  "On a Unix-like system, your public key will have a <filename>.pub</filename> "
  1.5818  "extension.  If you're using <command>puttygen</command> on Windows, you can "
  1.5819 @@ -6600,12 +5677,12 @@
  1.5820  msgstr ""
  1.5821  
  1.5822  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5823 -#: ../en/ch06-collab.xml:650
  1.5824 +#: ../en/ch05-collab.xml:651
  1.5825  msgid "Using an authentication agent"
  1.5826  msgstr "使用认证代理"
  1.5827  
  1.5828  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5829 -#: ../en/ch06-collab.xml:652
  1.5830 +#: ../en/ch05-collab.xml:653
  1.5831  msgid ""
  1.5832  "An authentication agent is a daemon that stores passphrases in memory (so it "
  1.5833  "will forget passphrases if you log out and log back in again). An ssh client "
  1.5834 @@ -6617,7 +5694,7 @@
  1.5835  msgstr ""
  1.5836  
  1.5837  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5838 -#: ../en/ch06-collab.xml:661
  1.5839 +#: ../en/ch05-collab.xml:662
  1.5840  msgid ""
  1.5841  "The downside of storing passphrases in an agent is that it's possible for a "
  1.5842  "well-prepared attacker to recover the plain text of your passphrases, in some "
  1.5843 @@ -6627,7 +5704,7 @@
  1.5844  msgstr ""
  1.5845  
  1.5846  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5847 -#: ../en/ch06-collab.xml:668
  1.5848 +#: ../en/ch05-collab.xml:669
  1.5849  msgid ""
  1.5850  "On Unix-like systems, the agent is called <command>ssh-agent</command>, and "
  1.5851  "it's often run automatically for you when you log in.  You'll need to use the "
  1.5852 @@ -6638,12 +5715,12 @@
  1.5853  msgstr ""
  1.5854  
  1.5855  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5856 -#: ../en/ch06-collab.xml:679
  1.5857 +#: ../en/ch05-collab.xml:680
  1.5858  msgid "Configuring the server side properly"
  1.5859  msgstr "正确配置服务器端"
  1.5860  
  1.5861  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5862 -#: ../en/ch06-collab.xml:681
  1.5863 +#: ../en/ch05-collab.xml:682
  1.5864  msgid ""
  1.5865  "Because ssh can be fiddly to set up if you're new to it, there's a variety of "
  1.5866  "things that can go wrong.  Add Mercurial on top, and there's plenty more "
  1.5867 @@ -6653,7 +5730,7 @@
  1.5868  msgstr ""
  1.5869  
  1.5870  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5871 -#: ../en/ch06-collab.xml:689
  1.5872 +#: ../en/ch05-collab.xml:690
  1.5873  msgid ""
  1.5874  "Before you try using Mercurial to talk to an ssh server, it's best to make "
  1.5875  "sure that you can use the normal <command>ssh</command> or <command>putty</"
  1.5876 @@ -6666,7 +5743,7 @@
  1.5877  msgstr ""
  1.5878  
  1.5879  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5880 -#: ../en/ch06-collab.xml:700
  1.5881 +#: ../en/ch05-collab.xml:701
  1.5882  msgid ""
  1.5883  "The first thing to be sure of on the server side is that you can actually log "
  1.5884  "in from another machine at all.  If you can't use <command>ssh</command> or "
  1.5885 @@ -6675,7 +5752,7 @@
  1.5886  msgstr ""
  1.5887  
  1.5888  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5889 -#: ../en/ch06-collab.xml:707
  1.5890 +#: ../en/ch05-collab.xml:708
  1.5891  msgid ""
  1.5892  "If you get a <quote>connection refused</quote> error, either there isn't an "
  1.5893  "SSH daemon running on the server at all, or it's inaccessible due to firewall "
  1.5894 @@ -6683,7 +5760,7 @@
  1.5895  msgstr ""
  1.5896  
  1.5897  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5898 -#: ../en/ch06-collab.xml:712
  1.5899 +#: ../en/ch05-collab.xml:713
  1.5900  msgid ""
  1.5901  "If you get a <quote>no route to host</quote> error, you either have an "
  1.5902  "incorrect address for the server or a seriously locked down firewall that "
  1.5903 @@ -6691,7 +5768,7 @@
  1.5904  msgstr ""
  1.5905  
  1.5906  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5907 -#: ../en/ch06-collab.xml:717
  1.5908 +#: ../en/ch05-collab.xml:718
  1.5909  msgid ""
  1.5910  "If you get a <quote>permission denied</quote> error, you may have mistyped "
  1.5911  "the username on the server, or you could have mistyped your key's passphrase "
  1.5912 @@ -6699,7 +5776,7 @@
  1.5913  msgstr ""
  1.5914  
  1.5915  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5916 -#: ../en/ch06-collab.xml:722
  1.5917 +#: ../en/ch05-collab.xml:723
  1.5918  msgid ""
  1.5919  "In summary, if you're having trouble talking to the server's ssh daemon, "
  1.5920  "first make sure that one is running at all.  On many systems it will be "
  1.5921 @@ -6711,7 +5788,7 @@
  1.5922  msgstr ""
  1.5923  
  1.5924  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5925 -#: ../en/ch06-collab.xml:732
  1.5926 +#: ../en/ch05-collab.xml:733
  1.5927  msgid ""
  1.5928  "If you're using an authentication agent on the client side to store "
  1.5929  "passphrases for your keys, you ought to be able to log into the server "
  1.5930 @@ -6720,26 +5797,26 @@
  1.5931  msgstr ""
  1.5932  
  1.5933  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5934 -#: ../en/ch06-collab.xml:738
  1.5935 +#: ../en/ch05-collab.xml:739
  1.5936  msgid ""
  1.5937  "You might have forgotten to use <command>ssh-add</command> or "
  1.5938  "<command>pageant</command> to store the passphrase."
  1.5939  msgstr ""
  1.5940  
  1.5941  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5942 -#: ../en/ch06-collab.xml:742
  1.5943 +#: ../en/ch05-collab.xml:743
  1.5944  msgid "You might have stored the passphrase for the wrong key."
  1.5945  msgstr ""
  1.5946  
  1.5947  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5948 -#: ../en/ch06-collab.xml:745
  1.5949 +#: ../en/ch05-collab.xml:746
  1.5950  msgid ""
  1.5951  "If you're being prompted for the remote user's password, there are another "
  1.5952  "few possible problems to check."
  1.5953  msgstr ""
  1.5954  
  1.5955  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5956 -#: ../en/ch06-collab.xml:748
  1.5957 +#: ../en/ch05-collab.xml:749
  1.5958  msgid ""
  1.5959  "Either the user's home directory or their <filename role=\"special\" class="
  1.5960  "\"directory\">.ssh</filename> directory might have excessively liberal "
  1.5961 @@ -6750,7 +5827,7 @@
  1.5962  msgstr ""
  1.5963  
  1.5964  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5965 -#: ../en/ch06-collab.xml:757
  1.5966 +#: ../en/ch05-collab.xml:758
  1.5967  msgid ""
  1.5968  "The user's <filename role=\"special\">authorized_keys</filename> file may "
  1.5969  "have a problem. If anyone other than the user owns or can write to that file, "
  1.5970 @@ -6758,7 +5835,7 @@
  1.5971  msgstr ""
  1.5972  
  1.5973  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5974 -#: ../en/ch06-collab.xml:764
  1.5975 +#: ../en/ch05-collab.xml:765
  1.5976  msgid ""
  1.5977  "In the ideal world, you should be able to run the following command "
  1.5978  "successfully, and it should print exactly one line of output, the current "
  1.5979 @@ -6766,7 +5843,7 @@
  1.5980  msgstr ""
  1.5981  
  1.5982  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5983 -#: ../en/ch06-collab.xml:769
  1.5984 +#: ../en/ch05-collab.xml:770
  1.5985  msgid ""
  1.5986  "If, on your server, you have login scripts that print banners or other junk "
  1.5987  "even when running non-interactive commands like this, you should fix them "
  1.5988 @@ -6781,7 +5858,7 @@
  1.5989  msgstr ""
  1.5990  
  1.5991  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5992 -#: ../en/ch06-collab.xml:783
  1.5993 +#: ../en/ch05-collab.xml:784
  1.5994  msgid ""
  1.5995  "Once you've verified that plain old ssh is working with your server, the next "
  1.5996  "step is to ensure that Mercurial runs on the server.  The following command "
  1.5997 @@ -6789,7 +5866,7 @@
  1.5998  msgstr ""
  1.5999  
  1.6000  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6001 -#: ../en/ch06-collab.xml:788
  1.6002 +#: ../en/ch05-collab.xml:791
  1.6003  msgid ""
  1.6004  "If you see an error message instead of normal <command role=\"hg-cmd\">hg "
  1.6005  "version</command> output, this is usually because you haven't installed "
  1.6006 @@ -6799,21 +5876,21 @@
  1.6007  msgstr ""
  1.6008  
  1.6009  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6010 -#: ../en/ch06-collab.xml:795
  1.6011 +#: ../en/ch05-collab.xml:798
  1.6012  msgid ""
  1.6013  "Is Mercurial really installed on the server at all? I know this sounds "
  1.6014  "trivial, but it's worth checking!"
  1.6015  msgstr ""
  1.6016  
  1.6017  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6018 -#: ../en/ch06-collab.xml:799
  1.6019 +#: ../en/ch05-collab.xml:802
  1.6020  msgid ""
  1.6021  "Maybe your shell's search path (usually set via the <envar>PATH</envar> "
  1.6022  "environment variable) is simply misconfigured."
  1.6023  msgstr ""
  1.6024  
  1.6025  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6026 -#: ../en/ch06-collab.xml:803
  1.6027 +#: ../en/ch05-collab.xml:806
  1.6028  msgid ""
  1.6029  "Perhaps your <envar>PATH</envar> environment variable is only being set to "
  1.6030  "point to the location of the <command>hg</command> executable if the login "
  1.6031 @@ -6822,7 +5899,7 @@
  1.6032  msgstr ""
  1.6033  
  1.6034  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6035 -#: ../en/ch06-collab.xml:810
  1.6036 +#: ../en/ch05-collab.xml:813
  1.6037  msgid ""
  1.6038  "The <envar>PYTHONPATH</envar> environment variable may need to contain the "
  1.6039  "path to the Mercurial Python modules.  It might not be set at all; it could "
  1.6040 @@ -6830,7 +5907,7 @@
  1.6041  msgstr ""
  1.6042  
  1.6043  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6044 -#: ../en/ch06-collab.xml:817
  1.6045 +#: ../en/ch05-collab.xml:820
  1.6046  msgid ""
  1.6047  "If you can run <command role=\"hg-cmd\">hg version</command> over an ssh "
  1.6048  "connection, well done! You've got the server and client sorted out.  You "
  1.6049 @@ -6841,12 +5918,12 @@
  1.6050  msgstr ""
  1.6051  
  1.6052  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6053 -#: ../en/ch06-collab.xml:827
  1.6054 +#: ../en/ch05-collab.xml:830
  1.6055  msgid "Using compression with ssh"
  1.6056  msgstr "通过 ssh 使用压缩"
  1.6057  
  1.6058  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6059 -#: ../en/ch06-collab.xml:829
  1.6060 +#: ../en/ch05-collab.xml:832
  1.6061  msgid ""
  1.6062  "Mercurial does not compress data when it uses the ssh protocol, because the "
  1.6063  "ssh protocol can transparently compress data.  However, the default behaviour "
  1.6064 @@ -6854,7 +5931,7 @@
  1.6065  msgstr ""
  1.6066  
  1.6067  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6068 -#: ../en/ch06-collab.xml:834
  1.6069 +#: ../en/ch05-collab.xml:837
  1.6070  msgid ""
  1.6071  "Over any network other than a fast LAN (even a wireless network), using "
  1.6072  "compression is likely to significantly speed up Mercurial's network "
  1.6073 @@ -6864,16 +5941,16 @@
  1.6074  msgstr ""
  1.6075  
  1.6076  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6077 -#: ../en/ch06-collab.xml:841
  1.6078 +#: ../en/ch05-collab.xml:844
  1.6079  msgid ""
  1.6080  "Both <command>ssh</command> and <command>plink</command> accept a <option "
  1.6081  "role=\"cmd-opt-ssh\">-C</option> option which turns on compression.  You can "
  1.6082 -"easily edit your <filename role=\"special\"> /.hgrc</filename>\\ to enable "
  1.6083 +"easily edit your <filename role=\"special\">~/.hgrc</filename> to enable "
  1.6084  "compression for all of Mercurial's uses of the ssh protocol."
  1.6085  msgstr ""
  1.6086  
  1.6087  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6088 -#: ../en/ch06-collab.xml:848
  1.6089 +#: ../en/ch05-collab.xml:852
  1.6090  msgid ""
  1.6091  "If you use <command>ssh</command>, you can configure it to always use "
  1.6092  "compression when talking to your server.  To do this, edit your <filename "
  1.6093 @@ -6882,7 +5959,7 @@
  1.6094  msgstr ""
  1.6095  
  1.6096  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6097 -#: ../en/ch06-collab.xml:855
  1.6098 +#: ../en/ch05-collab.xml:860
  1.6099  msgid ""
  1.6100  "This defines an alias, <literal>hg</literal>.  When you use it on the "
  1.6101  "<command>ssh</command> command line or in a Mercurial <literal>ssh</literal>-"
  1.6102 @@ -6892,19 +5969,19 @@
  1.6103  msgstr ""
  1.6104  
  1.6105  #. type: Content of: <book><chapter><sect1><title>
  1.6106 -#: ../en/ch06-collab.xml:866
  1.6107 +#: ../en/ch05-collab.xml:871
  1.6108  msgid "Serving over HTTP using CGI"
  1.6109  msgstr "使用 CGI 通过 HTTP 提供服务"
  1.6110  
  1.6111  #. type: Content of: <book><chapter><sect1><para>
  1.6112 -#: ../en/ch06-collab.xml:868
  1.6113 +#: ../en/ch05-collab.xml:873
  1.6114  msgid ""
  1.6115  "Depending on how ambitious you are, configuring Mercurial's CGI interface can "
  1.6116  "take anything from a few moments to several hours."
  1.6117  msgstr ""
  1.6118  
  1.6119  #. type: Content of: <book><chapter><sect1><para>
  1.6120 -#: ../en/ch06-collab.xml:872
  1.6121 +#: ../en/ch05-collab.xml:877
  1.6122  msgid ""
  1.6123  "We'll begin with the simplest of examples, and work our way towards a more "
  1.6124  "complex configuration.  Even for the most basic case, you're almost certainly "
  1.6125 @@ -6912,7 +5989,7 @@
  1.6126  msgstr ""
  1.6127  
  1.6128  #. type: Content of: <book><chapter><sect1><note><para>
  1.6129 -#: ../en/ch06-collab.xml:878
  1.6130 +#: ../en/ch05-collab.xml:883
  1.6131  msgid ""
  1.6132  "Configuring a web server is a complex, fiddly, and highly system-dependent "
  1.6133  "activity.  I can't possibly give you instructions that will cover anything "
  1.6134 @@ -6922,33 +5999,33 @@
  1.6135  msgstr ""
  1.6136  
  1.6137  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6138 -#: ../en/ch06-collab.xml:888
  1.6139 +#: ../en/ch05-collab.xml:893
  1.6140  msgid "Web server configuration checklist"
  1.6141  msgstr "Web 服务器配置检查表"
  1.6142  
  1.6143  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6144 -#: ../en/ch06-collab.xml:890
  1.6145 +#: ../en/ch05-collab.xml:895
  1.6146  msgid ""
  1.6147  "Before you continue, do take a few moments to check a few aspects of your "
  1.6148  "system's setup."
  1.6149  msgstr ""
  1.6150  
  1.6151  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.6152 -#: ../en/ch06-collab.xml:894
  1.6153 +#: ../en/ch05-collab.xml:899
  1.6154  msgid ""
  1.6155  "Do you have a web server installed at all? Mac OS X ships with Apache, but "
  1.6156  "many other systems may not have a web server installed."
  1.6157  msgstr ""
  1.6158  
  1.6159  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.6160 -#: ../en/ch06-collab.xml:898
  1.6161 +#: ../en/ch05-collab.xml:903
  1.6162  msgid ""
  1.6163  "If you have a web server installed, is it actually running? On most systems, "
  1.6164  "even if one is present, it will be disabled by default."
  1.6165  msgstr ""
  1.6166  
  1.6167  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.6168 -#: ../en/ch06-collab.xml:902
  1.6169 +#: ../en/ch05-collab.xml:907
  1.6170  msgid ""
  1.6171  "Is your server configured to allow you to run CGI programs in the directory "
  1.6172  "where you plan to do so? Most servers default to explicitly disabling the "
  1.6173 @@ -6956,7 +6033,7 @@
  1.6174  msgstr ""
  1.6175  
  1.6176  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6177 -#: ../en/ch06-collab.xml:908
  1.6178 +#: ../en/ch05-collab.xml:913
  1.6179  msgid ""
  1.6180  "If you don't have a web server installed, and don't have substantial "
  1.6181  "experience configuring Apache, you should consider using the "
  1.6182 @@ -6969,22 +6046,22 @@
  1.6183  msgstr ""
  1.6184  
  1.6185  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6186 -#: ../en/ch06-collab.xml:921
  1.6187 +#: ../en/ch05-collab.xml:926
  1.6188  msgid "Basic CGI configuration"
  1.6189  msgstr "基本 CGI 配置"
  1.6190  
  1.6191  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6192 -#: ../en/ch06-collab.xml:923
  1.6193 +#: ../en/ch05-collab.xml:928
  1.6194  msgid ""
  1.6195  "On Unix-like systems, it's common for users to have a subdirectory named "
  1.6196  "something like <filename class=\"directory\">public_html</filename> in their "
  1.6197  "home directory, from which they can serve up web pages.  A file named "
  1.6198  "<filename>foo</filename> in this directory will be accessible at a URL of the "
  1.6199 -"form <literal>http://www.example.com/\\ {</literal>username/foo}."
  1.6200 -msgstr ""
  1.6201 -
  1.6202 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.6203 -#: ../en/ch06-collab.xml:932
  1.6204 +"form <literal>http://www.example.com/username/foo</literal>."
  1.6205 +msgstr ""
  1.6206 +
  1.6207 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.6208 +#: ../en/ch05-collab.xml:936
  1.6209  msgid ""
  1.6210  "To get started, find the <filename role=\"special\">hgweb.cgi</filename> "
  1.6211  "script that should be present in your Mercurial installation.  If you can't "
  1.6212 @@ -6994,14 +6071,14 @@
  1.6213  msgstr ""
  1.6214  
  1.6215  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6216 -#: ../en/ch06-collab.xml:939 ../en/ch06-collab.xml:1112
  1.6217 +#: ../en/ch05-collab.xml:943 ../en/ch05-collab.xml:1112
  1.6218  msgid ""
  1.6219  "You'll need to copy this script into your <filename class=\"directory"
  1.6220  "\">public_html</filename> directory, and ensure that it's executable."
  1.6221  msgstr ""
  1.6222  
  1.6223  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6224 -#: ../en/ch06-collab.xml:944
  1.6225 +#: ../en/ch05-collab.xml:948
  1.6226  msgid ""
  1.6227  "The <literal>755</literal> argument to <command>chmod</command> is a little "
  1.6228  "more general than just making the script executable: it ensures that the "
  1.6229 @@ -7014,12 +6091,12 @@
  1.6230  msgstr ""
  1.6231  
  1.6232  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.6233 -#: ../en/ch06-collab.xml:958
  1.6234 +#: ../en/ch05-collab.xml:962
  1.6235  msgid "What could <emphasis>possibly</emphasis> go wrong?"
  1.6236  msgstr "什么<emphasis>可能</emphasis>会出错?"
  1.6237  
  1.6238  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6239 -#: ../en/ch06-collab.xml:961
  1.6240 +#: ../en/ch05-collab.xml:965
  1.6241  msgid ""
  1.6242  "Once you've copied the CGI script into place, go into a web browser, and try "
  1.6243  "to open the URL <ulink url=\"http://myhostname/ myuser/hgweb.cgi\">http://"
  1.6244 @@ -7033,7 +6110,7 @@
  1.6245  msgstr ""
  1.6246  
  1.6247  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6248 -#: ../en/ch06-collab.xml:975
  1.6249 +#: ../en/ch05-collab.xml:979
  1.6250  msgid ""
  1.6251  "Your web server may have per-user directories disabled.  If you're using "
  1.6252  "Apache, search your config file for a <literal>UserDir</literal> directive.  "
  1.6253 @@ -7046,7 +6123,7 @@
  1.6254  msgstr ""
  1.6255  
  1.6256  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6257 -#: ../en/ch06-collab.xml:986
  1.6258 +#: ../en/ch05-collab.xml:990
  1.6259  msgid ""
  1.6260  "Your file access permissions may be too restrictive.  The web server must be "
  1.6261  "able to traverse your home directory and directories under your <filename "
  1.6262 @@ -7056,7 +6133,7 @@
  1.6263  msgstr ""
  1.6264  
  1.6265  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6266 -#: ../en/ch06-collab.xml:996
  1.6267 +#: ../en/ch05-collab.xml:1000
  1.6268  msgid ""
  1.6269  "The other possibility with permissions is that you might get a completely "
  1.6270  "empty window when you try to load the script.  In this case, it's likely that "
  1.6271 @@ -7066,15 +6143,21 @@
  1.6272  msgstr ""
  1.6273  
  1.6274  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6275 -#: ../en/ch06-collab.xml:1003
  1.6276 +#: ../en/ch05-collab.xml:1007
  1.6277  msgid ""
  1.6278  "Your web server may be configured to disallow execution of CGI programs in "
  1.6279  "your per-user web directory.  Here's Apache's default per-user configuration "
  1.6280  "from my Fedora system."
  1.6281  msgstr ""
  1.6282  
  1.6283 +#. type: CDATA
  1.6284 +#: ../en/ch05-collab.xml:1012
  1.6285 +#, no-wrap
  1.6286 +msgid "&ch06-apache-config.lst;]]"
  1.6287 +msgstr ""
  1.6288 +
  1.6289  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6290 -#: ../en/ch06-collab.xml:1014
  1.6291 +#: ../en/ch05-collab.xml:1014
  1.6292  msgid ""
  1.6293  "If you find a similar-looking <literal>Directory</literal> group in your "
  1.6294  "Apache configuration, the directive to look at inside it is <literal>Options</"
  1.6295 @@ -7083,7 +6166,7 @@
  1.6296  msgstr ""
  1.6297  
  1.6298  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6299 -#: ../en/ch06-collab.xml:1021
  1.6300 +#: ../en/ch05-collab.xml:1021
  1.6301  msgid ""
  1.6302  "If you find that Apache serves you the text of the CGI script instead of "
  1.6303  "executing it, you may need to either uncomment (if already present) or add a "
  1.6304 @@ -7091,7 +6174,7 @@
  1.6305  msgstr ""
  1.6306  
  1.6307  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6308 -#: ../en/ch06-collab.xml:1027
  1.6309 +#: ../en/ch05-collab.xml:1027
  1.6310  msgid ""
  1.6311  "The next possibility is that you might be served with a colourful Python "
  1.6312  "backtrace claiming that it can't import a <literal>mercurial</literal>-"
  1.6313 @@ -7106,7 +6189,7 @@
  1.6314  msgstr ""
  1.6315  
  1.6316  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6317 -#: ../en/ch06-collab.xml:1041
  1.6318 +#: ../en/ch05-collab.xml:1041
  1.6319  msgid ""
  1.6320  "Finally, you are <emphasis>certain</emphasis> to by served with another "
  1.6321  "colourful Python backtrace: this one will complain that it can't find "
  1.6322 @@ -7117,19 +6200,19 @@
  1.6323  msgstr ""
  1.6324  
  1.6325  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6326 -#: ../en/ch06-collab.xml:1051
  1.6327 +#: ../en/ch05-collab.xml:1051
  1.6328  msgid ""
  1.6329  "At this point, when you try to reload the page, you should be presented with "
  1.6330  "a nice HTML view of your repository's history.  Whew!"
  1.6331  msgstr ""
  1.6332  
  1.6333  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.6334 -#: ../en/ch06-collab.xml:1057
  1.6335 +#: ../en/ch05-collab.xml:1057
  1.6336  msgid "Configuring lighttpd"
  1.6337  msgstr "配置 lighttpd"
  1.6338  
  1.6339  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6340 -#: ../en/ch06-collab.xml:1059
  1.6341 +#: ../en/ch05-collab.xml:1059
  1.6342  msgid ""
  1.6343  "To be exhaustive in my experiments, I tried configuring the increasingly "
  1.6344  "popular <literal>lighttpd</literal> web server to serve the same repository "
  1.6345 @@ -7140,7 +6223,7 @@
  1.6346  msgstr ""
  1.6347  
  1.6348  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6349 -#: ../en/ch06-collab.xml:1069
  1.6350 +#: ../en/ch05-collab.xml:1069
  1.6351  msgid ""
  1.6352  "Once I had Apache running, getting <literal>lighttpd</literal> to serve the "
  1.6353  "repository was a snap (in other words, even if you're trying to use "
  1.6354 @@ -7152,7 +6235,7 @@
  1.6355  msgstr ""
  1.6356  
  1.6357  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6358 -#: ../en/ch06-collab.xml:1081
  1.6359 +#: ../en/ch05-collab.xml:1081
  1.6360  msgid ""
  1.6361  "With this done, <literal>lighttpd</literal> ran immediately for me.  If I had "
  1.6362  "configured <literal>lighttpd</literal> before Apache, I'd almost certainly "
  1.6363 @@ -7163,12 +6246,12 @@
  1.6364  msgstr ""
  1.6365  
  1.6366  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6367 -#: ../en/ch06-collab.xml:1094
  1.6368 +#: ../en/ch05-collab.xml:1094
  1.6369  msgid "Sharing multiple repositories with one CGI script"
  1.6370  msgstr "使用一个 CGI 脚本共享多个版本库"
  1.6371  
  1.6372  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6373 -#: ../en/ch06-collab.xml:1096
  1.6374 +#: ../en/ch05-collab.xml:1096
  1.6375  msgid ""
  1.6376  "The <filename role=\"special\">hgweb.cgi</filename> script only lets you "
  1.6377  "publish a single repository, which is an annoying restriction.  If you want "
  1.6378 @@ -7178,7 +6261,7 @@
  1.6379  msgstr ""
  1.6380  
  1.6381  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6382 -#: ../en/ch06-collab.xml:1104
  1.6383 +#: ../en/ch05-collab.xml:1104
  1.6384  msgid ""
  1.6385  "The procedure to configure <filename role=\"special\">hgwebdir.cgi</filename> "
  1.6386  "is only a little more involved than for <filename role=\"special\">hgweb.cgi</"
  1.6387 @@ -7189,7 +6272,7 @@
  1.6388  msgstr ""
  1.6389  
  1.6390  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6391 -#: ../en/ch06-collab.xml:1117
  1.6392 +#: ../en/ch05-collab.xml:1117
  1.6393  msgid ""
  1.6394  "With basic configuration out of the way, try to visit <ulink url=\"http://"
  1.6395  "myhostname/ myuser/hgwebdir.cgi\">http://myhostname/ myuser/hgwebdir.cgi</"
  1.6396 @@ -7199,7 +6282,7 @@
  1.6397  msgstr ""
  1.6398  
  1.6399  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6400 -#: ../en/ch06-collab.xml:1126
  1.6401 +#: ../en/ch05-collab.xml:1126
  1.6402  msgid ""
  1.6403  "The <filename role=\"special\">hgwebdir.cgi</filename> script relies on an "
  1.6404  "external configuration file.  By default, it searches for a file named "
  1.6405 @@ -7211,7 +6294,7 @@
  1.6406  msgstr ""
  1.6407  
  1.6408  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6409 -#: ../en/ch06-collab.xml:1136
  1.6410 +#: ../en/ch05-collab.xml:1136
  1.6411  msgid ""
  1.6412  "The easiest way to configure <filename role=\"special\">hgwebdir.cgi</"
  1.6413  "filename> is with a section named <literal>collections</literal>.  This will "
  1.6414 @@ -7220,7 +6303,7 @@
  1.6415  msgstr ""
  1.6416  
  1.6417  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6418 -#: ../en/ch06-collab.xml:1144
  1.6419 +#: ../en/ch05-collab.xml:1144
  1.6420  msgid ""
  1.6421  "Mercurial interprets this by looking at the directory name on the "
  1.6422  "<emphasis>right</emphasis> hand side of the <quote><literal>=</literal></"
  1.6423 @@ -7232,7 +6315,7 @@
  1.6424  msgstr ""
  1.6425  
  1.6426  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6427 -#: ../en/ch06-collab.xml:1153
  1.6428 +#: ../en/ch05-collab.xml:1153
  1.6429  msgid ""
  1.6430  "Given the example above, if we have a repository whose local path is "
  1.6431  "<filename class=\"directory\">/my/root/this/repo</filename>, the CGI script "
  1.6432 @@ -7246,7 +6329,7 @@
  1.6433  msgstr ""
  1.6434  
  1.6435  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6436 -#: ../en/ch06-collab.xml:1167
  1.6437 +#: ../en/ch05-collab.xml:1167
  1.6438  msgid ""
  1.6439  "If we replace <filename class=\"directory\">/my/root</filename> on the left "
  1.6440  "hand side of this example with <filename class=\"directory\">/my</filename>, "
  1.6441 @@ -7257,7 +6340,7 @@
  1.6442  msgstr ""
  1.6443  
  1.6444  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6445 -#: ../en/ch06-collab.xml:1177
  1.6446 +#: ../en/ch05-collab.xml:1177
  1.6447  msgid ""
  1.6448  "The <filename role=\"special\">hgwebdir.cgi</filename> script will "
  1.6449  "recursively search each directory listed in the <literal>collections</"
  1.6450 @@ -7266,7 +6349,7 @@
  1.6451  msgstr ""
  1.6452  
  1.6453  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6454 -#: ../en/ch06-collab.xml:1183
  1.6455 +#: ../en/ch05-collab.xml:1183
  1.6456  msgid ""
  1.6457  "The <literal>collections</literal> mechanism makes it easy to publish many "
  1.6458  "repositories in a <quote>fire and forget</quote> manner.  You only need to "
  1.6459 @@ -7277,12 +6360,12 @@
  1.6460  msgstr ""
  1.6461  
  1.6462  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.6463 -#: ../en/ch06-collab.xml:1193
  1.6464 +#: ../en/ch05-collab.xml:1193
  1.6465  msgid "Explicitly specifying which repositories to publish"
  1.6466  msgstr "明确指出要发布的版本库"
  1.6467  
  1.6468  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6469 -#: ../en/ch06-collab.xml:1196
  1.6470 +#: ../en/ch05-collab.xml:1196
  1.6471  msgid ""
  1.6472  "In addition to the <literal>collections</literal> mechanism, the <filename "
  1.6473  "role=\"special\">hgwebdir.cgi</filename> script allows you to publish a "
  1.6474 @@ -7291,7 +6374,7 @@
  1.6475  msgstr ""
  1.6476  
  1.6477  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6478 -#: ../en/ch06-collab.xml:1204
  1.6479 +#: ../en/ch05-collab.xml:1205
  1.6480  msgid ""
  1.6481  "In this case, the virtual path (the component that will appear in a URL) is "
  1.6482  "on the left hand side of each definition, while the path to the repository is "
  1.6483 @@ -7301,7 +6384,7 @@
  1.6484  msgstr ""
  1.6485  
  1.6486  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6487 -#: ../en/ch06-collab.xml:1211
  1.6488 +#: ../en/ch05-collab.xml:1212
  1.6489  msgid ""
  1.6490  "If you wish, you can use both the <literal>collections</literal> and "
  1.6491  "<literal>paths</literal> mechanisms simultaneously in a single configuration "
  1.6492 @@ -7309,7 +6392,7 @@
  1.6493  msgstr ""
  1.6494  
  1.6495  #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para>
  1.6496 -#: ../en/ch06-collab.xml:1217
  1.6497 +#: ../en/ch05-collab.xml:1218
  1.6498  msgid ""
  1.6499  "If multiple repositories have the same virtual path, <filename role=\"special"
  1.6500  "\">hgwebdir.cgi</filename> will not report an error.  Instead, it will behave "
  1.6501 @@ -7317,12 +6400,12 @@
  1.6502  msgstr ""
  1.6503  
  1.6504  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6505 -#: ../en/ch06-collab.xml:1226
  1.6506 +#: ../en/ch05-collab.xml:1227
  1.6507  msgid "Downloading source archives"
  1.6508  msgstr "下载源代码档案包"
  1.6509  
  1.6510  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6511 -#: ../en/ch06-collab.xml:1228
  1.6512 +#: ../en/ch05-collab.xml:1229
  1.6513  msgid ""
  1.6514  "Mercurial's web interface lets users download an archive of any revision.  "
  1.6515  "This archive will contain a snapshot of the working directory as of that "
  1.6516 @@ -7330,21 +6413,21 @@
  1.6517  msgstr ""
  1.6518  
  1.6519  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6520 -#: ../en/ch06-collab.xml:1233
  1.6521 +#: ../en/ch05-collab.xml:1234
  1.6522  msgid ""
  1.6523  "By default, this feature is not enabled.  To enable it, you'll need to add an "
  1.6524  "<envar role=\"rc-item-web\">allow_archive</envar> item to the <literal role="
  1.6525 -"\"rc-web\">web</literal> section of your <filename role=\"special\"> /.hgrc</"
  1.6526 +"\"rc-web\">web</literal> section of your <filename role=\"special\">~/.hgrc</"
  1.6527  "filename>."
  1.6528  msgstr ""
  1.6529  
  1.6530  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.6531 -#: ../en/ch06-collab.xml:1241
  1.6532 +#: ../en/ch05-collab.xml:1242
  1.6533  msgid "Web configuration options"
  1.6534  msgstr "Web 配置选项"
  1.6535  
  1.6536  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6537 -#: ../en/ch06-collab.xml:1243
  1.6538 +#: ../en/ch05-collab.xml:1244
  1.6539  msgid ""
  1.6540  "Mercurial's web interfaces (the <command role=\"hg-cmd\">hg serve</command> "
  1.6541  "command, and the <filename role=\"special\">hgweb.cgi</filename> and "
  1.6542 @@ -7354,7 +6437,7 @@
  1.6543  msgstr ""
  1.6544  
  1.6545  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6546 -#: ../en/ch06-collab.xml:1251
  1.6547 +#: ../en/ch05-collab.xml:1252
  1.6548  msgid ""
  1.6549  "<envar role=\"rc-item-web\">allow_archive</envar>: Determines which (if any) "
  1.6550  "archive download mechanisms Mercurial supports.  If you enable this feature, "
  1.6551 @@ -7364,7 +6447,7 @@
  1.6552  msgstr ""
  1.6553  
  1.6554  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para>
  1.6555 -#: ../en/ch06-collab.xml:1260
  1.6556 +#: ../en/ch05-collab.xml:1261
  1.6557  msgid ""
  1.6558  "<literal>bz2</literal>: A <command>tar</command> archive, compressed using "
  1.6559  "<literal>bzip2</literal> compression.  This has the best compression ratio, "
  1.6560 @@ -7372,14 +6455,14 @@
  1.6561  msgstr ""
  1.6562  
  1.6563  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para>
  1.6564 -#: ../en/ch06-collab.xml:1266
  1.6565 +#: ../en/ch05-collab.xml:1267
  1.6566  msgid ""
  1.6567  "<literal>gz</literal>: A <command>tar</command> archive, compressed using "
  1.6568  "<literal>gzip</literal> compression."
  1.6569  msgstr ""
  1.6570  
  1.6571  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para>
  1.6572 -#: ../en/ch06-collab.xml:1270
  1.6573 +#: ../en/ch05-collab.xml:1271
  1.6574  msgid ""
  1.6575  "<literal>zip</literal>: A <command>zip</command> archive, compressed using "
  1.6576  "LZW compression.  This format has the worst compression ratio, but is widely "
  1.6577 @@ -7387,7 +6470,7 @@
  1.6578  msgstr ""
  1.6579  
  1.6580  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6581 -#: ../en/ch06-collab.xml:1276
  1.6582 +#: ../en/ch05-collab.xml:1277
  1.6583  msgid ""
  1.6584  "If you provide an empty list, or don't have an <envar role=\"rc-item-web"
  1.6585  "\">allow_archive</envar> entry at all, this feature will be disabled.  Here "
  1.6586 @@ -7395,7 +6478,7 @@
  1.6587  msgstr ""
  1.6588  
  1.6589  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6590 -#: ../en/ch06-collab.xml:1283
  1.6591 +#: ../en/ch05-collab.xml:1284
  1.6592  msgid ""
  1.6593  "<envar role=\"rc-item-web\">allowpull</envar>: Boolean.  Determines whether "
  1.6594  "the web interface allows remote users to <command role=\"hg-cmd\">hg pull</"
  1.6595 @@ -7405,33 +6488,33 @@
  1.6596  msgstr ""
  1.6597  
  1.6598  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6599 -#: ../en/ch06-collab.xml:1292
  1.6600 +#: ../en/ch05-collab.xml:1293
  1.6601  msgid ""
  1.6602  "<envar role=\"rc-item-web\">contact</envar>: String.  A free-form (but "
  1.6603  "preferably brief) string identifying the person or group in charge of the "
  1.6604  "repository.  This often contains the name and email address of a person or "
  1.6605  "mailing list.  It often makes sense to place this entry in a repository's own "
  1.6606  "<filename role=\"special\">.hg/hgrc</filename> file, but it can make sense to "
  1.6607 -"use in a global <filename role=\"special\"> /.hgrc</filename>\\ if every "
  1.6608 +"use in a global <filename role=\"special\">~/.hgrc</filename> if every "
  1.6609  "repository has a single maintainer."
  1.6610  msgstr ""
  1.6611  
  1.6612  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6613 -#: ../en/ch06-collab.xml:1303
  1.6614 +#: ../en/ch05-collab.xml:1304
  1.6615  msgid ""
  1.6616  "<envar role=\"rc-item-web\">maxchanges</envar>: Integer.  The default maximum "
  1.6617  "number of changesets to display in a single page of output."
  1.6618  msgstr ""
  1.6619  
  1.6620  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6621 -#: ../en/ch06-collab.xml:1307
  1.6622 +#: ../en/ch05-collab.xml:1308
  1.6623  msgid ""
  1.6624  "<envar role=\"rc-item-web\">maxfiles</envar>: Integer.  The default maximum "
  1.6625  "number of modified files to display in a single page of output."
  1.6626  msgstr ""
  1.6627  
  1.6628  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6629 -#: ../en/ch06-collab.xml:1311
  1.6630 +#: ../en/ch05-collab.xml:1312
  1.6631  msgid ""
  1.6632  "<envar role=\"rc-item-web\">stripes</envar>: Integer.  If the web interface "
  1.6633  "displays alternating <quote>stripes</quote> to make it easier to visually "
  1.6634 @@ -7440,7 +6523,7 @@
  1.6635  msgstr ""
  1.6636  
  1.6637  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6638 -#: ../en/ch06-collab.xml:1317
  1.6639 +#: ../en/ch05-collab.xml:1318
  1.6640  msgid ""
  1.6641  "<envar role=\"rc-item-web\">style</envar>: Controls the template Mercurial "
  1.6642  "uses to display the web interface.  Mercurial ships with two web templates, "
  1.6643 @@ -7451,7 +6534,7 @@
  1.6644  msgstr ""
  1.6645  
  1.6646  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.6647 -#: ../en/ch06-collab.xml:1328
  1.6648 +#: ../en/ch05-collab.xml:1330
  1.6649  msgid ""
  1.6650  "<envar role=\"rc-item-web\">templates</envar>: Path.  The directory in which "
  1.6651  "to search for template files.  By default, Mercurial searches in the "
  1.6652 @@ -7459,32 +6542,32 @@
  1.6653  msgstr ""
  1.6654  
  1.6655  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.6656 -#: ../en/ch06-collab.xml:1333
  1.6657 +#: ../en/ch05-collab.xml:1335
  1.6658  msgid ""
  1.6659  "If you are using <filename role=\"special\">hgwebdir.cgi</filename>, you can "
  1.6660  "place a few configuration items in a <literal role=\"rc-web\">web</literal> "
  1.6661  "section of the <filename role=\"special\">hgweb.config</filename> file "
  1.6662 -"instead of a <filename role=\"special\"> /.hgrc</filename>\\ file, for "
  1.6663 +"instead of a <filename role=\"special\">~/.hgrc</filename> file, for "
  1.6664  "convenience.  These items are <envar role=\"rc-item-web\">motd</envar> and "
  1.6665  "<envar role=\"rc-item-web\">style</envar>."
  1.6666  msgstr ""
  1.6667  
  1.6668  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.6669 -#: ../en/ch06-collab.xml:1344
  1.6670 +#: ../en/ch05-collab.xml:1346
  1.6671  msgid "Options specific to an individual repository"
  1.6672  msgstr "针对单个版本库的选项"
  1.6673  
  1.6674  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6675 -#: ../en/ch06-collab.xml:1346
  1.6676 +#: ../en/ch05-collab.xml:1348
  1.6677  msgid ""
  1.6678  "A few <literal role=\"rc-web\">web</literal> configuration items ought to be "
  1.6679  "placed in a repository's local <filename role=\"special\">.hg/hgrc</"
  1.6680 -"filename>, rather than a user's or global <filename role=\"special\"> /.hgrc</"
  1.6681 +"filename>, rather than a user's or global <filename role=\"special\">~/.hgrc</"
  1.6682  "filename>."
  1.6683  msgstr ""
  1.6684  
  1.6685  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.6686 -#: ../en/ch06-collab.xml:1352
  1.6687 +#: ../en/ch05-collab.xml:1353
  1.6688  msgid ""
  1.6689  "<envar role=\"rc-item-web\">description</envar>: String.  A free-form (but "
  1.6690  "preferably brief) string that describes the contents or purpose of the "
  1.6691 @@ -7492,7 +6575,7 @@
  1.6692  msgstr ""
  1.6693  
  1.6694  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.6695 -#: ../en/ch06-collab.xml:1357
  1.6696 +#: ../en/ch05-collab.xml:1358
  1.6697  msgid ""
  1.6698  "<envar role=\"rc-item-web\">name</envar>: String.  The name to use for the "
  1.6699  "repository in the web interface.  This overrides the default name, which is "
  1.6700 @@ -7500,21 +6583,21 @@
  1.6701  msgstr ""
  1.6702  
  1.6703  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.6704 -#: ../en/ch06-collab.xml:1365
  1.6705 +#: ../en/ch05-collab.xml:1366
  1.6706  msgid ""
  1.6707  "Options specific to the <command role=\"hg-cmd\">hg serve</command> command"
  1.6708  msgstr "命令 <command role=\"hg-cmd\">hg serve</command> 的选项"
  1.6709  
  1.6710  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6711 -#: ../en/ch06-collab.xml:1368
  1.6712 +#: ../en/ch05-collab.xml:1369
  1.6713  msgid ""
  1.6714  "Some of the items in the <literal role=\"rc-web\">web</literal> section of a "
  1.6715 -"<filename role=\"special\"> /.hgrc</filename>\\ file are only for use with "
  1.6716 -"the <command role=\"hg-cmd\">hg serve</command> command."
  1.6717 +"<filename role=\"special\">~/.hgrc</filename> file are only for use with the "
  1.6718 +"<command role=\"hg-cmd\">hg serve</command> command."
  1.6719  msgstr ""
  1.6720  
  1.6721  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.6722 -#: ../en/ch06-collab.xml:1374
  1.6723 +#: ../en/ch05-collab.xml:1375
  1.6724  msgid ""
  1.6725  "<envar role=\"rc-item-web\">accesslog</envar>: Path.  The name of a file into "
  1.6726  "which to write an access log.  By default, the <command role=\"hg-cmd\">hg "
  1.6727 @@ -7524,7 +6607,7 @@
  1.6728  msgstr ""
  1.6729  
  1.6730  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.6731 -#: ../en/ch06-collab.xml:1382
  1.6732 +#: ../en/ch05-collab.xml:1383
  1.6733  msgid ""
  1.6734  "<envar role=\"rc-item-web\">address</envar>: String.  The local address on "
  1.6735  "which the server should listen for incoming connections.  By default, the "
  1.6736 @@ -7532,7 +6615,7 @@
  1.6737  msgstr ""
  1.6738  
  1.6739  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.6740 -#: ../en/ch06-collab.xml:1387
  1.6741 +#: ../en/ch05-collab.xml:1388
  1.6742  msgid ""
  1.6743  "<envar role=\"rc-item-web\">errorlog</envar>: Path.  The name of a file into "
  1.6744  "which to write an error log.  By default, the <command role=\"hg-cmd\">hg "
  1.6745 @@ -7541,30 +6624,31 @@
  1.6746  msgstr ""
  1.6747  
  1.6748  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.6749 -#: ../en/ch06-collab.xml:1393
  1.6750 +#: ../en/ch05-collab.xml:1394
  1.6751  msgid ""
  1.6752  "<envar role=\"rc-item-web\">ipv6</envar>: Boolean.  Whether to use the IPv6 "
  1.6753  "protocol. By default, IPv6 is not used."
  1.6754  msgstr ""
  1.6755  
  1.6756  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.6757 -#: ../en/ch06-collab.xml:1397
  1.6758 +#: ../en/ch05-collab.xml:1398
  1.6759  msgid ""
  1.6760  "<envar role=\"rc-item-web\">port</envar>: Integer.  The TCP port number on "
  1.6761  "which the server should listen.  The default port number used is 8000."
  1.6762  msgstr ""
  1.6763  
  1.6764  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.6765 -#: ../en/ch06-collab.xml:1404
  1.6766 -msgid ""
  1.6767 -"Choosing the right <filename role=\"special\"> /.hgrc</filename>\\ file to "
  1.6768 -"add <literal role=\"rc-web\">web</literal> items to"
  1.6769 +#: ../en/ch05-collab.xml:1405
  1.6770 +#, fuzzy
  1.6771 +msgid ""
  1.6772 +"Choosing the right <filename role=\"special\">~/.hgrc</filename> file to add "
  1.6773 +"<literal role=\"rc-web\">web</literal> items to"
  1.6774  msgstr ""
  1.6775  "选择正确的 <filename role=\"special\"> /.hgrc</filename> 文件增加到 <literal "
  1.6776  "role=\"rc-web\">web</literal> 条目"
  1.6777  
  1.6778  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6779 -#: ../en/ch06-collab.xml:1408
  1.6780 +#: ../en/ch05-collab.xml:1409
  1.6781  msgid ""
  1.6782  "It is important to remember that a web server like Apache or "
  1.6783  "<literal>lighttpd</literal> will run under a user ID that is different to "
  1.6784 @@ -7573,38 +6657,37 @@
  1.6785  msgstr ""
  1.6786  
  1.6787  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.6788 -#: ../en/ch06-collab.xml:1415
  1.6789 +#: ../en/ch05-collab.xml:1416
  1.6790  msgid ""
  1.6791  "If you add <literal role=\"rc-web\">web</literal> items to your own personal "
  1.6792 -"<filename role=\"special\"> /.hgrc</filename>\\ file, CGI scripts won't read "
  1.6793 -"that <filename role=\"special\"> /.hgrc</filename>\\ file.  Those settings "
  1.6794 -"will thus only affect the behaviour of the <command role=\"hg-cmd\">hg serve</"
  1.6795 +"<filename role=\"special\">~/.hgrc</filename> file, CGI scripts won't read "
  1.6796 +"that <filename role=\"special\">~/.hgrc</filename> file.  Those settings will "
  1.6797 +"thus only affect the behaviour of the <command role=\"hg-cmd\">hg serve</"
  1.6798  "command> command when you run it.  To cause CGI scripts to see your settings, "
  1.6799 -"either create a <filename role=\"special\"> /.hgrc</filename>\\ file in the "
  1.6800 +"either create a <filename role=\"special\">~/.hgrc</filename> file in the "
  1.6801  "home directory of the user ID that runs your web server, or add those "
  1.6802 -"settings to a system-wide <filename role=\"special\"> /.hgrc</filename>\\ "
  1.6803 -"file."
  1.6804 +"settings to a system-wide <filename role=\"special\">~/.hgrc</filename> file."
  1.6805  msgstr ""
  1.6806  
  1.6807  #. type: Content of: <book><chapter><title>
  1.6808 -#: ../en/ch07-filenames.xml:5
  1.6809 +#: ../en/ch06-filenames.xml:5
  1.6810  msgid "File names and pattern matching"
  1.6811  msgstr "文件名称与模式匹配"
  1.6812  
  1.6813  #. type: Content of: <book><chapter><para>
  1.6814 -#: ../en/ch07-filenames.xml:7
  1.6815 +#: ../en/ch06-filenames.xml:7
  1.6816  msgid ""
  1.6817  "Mercurial provides mechanisms that let you work with file names in a "
  1.6818  "consistent and expressive way."
  1.6819  msgstr ""
  1.6820  
  1.6821  #. type: Content of: <book><chapter><sect1><title>
  1.6822 -#: ../en/ch07-filenames.xml:11
  1.6823 +#: ../en/ch06-filenames.xml:11
  1.6824  msgid "Simple file naming"
  1.6825  msgstr "简单文件名称"
  1.6826  
  1.6827  #. type: Content of: <book><chapter><sect1><para>
  1.6828 -#: ../en/ch07-filenames.xml:13
  1.6829 +#: ../en/ch06-filenames.xml:13
  1.6830  msgid ""
  1.6831  "Mercurial uses a unified piece of machinery <quote>under the hood</quote> to "
  1.6832  "handle file names.  Every command behaves uniformly with respect to file "
  1.6833 @@ -7612,7 +6695,7 @@
  1.6834  msgstr ""
  1.6835  
  1.6836  #. type: Content of: <book><chapter><sect1><para>
  1.6837 -#: ../en/ch07-filenames.xml:18
  1.6838 +#: ../en/ch06-filenames.xml:18
  1.6839  msgid ""
  1.6840  "If you explicitly name real files on the command line, Mercurial works with "
  1.6841  "exactly those files, as you would expect.  &interaction.filenames.files;"
  1.6842 @@ -7620,7 +6703,7 @@
  1.6843  
  1.6844  #
  1.6845  #. type: Content of: <book><chapter><sect1><para>
  1.6846 -#: ../en/ch07-filenames.xml:22
  1.6847 +#: ../en/ch06-filenames.xml:22
  1.6848  msgid ""
  1.6849  "When you provide a directory name, Mercurial will interpret this as "
  1.6850  "<quote>operate on every file in this directory and its subdirectories</"
  1.6851 @@ -7630,12 +6713,12 @@
  1.6852  msgstr ""
  1.6853  
  1.6854  #. type: Content of: <book><chapter><sect1><title>
  1.6855 -#: ../en/ch07-filenames.xml:33
  1.6856 +#: ../en/ch06-filenames.xml:33
  1.6857  msgid "Running commands without any file names"
  1.6858  msgstr "不提供文件名称的执行命令"
  1.6859  
  1.6860  #. type: Content of: <book><chapter><sect1><para>
  1.6861 -#: ../en/ch07-filenames.xml:35
  1.6862 +#: ../en/ch06-filenames.xml:35
  1.6863  msgid ""
  1.6864  "Mercurial's commands that work with file names have useful default behaviours "
  1.6865  "when you invoke them without providing any file names or patterns.  What kind "
  1.6866 @@ -7645,14 +6728,14 @@
  1.6867  msgstr ""
  1.6868  
  1.6869  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6870 -#: ../en/ch07-filenames.xml:42
  1.6871 +#: ../en/ch06-filenames.xml:42
  1.6872  msgid ""
  1.6873  "Most commands will operate on the entire working directory. This is what the "
  1.6874  "<command role=\"hg-cmd\">hg add</command> command does, for example."
  1.6875  msgstr ""
  1.6876  
  1.6877  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.6878 -#: ../en/ch07-filenames.xml:46
  1.6879 +#: ../en/ch06-filenames.xml:46
  1.6880  msgid ""
  1.6881  "If the command has effects that are difficult or impossible to reverse, it "
  1.6882  "will force you to explicitly provide at least one name or pattern (see "
  1.6883 @@ -7662,7 +6745,7 @@
  1.6884  
  1.6885  #
  1.6886  #. type: Content of: <book><chapter><sect1><para>
  1.6887 -#: ../en/ch07-filenames.xml:54
  1.6888 +#: ../en/ch06-filenames.xml:54
  1.6889  msgid ""
  1.6890  "It's easy to work around these default behaviours if they don't suit you.  If "
  1.6891  "a command normally operates on the whole working directory, you can invoke it "
  1.6892 @@ -7672,7 +6755,7 @@
  1.6893  
  1.6894  #
  1.6895  #. type: Content of: <book><chapter><sect1><para>
  1.6896 -#: ../en/ch07-filenames.xml:62
  1.6897 +#: ../en/ch06-filenames.xml:62
  1.6898  msgid ""
  1.6899  "Along the same lines, some commands normally print file names relative to the "
  1.6900  "root of the repository, even if you're invoking them from a subdirectory.  "
  1.6901 @@ -7685,12 +6768,12 @@
  1.6902  msgstr ""
  1.6903  
  1.6904  #. type: Content of: <book><chapter><sect1><title>
  1.6905 -#: ../en/ch07-filenames.xml:76
  1.6906 +#: ../en/ch06-filenames.xml:76
  1.6907  msgid "Telling you what's going on"
  1.6908  msgstr "告诉你正在做什么"
  1.6909  
  1.6910  #. type: Content of: <book><chapter><sect1><para>
  1.6911 -#: ../en/ch07-filenames.xml:78
  1.6912 +#: ../en/ch06-filenames.xml:78
  1.6913  msgid ""
  1.6914  "The <command role=\"hg-cmd\">hg add</command> example in the preceding "
  1.6915  "section illustrates something else that's helpful about Mercurial commands.  "
  1.6916 @@ -7700,7 +6783,7 @@
  1.6917  msgstr ""
  1.6918  
  1.6919  #. type: Content of: <book><chapter><sect1><para>
  1.6920 -#: ../en/ch07-filenames.xml:85
  1.6921 +#: ../en/ch06-filenames.xml:85
  1.6922  msgid ""
  1.6923  "The principle here is of <emphasis>least surprise</emphasis>.  If you've "
  1.6924  "exactly named a file on the command line, there's no point in repeating it "
  1.6925 @@ -7710,7 +6793,7 @@
  1.6926  msgstr ""
  1.6927  
  1.6928  #. type: Content of: <book><chapter><sect1><para>
  1.6929 -#: ../en/ch07-filenames.xml:92
  1.6930 +#: ../en/ch06-filenames.xml:92
  1.6931  msgid ""
  1.6932  "For commands that behave this way, you can silence them using the <option "
  1.6933  "role=\"hg-opt-global\">-q</option> option.  You can also get them to print "
  1.6934 @@ -7719,12 +6802,12 @@
  1.6935  msgstr ""
  1.6936  
  1.6937  #. type: Content of: <book><chapter><sect1><title>
  1.6938 -#: ../en/ch07-filenames.xml:100
  1.6939 +#: ../en/ch06-filenames.xml:100
  1.6940  msgid "Using patterns to identify files"
  1.6941  msgstr "使用模式标识文件"
  1.6942  
  1.6943  #. type: Content of: <book><chapter><sect1><para>
  1.6944 -#: ../en/ch07-filenames.xml:102
  1.6945 +#: ../en/ch06-filenames.xml:102
  1.6946  msgid ""
  1.6947  "In addition to working with file and directory names, Mercurial lets you use "
  1.6948  "<emphasis>patterns</emphasis> to identify files.  Mercurial's pattern "
  1.6949 @@ -7732,7 +6815,7 @@
  1.6950  msgstr ""
  1.6951  
  1.6952  #. type: Content of: <book><chapter><sect1><para>
  1.6953 -#: ../en/ch07-filenames.xml:106
  1.6954 +#: ../en/ch06-filenames.xml:106
  1.6955  msgid ""
  1.6956  "On Unix-like systems (Linux, MacOS, etc.), the job of matching file names to "
  1.6957  "patterns normally falls to the shell.  On these systems, you must explicitly "
  1.6958 @@ -7742,21 +6825,21 @@
  1.6959  msgstr ""
  1.6960  
  1.6961  #. type: Content of: <book><chapter><sect1><para>
  1.6962 -#: ../en/ch07-filenames.xml:113
  1.6963 +#: ../en/ch06-filenames.xml:113
  1.6964  msgid ""
  1.6965  "To provide a pattern in place of a regular name on the command line, the "
  1.6966  "mechanism is simple:"
  1.6967  msgstr ""
  1.6968  
  1.6969  #. type: Content of: <book><chapter><sect1><para>
  1.6970 -#: ../en/ch07-filenames.xml:116
  1.6971 +#: ../en/ch06-filenames.xml:116
  1.6972  msgid ""
  1.6973  "That is, a pattern is identified by a short text string that says what kind "
  1.6974  "of pattern this is, followed by a colon, followed by the actual pattern."
  1.6975  msgstr ""
  1.6976  
  1.6977  #. type: Content of: <book><chapter><sect1><para>
  1.6978 -#: ../en/ch07-filenames.xml:120
  1.6979 +#: ../en/ch06-filenames.xml:120
  1.6980  msgid ""
  1.6981  "Mercurial supports two kinds of pattern syntax.  The most frequently used is "
  1.6982  "called <literal>glob</literal>; this is the same kind of pattern matching "
  1.6983 @@ -7765,7 +6848,7 @@
  1.6984  msgstr ""
  1.6985  
  1.6986  #. type: Content of: <book><chapter><sect1><para>
  1.6987 -#: ../en/ch07-filenames.xml:125
  1.6988 +#: ../en/ch06-filenames.xml:125
  1.6989  msgid ""
  1.6990  "When Mercurial does automatic pattern matching on Windows, it uses "
  1.6991  "<literal>glob</literal> syntax.  You can thus omit the <quote><literal>glob:</"
  1.6992 @@ -7773,14 +6856,14 @@
  1.6993  msgstr ""
  1.6994  
  1.6995  #. type: Content of: <book><chapter><sect1><para>
  1.6996 -#: ../en/ch07-filenames.xml:130
  1.6997 +#: ../en/ch06-filenames.xml:130
  1.6998  msgid ""
  1.6999  "The <literal>re</literal> syntax is more powerful; it lets you specify "
  1.7000  "patterns using regular expressions, also known as regexps."
  1.7001  msgstr ""
  1.7002  
  1.7003  #. type: Content of: <book><chapter><sect1><para>
  1.7004 -#: ../en/ch07-filenames.xml:134
  1.7005 +#: ../en/ch06-filenames.xml:134
  1.7006  msgid ""
  1.7007  "By the way, in the examples that follow, notice that I'm careful to wrap all "
  1.7008  "of my patterns in quote characters, so that they won't get expanded by the "
  1.7009 @@ -7788,12 +6871,12 @@
  1.7010  msgstr ""
  1.7011  
  1.7012  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7013 -#: ../en/ch07-filenames.xml:140
  1.7014 +#: ../en/ch06-filenames.xml:140
  1.7015  msgid "Shell-style <literal>glob</literal> patterns"
  1.7016  msgstr "外壳风格的 <literal>glob</literal>  模式"
  1.7017  
  1.7018  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7019 -#: ../en/ch07-filenames.xml:142
  1.7020 +#: ../en/ch06-filenames.xml:142
  1.7021  msgid ""
  1.7022  "This is an overview of the kinds of patterns you can use when you're matching "
  1.7023  "on glob patterns."
  1.7024 @@ -7801,7 +6884,7 @@
  1.7025  
  1.7026  #
  1.7027  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7028 -#: ../en/ch07-filenames.xml:145
  1.7029 +#: ../en/ch06-filenames.xml:145
  1.7030  msgid ""
  1.7031  "The <quote><literal>*</literal></quote> character matches any string, within "
  1.7032  "a single directory."
  1.7033 @@ -7809,7 +6892,7 @@
  1.7034  
  1.7035  #
  1.7036  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7037 -#: ../en/ch07-filenames.xml:150
  1.7038 +#: ../en/ch06-filenames.xml:150
  1.7039  msgid ""
  1.7040  "The <quote><literal>**</literal></quote> pattern matches any string, and "
  1.7041  "crosses directory boundaries.  It's not a standard Unix glob token, but it's "
  1.7042 @@ -7818,13 +6901,13 @@
  1.7043  
  1.7044  #
  1.7045  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7046 -#: ../en/ch07-filenames.xml:157
  1.7047 +#: ../en/ch06-filenames.xml:157
  1.7048  msgid ""
  1.7049  "The <quote><literal>?</literal></quote> pattern matches any single character."
  1.7050  msgstr ""
  1.7051  
  1.7052  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7053 -#: ../en/ch07-filenames.xml:162
  1.7054 +#: ../en/ch06-filenames.xml:162
  1.7055  msgid ""
  1.7056  "The <quote><literal>[</literal></quote> character begins a "
  1.7057  "<emphasis>character class</emphasis>.  This matches any single character "
  1.7058 @@ -7835,7 +6918,7 @@
  1.7059  msgstr ""
  1.7060  
  1.7061  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7062 -#: ../en/ch07-filenames.xml:172
  1.7063 +#: ../en/ch06-filenames.xml:172
  1.7064  msgid ""
  1.7065  "If the first character after the <quote><literal>[</literal></quote> in a "
  1.7066  "character class is a <quote><literal>!</literal></quote>, it "
  1.7067 @@ -7844,7 +6927,7 @@
  1.7068  msgstr ""
  1.7069  
  1.7070  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7071 -#: ../en/ch07-filenames.xml:178
  1.7072 +#: ../en/ch06-filenames.xml:178
  1.7073  msgid ""
  1.7074  "A <quote><literal>{</literal></quote> begins a group of subpatterns, where "
  1.7075  "the whole group matches if any subpattern in the group matches.  The "
  1.7076 @@ -7853,13 +6936,13 @@
  1.7077  msgstr ""
  1.7078  
  1.7079  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.7080 -#: ../en/ch07-filenames.xml:187
  1.7081 +#: ../en/ch06-filenames.xml:187
  1.7082  msgid "Watch out!"
  1.7083  msgstr "千万小心!"
  1.7084  
  1.7085  #
  1.7086  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.7087 -#: ../en/ch07-filenames.xml:189
  1.7088 +#: ../en/ch06-filenames.xml:189
  1.7089  msgid ""
  1.7090  "Don't forget that if you want to match a pattern in any directory, you should "
  1.7091  "not be using the <quote><literal>*</literal></quote> match-any token, as this "
  1.7092 @@ -7869,12 +6952,12 @@
  1.7093  msgstr ""
  1.7094  
  1.7095  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7096 -#: ../en/ch07-filenames.xml:201
  1.7097 +#: ../en/ch06-filenames.xml:201
  1.7098  msgid "Regular expression matching with <literal>re</literal> patterns"
  1.7099  msgstr "使用 <literal>re</literal> 模式的正则表达式匹配"
  1.7100  
  1.7101  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7102 -#: ../en/ch07-filenames.xml:204
  1.7103 +#: ../en/ch06-filenames.xml:204
  1.7104  msgid ""
  1.7105  "Mercurial accepts the same regular expression syntax as the Python "
  1.7106  "programming language (it uses Python's regexp engine internally). This is "
  1.7107 @@ -7883,7 +6966,7 @@
  1.7108  msgstr ""
  1.7109  
  1.7110  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7111 -#: ../en/ch07-filenames.xml:210
  1.7112 +#: ../en/ch06-filenames.xml:210
  1.7113  msgid ""
  1.7114  "I won't discuss Mercurial's regexp dialect in any detail here, as regexps are "
  1.7115  "not often used.  Perl-style regexps are in any case already exhaustively "
  1.7116 @@ -7893,7 +6976,7 @@
  1.7117  msgstr ""
  1.7118  
  1.7119  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7120 -#: ../en/ch07-filenames.xml:217
  1.7121 +#: ../en/ch06-filenames.xml:217
  1.7122  msgid ""
  1.7123  "A regexp is matched against an entire file name, relative to the root of the "
  1.7124  "repository.  In other words, even if you're already in subbdirectory "
  1.7125 @@ -7903,7 +6986,7 @@
  1.7126  msgstr ""
  1.7127  
  1.7128  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7129 -#: ../en/ch07-filenames.xml:224
  1.7130 +#: ../en/ch06-filenames.xml:224
  1.7131  msgid ""
  1.7132  "One thing to note, if you're familiar with Perl-style regexps, is that "
  1.7133  "Mercurial's are <emphasis>rooted</emphasis>.  That is, a regexp starts "
  1.7134 @@ -7913,12 +6996,12 @@
  1.7135  msgstr ""
  1.7136  
  1.7137  #. type: Content of: <book><chapter><sect1><title>
  1.7138 -#: ../en/ch07-filenames.xml:234
  1.7139 +#: ../en/ch06-filenames.xml:234
  1.7140  msgid "Filtering files"
  1.7141  msgstr "过滤文件"
  1.7142  
  1.7143  #. type: Content of: <book><chapter><sect1><para>
  1.7144 -#: ../en/ch07-filenames.xml:236
  1.7145 +#: ../en/ch06-filenames.xml:236
  1.7146  msgid ""
  1.7147  "Not only does Mercurial give you a variety of ways to specify files; it lets "
  1.7148  "you further winnow those files using <emphasis>filters</emphasis>.  Commands "
  1.7149 @@ -7926,7 +7009,7 @@
  1.7150  msgstr ""
  1.7151  
  1.7152  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7153 -#: ../en/ch07-filenames.xml:241
  1.7154 +#: ../en/ch06-filenames.xml:241
  1.7155  msgid ""
  1.7156  "<option role=\"hg-opt-global\">-I</option>, or <option role=\"hg-opt-global"
  1.7157  "\">--include</option>, lets you specify a pattern that file names must match "
  1.7158 @@ -7934,7 +7017,7 @@
  1.7159  msgstr ""
  1.7160  
  1.7161  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7162 -#: ../en/ch07-filenames.xml:246
  1.7163 +#: ../en/ch06-filenames.xml:246
  1.7164  msgid ""
  1.7165  "<option role=\"hg-opt-global\">-X</option>, or <option role=\"hg-opt-global"
  1.7166  "\">--exclude</option>, gives you a way to <emphasis>avoid</emphasis> "
  1.7167 @@ -7942,7 +7025,7 @@
  1.7168  msgstr ""
  1.7169  
  1.7170  #. type: Content of: <book><chapter><sect1><para>
  1.7171 -#: ../en/ch07-filenames.xml:251
  1.7172 +#: ../en/ch06-filenames.xml:251
  1.7173  msgid ""
  1.7174  "You can provide multiple <option role=\"hg-opt-global\">-I</option> and "
  1.7175  "<option role=\"hg-opt-global\">-X</option> options on the command line, and "
  1.7176 @@ -7951,36 +7034,36 @@
  1.7177  msgstr ""
  1.7178  
  1.7179  #. type: Content of: <book><chapter><sect1><para>
  1.7180 -#: ../en/ch07-filenames.xml:258
  1.7181 +#: ../en/ch06-filenames.xml:258
  1.7182  msgid ""
  1.7183  "You can read a <option role=\"hg-opt-global\">-I</option> filter as "
  1.7184  "<quote>process only the files that match this filter</quote>."
  1.7185  msgstr ""
  1.7186  
  1.7187  #. type: Content of: <book><chapter><sect1><para>
  1.7188 -#: ../en/ch07-filenames.xml:264
  1.7189 +#: ../en/ch06-filenames.xml:264
  1.7190  msgid ""
  1.7191  "The <option role=\"hg-opt-global\">-X</option> filter is best read as "
  1.7192  "<quote>process only the files that don't match this pattern</quote>."
  1.7193  msgstr ""
  1.7194  
  1.7195  #. type: Content of: <book><chapter><sect1><title>
  1.7196 -#: ../en/ch07-filenames.xml:272
  1.7197 +#: ../en/ch06-filenames.xml:272
  1.7198  msgid "Ignoring unwanted files and directories"
  1.7199  msgstr "忽略不需要的文件和目录"
  1.7200  
  1.7201  #. type: Content of: <book><chapter><sect1><para>
  1.7202 -#: ../en/ch07-filenames.xml:274
  1.7203 +#: ../en/ch06-filenames.xml:274
  1.7204  msgid "XXX."
  1.7205  msgstr ""
  1.7206  
  1.7207  #. type: Content of: <book><chapter><sect1><title>
  1.7208 -#: ../en/ch07-filenames.xml:278
  1.7209 +#: ../en/ch06-filenames.xml:278
  1.7210  msgid "Case sensitivity"
  1.7211  msgstr "大小写敏感性"
  1.7212  
  1.7213  #. type: Content of: <book><chapter><sect1><para>
  1.7214 -#: ../en/ch07-filenames.xml:280
  1.7215 +#: ../en/ch06-filenames.xml:280
  1.7216  msgid ""
  1.7217  "If you're working in a mixed development environment that contains both Linux "
  1.7218  "(or other Unix) systems and Macs or Windows systems, you should keep in the "
  1.7219 @@ -7991,7 +7074,7 @@
  1.7220  msgstr ""
  1.7221  
  1.7222  #. type: Content of: <book><chapter><sect1><para>
  1.7223 -#: ../en/ch07-filenames.xml:289
  1.7224 +#: ../en/ch06-filenames.xml:289
  1.7225  msgid ""
  1.7226  "Operating systems and filesystems differ in the way they handle the "
  1.7227  "<emphasis>case</emphasis> of characters in file and directory names.  There "
  1.7228 @@ -7999,7 +7082,7 @@
  1.7229  msgstr ""
  1.7230  
  1.7231  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7232 -#: ../en/ch07-filenames.xml:294
  1.7233 +#: ../en/ch06-filenames.xml:294
  1.7234  msgid ""
  1.7235  "Completely case insensitive.  Uppercase and lowercase versions of a letter "
  1.7236  "are treated as identical, both when creating a file and during subsequent "
  1.7237 @@ -8007,7 +7090,7 @@
  1.7238  msgstr ""
  1.7239  
  1.7240  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7241 -#: ../en/ch07-filenames.xml:299
  1.7242 +#: ../en/ch06-filenames.xml:299
  1.7243  msgid ""
  1.7244  "Case preserving, but insensitive.  When a file or directory is created, the "
  1.7245  "case of its name is stored, and can be retrieved and displayed by the "
  1.7246 @@ -8019,7 +7102,7 @@
  1.7247  msgstr ""
  1.7248  
  1.7249  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7250 -#: ../en/ch07-filenames.xml:310
  1.7251 +#: ../en/ch06-filenames.xml:310
  1.7252  msgid ""
  1.7253  "Case sensitive.  The case of a name is significant at all times. The names "
  1.7254  "<filename>foo</filename> and {FoO} identify different files.  This is the way "
  1.7255 @@ -8027,7 +7110,7 @@
  1.7256  msgstr ""
  1.7257  
  1.7258  #. type: Content of: <book><chapter><sect1><para>
  1.7259 -#: ../en/ch07-filenames.xml:316
  1.7260 +#: ../en/ch06-filenames.xml:316
  1.7261  msgid ""
  1.7262  "On Unix-like systems, it is possible to have any or all of the above ways of "
  1.7263  "handling case in action at once.  For example, if you use a USB thumb drive "
  1.7264 @@ -8036,12 +7119,12 @@
  1.7265  msgstr ""
  1.7266  
  1.7267  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7268 -#: ../en/ch07-filenames.xml:323
  1.7269 +#: ../en/ch06-filenames.xml:323
  1.7270  msgid "Safe, portable repository storage"
  1.7271  msgstr "安全,可移植的版本库存储"
  1.7272  
  1.7273  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7274 -#: ../en/ch07-filenames.xml:325
  1.7275 +#: ../en/ch06-filenames.xml:325
  1.7276  msgid ""
  1.7277  "Mercurial's repository storage mechanism is <emphasis>case safe</emphasis>.  "
  1.7278  "It translates file names so that they can be safely stored on both case "
  1.7279 @@ -8052,12 +7135,12 @@
  1.7280  msgstr ""
  1.7281  
  1.7282  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7283 -#: ../en/ch07-filenames.xml:336
  1.7284 +#: ../en/ch06-filenames.xml:336
  1.7285  msgid "Detecting case conflicts"
  1.7286  msgstr "检测大小写冲突"
  1.7287  
  1.7288  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7289 -#: ../en/ch07-filenames.xml:338
  1.7290 +#: ../en/ch06-filenames.xml:338
  1.7291  msgid ""
  1.7292  "When operating in the working directory, Mercurial honours the naming policy "
  1.7293  "of the filesystem where the working directory is located.  If the filesystem "
  1.7294 @@ -8066,7 +7149,7 @@
  1.7295  msgstr ""
  1.7296  
  1.7297  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7298 -#: ../en/ch07-filenames.xml:344
  1.7299 +#: ../en/ch06-filenames.xml:344
  1.7300  msgid ""
  1.7301  "An important aspect of this approach is that it is possible to commit a "
  1.7302  "changeset on a case sensitive (typically Linux or Unix) filesystem that will "
  1.7303 @@ -8079,7 +7162,7 @@
  1.7304  msgstr ""
  1.7305  
  1.7306  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7307 -#: ../en/ch07-filenames.xml:355
  1.7308 +#: ../en/ch06-filenames.xml:355
  1.7309  msgid ""
  1.7310  "If a Windows or Mac user pulls this change, they will not initially have a "
  1.7311  "problem, because Mercurial's repository storage mechanism is case safe.  "
  1.7312 @@ -8091,12 +7174,12 @@
  1.7313  msgstr ""
  1.7314  
  1.7315  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7316 -#: ../en/ch07-filenames.xml:367
  1.7317 +#: ../en/ch06-filenames.xml:367
  1.7318  msgid "Fixing a case conflict"
  1.7319  msgstr "修正大小写冲突"
  1.7320  
  1.7321  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7322 -#: ../en/ch07-filenames.xml:369
  1.7323 +#: ../en/ch06-filenames.xml:369
  1.7324  msgid ""
  1.7325  "If you are using Windows or a Mac in a mixed environment where some of your "
  1.7326  "collaborators are using Linux or Unix, and Mercurial reports a case folding "
  1.7327 @@ -8106,7 +7189,7 @@
  1.7328  msgstr ""
  1.7329  
  1.7330  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7331 -#: ../en/ch07-filenames.xml:376
  1.7332 +#: ../en/ch06-filenames.xml:376
  1.7333  msgid ""
  1.7334  "Just find a nearby Linux or Unix box, clone the problem repository onto it, "
  1.7335  "and use Mercurial's <command role=\"hg-cmd\">hg rename</command> command to "
  1.7336 @@ -8118,7 +7201,7 @@
  1.7337  msgstr ""
  1.7338  
  1.7339  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7340 -#: ../en/ch07-filenames.xml:386
  1.7341 +#: ../en/ch06-filenames.xml:386
  1.7342  msgid ""
  1.7343  "The changeset with case-conflicting names will remain in your project's "
  1.7344  "history, and you still won't be able to <command role=\"hg-cmd\">hg update</"
  1.7345 @@ -8127,7 +7210,7 @@
  1.7346  msgstr ""
  1.7347  
  1.7348  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.7349 -#: ../en/ch07-filenames.xml:393
  1.7350 +#: ../en/ch06-filenames.xml:393
  1.7351  msgid ""
  1.7352  "Prior to version 0.9.3, Mercurial did not use a case safe repository storage "
  1.7353  "mechanism, and did not detect case folding conflicts.  If you are using an "
  1.7354 @@ -8136,12 +7219,12 @@
  1.7355  msgstr ""
  1.7356  
  1.7357  #. type: Content of: <book><chapter><title>
  1.7358 -#: ../en/ch08-branch.xml:5
  1.7359 +#: ../en/ch07-branch.xml:5
  1.7360  msgid "Managing releases and branchy development"
  1.7361  msgstr "发布管理与分支开发"
  1.7362  
  1.7363  #. type: Content of: <book><chapter><para>
  1.7364 -#: ../en/ch08-branch.xml:7
  1.7365 +#: ../en/ch07-branch.xml:7
  1.7366  msgid ""
  1.7367  "Mercurial provides several mechanisms for you to manage a project that is "
  1.7368  "making progress on multiple fronts at once.  To understand these mechanisms, "
  1.7369 @@ -8149,7 +7232,7 @@
  1.7370  msgstr ""
  1.7371  
  1.7372  #. type: Content of: <book><chapter><para>
  1.7373 -#: ../en/ch08-branch.xml:12
  1.7374 +#: ../en/ch07-branch.xml:12
  1.7375  msgid ""
  1.7376  "Many software projects issue periodic <quote>major</quote> releases that "
  1.7377  "contain substantial new features.  In parallel, they may issue <quote>minor</"
  1.7378 @@ -8158,7 +7241,7 @@
  1.7379  msgstr ""
  1.7380  
  1.7381  #. type: Content of: <book><chapter><para>
  1.7382 -#: ../en/ch08-branch.xml:18
  1.7383 +#: ../en/ch07-branch.xml:18
  1.7384  msgid ""
  1.7385  "In this chapter, we'll start by talking about how to keep records of project "
  1.7386  "milestones such as releases.  We'll then continue on to talk about the flow "
  1.7387 @@ -8167,12 +7250,12 @@
  1.7388  msgstr ""
  1.7389  
  1.7390  #. type: Content of: <book><chapter><sect1><title>
  1.7391 -#: ../en/ch08-branch.xml:25
  1.7392 +#: ../en/ch07-branch.xml:25
  1.7393  msgid "Giving a persistent name to a revision"
  1.7394  msgstr "给版本指定一个永久的名称"
  1.7395  
  1.7396  #. type: Content of: <book><chapter><sect1><para>
  1.7397 -#: ../en/ch08-branch.xml:27
  1.7398 +#: ../en/ch07-branch.xml:27
  1.7399  msgid ""
  1.7400  "Once you decide that you'd like to call a particular revision a "
  1.7401  "<quote>release</quote>, it's a good idea to record the identity of that "
  1.7402 @@ -8183,7 +7266,7 @@
  1.7403  
  1.7404  #
  1.7405  #. type: Content of: <book><chapter><sect1><para>
  1.7406 -#: ../en/ch08-branch.xml:34
  1.7407 +#: ../en/ch07-branch.xml:34
  1.7408  msgid ""
  1.7409  "Mercurial lets you give a permanent name to any revision using the <command "
  1.7410  "role=\"hg-cmd\">hg tag</command> command.  Not surprisingly, these names are "
  1.7411 @@ -8191,7 +7274,7 @@
  1.7412  msgstr ""
  1.7413  
  1.7414  #. type: Content of: <book><chapter><sect1><para>
  1.7415 -#: ../en/ch08-branch.xml:40
  1.7416 +#: ../en/ch07-branch.xml:40
  1.7417  msgid ""
  1.7418  "A tag is nothing more than a <quote>symbolic name</quote> for a revision.  "
  1.7419  "Tags exist purely for your convenience, so that you have a handy permanent "
  1.7420 @@ -8202,22 +7285,22 @@
  1.7421  msgstr ""
  1.7422  
  1.7423  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7424 -#: ../en/ch08-branch.xml:49
  1.7425 +#: ../en/ch07-branch.xml:49
  1.7426  msgid "Colon (ASCII 58, <quote><literal>:</literal></quote>)"
  1.7427  msgstr ""
  1.7428  
  1.7429  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7430 -#: ../en/ch08-branch.xml:52
  1.7431 +#: ../en/ch07-branch.xml:52
  1.7432  msgid "Carriage return (ASCII 13, <quote><literal>\\r</literal></quote>)"
  1.7433  msgstr ""
  1.7434  
  1.7435  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7436 -#: ../en/ch08-branch.xml:55
  1.7437 +#: ../en/ch07-branch.xml:55
  1.7438  msgid "Newline (ASCII 10, <quote><literal>\\n</literal></quote>)"
  1.7439  msgstr ""
  1.7440  
  1.7441  #. type: Content of: <book><chapter><sect1><para>
  1.7442 -#: ../en/ch08-branch.xml:59
  1.7443 +#: ../en/ch07-branch.xml:59
  1.7444  msgid ""
  1.7445  "You can use the <command role=\"hg-cmd\">hg tags</command> command to display "
  1.7446  "the tags present in your repository.  In the output, each tagged revision is "
  1.7447 @@ -8226,7 +7309,7 @@
  1.7448  msgstr ""
  1.7449  
  1.7450  #. type: Content of: <book><chapter><sect1><para>
  1.7451 -#: ../en/ch08-branch.xml:67
  1.7452 +#: ../en/ch07-branch.xml:67
  1.7453  msgid ""
  1.7454  "Notice that <literal>tip</literal> is listed in the output of <command role="
  1.7455  "\"hg-cmd\">hg tags</command>.  The <literal>tip</literal> tag is a special "
  1.7456 @@ -8235,7 +7318,7 @@
  1.7457  msgstr ""
  1.7458  
  1.7459  #. type: Content of: <book><chapter><sect1><para>
  1.7460 -#: ../en/ch08-branch.xml:73
  1.7461 +#: ../en/ch07-branch.xml:73
  1.7462  msgid ""
  1.7463  "In the output of the <command role=\"hg-cmd\">hg tags</command> command, tags "
  1.7464  "are listed in reverse order, by revision number.  This usually means that "
  1.7465 @@ -8245,7 +7328,7 @@
  1.7466  msgstr ""
  1.7467  
  1.7468  #. type: Content of: <book><chapter><sect1><para>
  1.7469 -#: ../en/ch08-branch.xml:80
  1.7470 +#: ../en/ch07-branch.xml:80
  1.7471  msgid ""
  1.7472  "When you run <command role=\"hg-cmd\">hg log</command>, if it displays a "
  1.7473  "revision that has tags associated with it, it will print those tags."
  1.7474 @@ -8253,7 +7336,7 @@
  1.7475  
  1.7476  #
  1.7477  #. type: Content of: <book><chapter><sect1><para>
  1.7478 -#: ../en/ch08-branch.xml:86
  1.7479 +#: ../en/ch07-branch.xml:86
  1.7480  msgid ""
  1.7481  "Any time you need to provide a revision ID to a Mercurial command, the "
  1.7482  "command will accept a tag name in its place.  Internally, Mercurial will "
  1.7483 @@ -8261,7 +7344,7 @@
  1.7484  msgstr ""
  1.7485  
  1.7486  #. type: Content of: <book><chapter><sect1><para>
  1.7487 -#: ../en/ch08-branch.xml:93
  1.7488 +#: ../en/ch07-branch.xml:93
  1.7489  msgid ""
  1.7490  "There's no limit on the number of tags you can have in a repository, or on "
  1.7491  "the number of tags that a single revision can have.  As a practical matter, "
  1.7492 @@ -8272,7 +7355,7 @@
  1.7493  msgstr ""
  1.7494  
  1.7495  #. type: Content of: <book><chapter><sect1><para>
  1.7496 -#: ../en/ch08-branch.xml:101
  1.7497 +#: ../en/ch07-branch.xml:101
  1.7498  msgid ""
  1.7499  "For example, if your project has milestones as frequent as every few days, "
  1.7500  "it's perfectly reasonable to tag each one of those.  But if you have a "
  1.7501 @@ -8283,14 +7366,14 @@
  1.7502  msgstr ""
  1.7503  
  1.7504  #. type: Content of: <book><chapter><sect1><para>
  1.7505 -#: ../en/ch08-branch.xml:109
  1.7506 +#: ../en/ch07-branch.xml:109
  1.7507  msgid ""
  1.7508  "If you want to remove a tag that you no longer want, use <command role=\"hg-"
  1.7509  "cmd\">hg tag --remove</command>."
  1.7510  msgstr ""
  1.7511  
  1.7512  #. type: Content of: <book><chapter><sect1><para>
  1.7513 -#: ../en/ch08-branch.xml:114
  1.7514 +#: ../en/ch07-branch.xml:114
  1.7515  msgid ""
  1.7516  "You can also modify a tag at any time, so that it identifies a different "
  1.7517  "revision, by simply issuing a new <command role=\"hg-cmd\">hg tag</command> "
  1.7518 @@ -8300,7 +7383,7 @@
  1.7519  msgstr ""
  1.7520  
  1.7521  #. type: Content of: <book><chapter><sect1><para>
  1.7522 -#: ../en/ch08-branch.xml:123
  1.7523 +#: ../en/ch07-branch.xml:123
  1.7524  msgid ""
  1.7525  "There will still be a permanent record of the previous identity of the tag, "
  1.7526  "but Mercurial will no longer use it.  There's thus no penalty to tagging the "
  1.7527 @@ -8310,7 +7393,7 @@
  1.7528  
  1.7529  #
  1.7530  #. type: Content of: <book><chapter><sect1><para>
  1.7531 -#: ../en/ch08-branch.xml:129
  1.7532 +#: ../en/ch07-branch.xml:129
  1.7533  msgid ""
  1.7534  "Mercurial stores tags in a normal revision-controlled file in your "
  1.7535  "repository.  If you've created any tags, you'll find them in a file named "
  1.7536 @@ -8322,12 +7405,12 @@
  1.7537  msgstr ""
  1.7538  
  1.7539  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7540 -#: ../en/ch08-branch.xml:142
  1.7541 +#: ../en/ch07-branch.xml:142
  1.7542  msgid "Handling tag conflicts during a merge"
  1.7543  msgstr "在合并期间处理标签冲突"
  1.7544  
  1.7545  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7546 -#: ../en/ch08-branch.xml:144
  1.7547 +#: ../en/ch07-branch.xml:144
  1.7548  msgid ""
  1.7549  "You won't often need to care about the <filename role=\"special\">.hgtags</"
  1.7550  "filename> file, but it sometimes makes its presence known during a merge.  "
  1.7551 @@ -8337,7 +7420,7 @@
  1.7552  msgstr ""
  1.7553  
  1.7554  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7555 -#: ../en/ch08-branch.xml:151
  1.7556 +#: ../en/ch07-branch.xml:151
  1.7557  msgid ""
  1.7558  "If you're resolving a conflict in the <filename role=\"special\">.hgtags</"
  1.7559  "filename> file during a merge, there's one twist to modifying the <filename "
  1.7560 @@ -8348,7 +7431,7 @@
  1.7561  msgstr ""
  1.7562  
  1.7563  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7564 -#: ../en/ch08-branch.xml:161
  1.7565 +#: ../en/ch07-branch.xml:161
  1.7566  msgid ""
  1.7567  "An unfortunate consequence of this design is that you can't actually verify "
  1.7568  "that your merged <filename role=\"special\">.hgtags</filename> file is "
  1.7569 @@ -8362,12 +7445,12 @@
  1.7570  msgstr ""
  1.7571  
  1.7572  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7573 -#: ../en/ch08-branch.xml:176
  1.7574 +#: ../en/ch07-branch.xml:176
  1.7575  msgid "Tags and cloning"
  1.7576  msgstr "标签与克隆"
  1.7577  
  1.7578  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7579 -#: ../en/ch08-branch.xml:178
  1.7580 +#: ../en/ch07-branch.xml:178
  1.7581  msgid ""
  1.7582  "You may have noticed that the <command role=\"hg-cmd\">hg clone</command> "
  1.7583  "command has a <option role=\"hg-opt-clone\">-r</option> option that lets you "
  1.7584 @@ -8377,7 +7460,7 @@
  1.7585  msgstr ""
  1.7586  
  1.7587  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7588 -#: ../en/ch08-branch.xml:186
  1.7589 +#: ../en/ch07-branch.xml:186
  1.7590  msgid ""
  1.7591  "Recall that a tag is stored as a revision to the <filename role=\"special\">."
  1.7592  "hgtags</filename> file, so that when you create a tag, the changeset in which "
  1.7593 @@ -8391,12 +7474,12 @@
  1.7594  msgstr ""
  1.7595  
  1.7596  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.7597 -#: ../en/ch08-branch.xml:201
  1.7598 +#: ../en/ch07-branch.xml:201
  1.7599  msgid "When permanent tags are too much"
  1.7600  msgstr "当永久标签太多的时候"
  1.7601  
  1.7602  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7603 -#: ../en/ch08-branch.xml:203
  1.7604 +#: ../en/ch07-branch.xml:203
  1.7605  msgid ""
  1.7606  "Since Mercurial's tags are revision controlled and carried around with a "
  1.7607  "project's history, everyone you work with will see the tags you create.  But "
  1.7608 @@ -8407,7 +7490,7 @@
  1.7609  msgstr ""
  1.7610  
  1.7611  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.7612 -#: ../en/ch08-branch.xml:213
  1.7613 +#: ../en/ch07-branch.xml:213
  1.7614  msgid ""
  1.7615  "For cases like this, what you might want to use are <emphasis>local</"
  1.7616  "emphasis> tags. You can create a local tag with the <option role=\"hg-opt-tag"
  1.7617 @@ -8421,12 +7504,12 @@
  1.7618  msgstr ""
  1.7619  
  1.7620  #. type: Content of: <book><chapter><sect1><title>
  1.7621 -#: ../en/ch08-branch.xml:228
  1.7622 +#: ../en/ch07-branch.xml:228
  1.7623  msgid "The flow of changes&emdash;big picture vs. little"
  1.7624  msgstr "修改流程&emdash;宏观与微观"
  1.7625  
  1.7626  #. type: Content of: <book><chapter><sect1><para>
  1.7627 -#: ../en/ch08-branch.xml:230
  1.7628 +#: ../en/ch07-branch.xml:230
  1.7629  msgid ""
  1.7630  "To return to the outline I sketched at the beginning of a chapter, let's "
  1.7631  "think about a project that has multiple concurrent pieces of work under "
  1.7632 @@ -8434,7 +7517,7 @@
  1.7633  msgstr ""
  1.7634  
  1.7635  #. type: Content of: <book><chapter><sect1><para>
  1.7636 -#: ../en/ch08-branch.xml:234
  1.7637 +#: ../en/ch07-branch.xml:234
  1.7638  msgid ""
  1.7639  "There might be a push for a new <quote>main</quote> release; a new minor "
  1.7640  "bugfix release to the last main release; and an unexpected <quote>hot fix</"
  1.7641 @@ -8442,7 +7525,7 @@
  1.7642  msgstr ""
  1.7643  
  1.7644  #. type: Content of: <book><chapter><sect1><para>
  1.7645 -#: ../en/ch08-branch.xml:239
  1.7646 +#: ../en/ch07-branch.xml:239
  1.7647  msgid ""
  1.7648  "The usual way people refer to these different concurrent directions of "
  1.7649  "development is as <quote>branches</quote>.  However, we've already seen "
  1.7650 @@ -8452,14 +7535,14 @@
  1.7651  msgstr ""
  1.7652  
  1.7653  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7654 -#: ../en/ch08-branch.xml:246
  1.7655 +#: ../en/ch07-branch.xml:246
  1.7656  msgid ""
  1.7657  "<quote>Big picture</quote> branches represent the sweep of a project's "
  1.7658  "evolution; people give them names, and talk about them in conversation."
  1.7659  msgstr ""
  1.7660  
  1.7661  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.7662 -#: ../en/ch08-branch.xml:250
  1.7663 +#: ../en/ch07-branch.xml:250
  1.7664  msgid ""
  1.7665  "<quote>Little picture</quote> branches are artefacts of the day-to-day "
  1.7666  "activity of developing and merging changes.  They expose the narrative of how "
  1.7667 @@ -8467,12 +7550,12 @@
  1.7668  msgstr ""
  1.7669  
  1.7670  #. type: Content of: <book><chapter><sect1><title>
  1.7671 -#: ../en/ch08-branch.xml:258
  1.7672 +#: ../en/ch07-branch.xml:258
  1.7673  msgid "Managing big-picture branches in repositories"
  1.7674  msgstr "在版本库中管理分支"
  1.7675  
  1.7676  #. type: Content of: <book><chapter><sect1><para>
  1.7677 -#: ../en/ch08-branch.xml:260
  1.7678 +#: ../en/ch07-branch.xml:260
  1.7679  msgid ""
  1.7680  "The easiest way to isolate a <quote>big picture</quote> branch in Mercurial "
  1.7681  "is in a dedicated repository.  If you have an existing shared "
  1.7682 @@ -8483,14 +7566,14 @@
  1.7683  msgstr ""
  1.7684  
  1.7685  #. type: Content of: <book><chapter><sect1><para>
  1.7686 -#: ../en/ch08-branch.xml:270
  1.7687 +#: ../en/ch07-branch.xml:270
  1.7688  msgid ""
  1.7689  "You can then clone a new shared <literal>myproject-1.0.1</literal> repository "
  1.7690  "as of that tag."
  1.7691  msgstr ""
  1.7692  
  1.7693  #. type: Content of: <book><chapter><sect1><para>
  1.7694 -#: ../en/ch08-branch.xml:276
  1.7695 +#: ../en/ch07-branch.xml:276
  1.7696  msgid ""
  1.7697  "Afterwards, if someone needs to work on a bug fix that ought to go into an "
  1.7698  "upcoming 1.0.1 minor release, they clone the <literal>myproject-1.0.1</"
  1.7699 @@ -8498,19 +7581,19 @@
  1.7700  msgstr ""
  1.7701  
  1.7702  #. type: Content of: <book><chapter><sect1><para>
  1.7703 -#: ../en/ch08-branch.xml:283
  1.7704 +#: ../en/ch07-branch.xml:283
  1.7705  msgid ""
  1.7706  "Meanwhile, development for the next major release can continue, isolated and "
  1.7707  "unabated, in the <literal>myproject</literal> repository."
  1.7708  msgstr ""
  1.7709  
  1.7710  #. type: Content of: <book><chapter><sect1><title>
  1.7711 -#: ../en/ch08-branch.xml:291
  1.7712 +#: ../en/ch07-branch.xml:291
  1.7713  msgid "Don't repeat yourself: merging across branches"
  1.7714  msgstr "不要重复劳动:在分支间合并"
  1.7715  
  1.7716  #. type: Content of: <book><chapter><sect1><para>
  1.7717 -#: ../en/ch08-branch.xml:293
  1.7718 +#: ../en/ch07-branch.xml:293
  1.7719  msgid ""
  1.7720  "In many cases, if you have a bug to fix on a maintenance branch, the chances "
  1.7721  "are good that the bug exists on your project's main branch (and possibly "
  1.7722 @@ -8520,26 +7603,26 @@
  1.7723  msgstr ""
  1.7724  
  1.7725  #. type: Content of: <book><chapter><sect1><para>
  1.7726 -#: ../en/ch08-branch.xml:301
  1.7727 +#: ../en/ch07-branch.xml:301
  1.7728  msgid ""
  1.7729  "In the simplest instance, all you need to do is pull changes from your "
  1.7730  "maintenance branch into your local clone of the target branch."
  1.7731  msgstr ""
  1.7732  
  1.7733  #. type: Content of: <book><chapter><sect1><para>
  1.7734 -#: ../en/ch08-branch.xml:307
  1.7735 +#: ../en/ch07-branch.xml:307
  1.7736  msgid ""
  1.7737  "You'll then need to merge the heads of the two branches, and push back to the "
  1.7738  "main branch."
  1.7739  msgstr ""
  1.7740  
  1.7741  #. type: Content of: <book><chapter><sect1><title>
  1.7742 -#: ../en/ch08-branch.xml:314
  1.7743 +#: ../en/ch07-branch.xml:314
  1.7744  msgid "Naming branches within one repository"
  1.7745  msgstr "版本库中的命名分支"
  1.7746  
  1.7747  #. type: Content of: <book><chapter><sect1><para>
  1.7748 -#: ../en/ch08-branch.xml:316
  1.7749 +#: ../en/ch07-branch.xml:316
  1.7750  msgid ""
  1.7751  "In most instances, isolating branches in repositories is the right approach.  "
  1.7752  "Its simplicity makes it easy to understand; and so it's hard to make "
  1.7753 @@ -8549,7 +7632,7 @@
  1.7754  msgstr ""
  1.7755  
  1.7756  #. type: Content of: <book><chapter><sect1><para>
  1.7757 -#: ../en/ch08-branch.xml:323
  1.7758 +#: ../en/ch07-branch.xml:323
  1.7759  msgid ""
  1.7760  "If you're more in the <quote>power user</quote> category (<emphasis>and</"
  1.7761  "emphasis> your collaborators are too), there is an alternative way of "
  1.7762 @@ -8562,7 +7645,7 @@
  1.7763  msgstr ""
  1.7764  
  1.7765  #. type: Content of: <book><chapter><sect1><para>
  1.7766 -#: ../en/ch08-branch.xml:334
  1.7767 +#: ../en/ch07-branch.xml:334
  1.7768  msgid ""
  1.7769  "The key to working this way is that Mercurial lets you assign a persistent "
  1.7770  "<emphasis>name</emphasis> to a branch.  There always exists a branch named "
  1.7771 @@ -8572,7 +7655,7 @@
  1.7772  msgstr ""
  1.7773  
  1.7774  #. type: Content of: <book><chapter><sect1><para>
  1.7775 -#: ../en/ch08-branch.xml:341
  1.7776 +#: ../en/ch07-branch.xml:341
  1.7777  msgid ""
  1.7778  "As an example, when you run the <command role=\"hg-cmd\">hg commit</command> "
  1.7779  "command, and it pops up your editor so that you can enter a commit message, "
  1.7780 @@ -8582,7 +7665,7 @@
  1.7781  msgstr ""
  1.7782  
  1.7783  #. type: Content of: <book><chapter><sect1><para>
  1.7784 -#: ../en/ch08-branch.xml:348
  1.7785 +#: ../en/ch07-branch.xml:348
  1.7786  msgid ""
  1.7787  "To start working with named branches, use the <command role=\"hg-cmd\">hg "
  1.7788  "branches</command> command.  This command lists the named branches already "
  1.7789 @@ -8590,14 +7673,14 @@
  1.7790  msgstr ""
  1.7791  
  1.7792  #. type: Content of: <book><chapter><sect1><para>
  1.7793 -#: ../en/ch08-branch.xml:355
  1.7794 +#: ../en/ch07-branch.xml:355
  1.7795  msgid ""
  1.7796  "Since you haven't created any named branches yet, the only one that exists is "
  1.7797  "<literal>default</literal>."
  1.7798  msgstr ""
  1.7799  
  1.7800  #. type: Content of: <book><chapter><sect1><para>
  1.7801 -#: ../en/ch08-branch.xml:358
  1.7802 +#: ../en/ch07-branch.xml:358
  1.7803  msgid ""
  1.7804  "To find out what the <quote>current</quote> branch is, run the <command role="
  1.7805  "\"hg-cmd\">hg branch</command> command, giving it no arguments.  This tells "
  1.7806 @@ -8606,7 +7689,7 @@
  1.7807  
  1.7808  #
  1.7809  #. type: Content of: <book><chapter><sect1><para>
  1.7810 -#: ../en/ch08-branch.xml:365
  1.7811 +#: ../en/ch07-branch.xml:365
  1.7812  msgid ""
  1.7813  "To create a new branch, run the <command role=\"hg-cmd\">hg branch</command> "
  1.7814  "command again.  This time, give it one argument: the name of the branch you "
  1.7815 @@ -8614,7 +7697,7 @@
  1.7816  msgstr ""
  1.7817  
  1.7818  #. type: Content of: <book><chapter><sect1><para>
  1.7819 -#: ../en/ch08-branch.xml:371
  1.7820 +#: ../en/ch07-branch.xml:371
  1.7821  msgid ""
  1.7822  "After you've created a branch, you might wonder what effect the <command role="
  1.7823  "\"hg-cmd\">hg branch</command> command has had.  What do the <command role="
  1.7824 @@ -8623,7 +7706,7 @@
  1.7825  msgstr ""
  1.7826  
  1.7827  #. type: Content of: <book><chapter><sect1><para>
  1.7828 -#: ../en/ch08-branch.xml:378
  1.7829 +#: ../en/ch07-branch.xml:378
  1.7830  msgid ""
  1.7831  "Nothing has changed in the working directory, and there's been no new history "
  1.7832  "created.  As this suggests, running the <command role=\"hg-cmd\">hg branch</"
  1.7833 @@ -8632,7 +7715,7 @@
  1.7834  msgstr ""
  1.7835  
  1.7836  #. type: Content of: <book><chapter><sect1><para>
  1.7837 -#: ../en/ch08-branch.xml:385
  1.7838 +#: ../en/ch07-branch.xml:385
  1.7839  msgid ""
  1.7840  "When you commit a change, Mercurial records the name of the branch on which "
  1.7841  "you committed.  Once you've switched from the <literal>default</literal> "
  1.7842 @@ -8643,7 +7726,7 @@
  1.7843  msgstr ""
  1.7844  
  1.7845  #. type: Content of: <book><chapter><sect1><para>
  1.7846 -#: ../en/ch08-branch.xml:395
  1.7847 +#: ../en/ch07-branch.xml:395
  1.7848  msgid ""
  1.7849  "The <command role=\"hg-cmd\">hg log</command>-like commands will print the "
  1.7850  "branch name of every changeset that's not on the <literal>default</literal> "
  1.7851 @@ -8652,7 +7735,7 @@
  1.7852  msgstr ""
  1.7853  
  1.7854  #. type: Content of: <book><chapter><sect1><para>
  1.7855 -#: ../en/ch08-branch.xml:400
  1.7856 +#: ../en/ch07-branch.xml:400
  1.7857  msgid ""
  1.7858  "Once you've named a branch and committed a change with that name, every "
  1.7859  "subsequent commit that descends from that change will inherit the same branch "
  1.7860 @@ -8661,19 +7744,19 @@
  1.7861  msgstr ""
  1.7862  
  1.7863  #. type: Content of: <book><chapter><sect1><para>
  1.7864 -#: ../en/ch08-branch.xml:408
  1.7865 +#: ../en/ch07-branch.xml:408
  1.7866  msgid ""
  1.7867  "In practice, this is something you won't do very often, as branch names tend "
  1.7868  "to have fairly long lifetimes.  (This isn't a rule, just an observation.)"
  1.7869  msgstr ""
  1.7870  
  1.7871  #. type: Content of: <book><chapter><sect1><title>
  1.7872 -#: ../en/ch08-branch.xml:414
  1.7873 +#: ../en/ch07-branch.xml:414
  1.7874  msgid "Dealing with multiple named branches in a repository"
  1.7875  msgstr "在版本库中处理多个命名分支"
  1.7876  
  1.7877  #. type: Content of: <book><chapter><sect1><para>
  1.7878 -#: ../en/ch08-branch.xml:417
  1.7879 +#: ../en/ch07-branch.xml:417
  1.7880  msgid ""
  1.7881  "If you have more than one named branch in a repository, Mercurial will "
  1.7882  "remember the branch that your working directory on when you start a command "
  1.7883 @@ -8686,7 +7769,7 @@
  1.7884  msgstr ""
  1.7885  
  1.7886  #. type: Content of: <book><chapter><sect1><para>
  1.7887 -#: ../en/ch08-branch.xml:427
  1.7888 +#: ../en/ch07-branch.xml:427
  1.7889  msgid ""
  1.7890  "This behaviour is a little subtle, so let's see it in action.  First, let's "
  1.7891  "remind ourselves what branch we're currently on, and what branches are in our "
  1.7892 @@ -8694,14 +7777,14 @@
  1.7893  msgstr ""
  1.7894  
  1.7895  #. type: Content of: <book><chapter><sect1><para>
  1.7896 -#: ../en/ch08-branch.xml:433
  1.7897 +#: ../en/ch07-branch.xml:433
  1.7898  msgid ""
  1.7899  "We're on the <literal>bar</literal> branch, but there also exists an older "
  1.7900  "<command role=\"hg-cmd\">hg foo</command> branch."
  1.7901  msgstr ""
  1.7902  
  1.7903  #. type: Content of: <book><chapter><sect1><para>
  1.7904 -#: ../en/ch08-branch.xml:437
  1.7905 +#: ../en/ch07-branch.xml:437
  1.7906  msgid ""
  1.7907  "We can <command role=\"hg-cmd\">hg update</command> back and forth between "
  1.7908  "the tips of the <literal>foo</literal> and <literal>bar</literal> branches "
  1.7909 @@ -8712,7 +7795,7 @@
  1.7910  
  1.7911  #
  1.7912  #. type: Content of: <book><chapter><sect1><para>
  1.7913 -#: ../en/ch08-branch.xml:446
  1.7914 +#: ../en/ch07-branch.xml:446
  1.7915  msgid ""
  1.7916  "If we go back to the <literal>foo</literal> branch and then run <command role="
  1.7917  "\"hg-cmd\">hg update</command>, it will keep us on <literal>foo</literal>, "
  1.7918 @@ -8721,19 +7804,19 @@
  1.7919  
  1.7920  #
  1.7921  #. type: Content of: <book><chapter><sect1><para>
  1.7922 -#: ../en/ch08-branch.xml:453
  1.7923 +#: ../en/ch07-branch.xml:453
  1.7924  msgid ""
  1.7925  "Committing a new change on the <literal>foo</literal> branch introduces a new "
  1.7926  "head."
  1.7927  msgstr ""
  1.7928  
  1.7929  #. type: Content of: <book><chapter><sect1><title>
  1.7930 -#: ../en/ch08-branch.xml:460
  1.7931 +#: ../en/ch07-branch.xml:460
  1.7932  msgid "Branch names and merging"
  1.7933  msgstr "分支名称与合并"
  1.7934  
  1.7935  #. type: Content of: <book><chapter><sect1><para>
  1.7936 -#: ../en/ch08-branch.xml:462
  1.7937 +#: ../en/ch07-branch.xml:462
  1.7938  msgid ""
  1.7939  "As you've probably noticed, merges in Mercurial are not symmetrical. Let's "
  1.7940  "say our repository has two heads, 17 and 23.  If I <command role=\"hg-cmd"
  1.7941 @@ -8745,7 +7828,7 @@
  1.7942  msgstr ""
  1.7943  
  1.7944  #. type: Content of: <book><chapter><sect1><para>
  1.7945 -#: ../en/ch08-branch.xml:472
  1.7946 +#: ../en/ch07-branch.xml:472
  1.7947  msgid ""
  1.7948  "This affects Mercurial's choice of branch name when you merge.  After a "
  1.7949  "merge, Mercurial will retain the branch name of the first parent when you "
  1.7950 @@ -8755,7 +7838,7 @@
  1.7951  msgstr ""
  1.7952  
  1.7953  #. type: Content of: <book><chapter><sect1><para>
  1.7954 -#: ../en/ch08-branch.xml:479
  1.7955 +#: ../en/ch07-branch.xml:479
  1.7956  msgid ""
  1.7957  "It's not unusual for a repository to contain multiple heads, each with the "
  1.7958  "same branch name.  Let's say I'm working on the <literal>foo</literal> "
  1.7959 @@ -8767,7 +7850,7 @@
  1.7960  
  1.7961  #
  1.7962  #. type: Content of: <book><chapter><sect1><para>
  1.7963 -#: ../en/ch08-branch.xml:487
  1.7964 +#: ../en/ch07-branch.xml:487
  1.7965  msgid ""
  1.7966  "But if I'm working on the <literal>bar</literal> branch, and I merge work "
  1.7967  "from the <literal>foo</literal> branch, the result will remain on the "
  1.7968 @@ -8775,7 +7858,7 @@
  1.7969  msgstr ""
  1.7970  
  1.7971  #. type: Content of: <book><chapter><sect1><para>
  1.7972 -#: ../en/ch08-branch.xml:493
  1.7973 +#: ../en/ch07-branch.xml:493
  1.7974  msgid ""
  1.7975  "To give a more concrete example, if I'm working on the <literal>bleeding-"
  1.7976  "edge</literal> branch, and I want to bring in the latest fixes from the "
  1.7977 @@ -8785,12 +7868,12 @@
  1.7978  msgstr ""
  1.7979  
  1.7980  #. type: Content of: <book><chapter><sect1><title>
  1.7981 -#: ../en/ch08-branch.xml:502
  1.7982 +#: ../en/ch07-branch.xml:502
  1.7983  msgid "Branch naming is generally useful"
  1.7984  msgstr "分支名称通常都很有用"
  1.7985  
  1.7986  #. type: Content of: <book><chapter><sect1><para>
  1.7987 -#: ../en/ch08-branch.xml:504
  1.7988 +#: ../en/ch07-branch.xml:504
  1.7989  msgid ""
  1.7990  "You shouldn't think of named branches as applicable only to situations where "
  1.7991  "you have multiple long-lived branches cohabiting in a single repository.  "
  1.7992 @@ -8798,7 +7881,7 @@
  1.7993  msgstr ""
  1.7994  
  1.7995  #. type: Content of: <book><chapter><sect1><para>
  1.7996 -#: ../en/ch08-branch.xml:509
  1.7997 +#: ../en/ch07-branch.xml:509
  1.7998  msgid ""
  1.7999  "In the simplest case, giving a name to each branch gives you a permanent "
  1.8000  "record of which branch a changeset originated on.  This gives you more "
  1.8001 @@ -8807,7 +7890,7 @@
  1.8002  msgstr ""
  1.8003  
  1.8004  #. type: Content of: <book><chapter><sect1><para>
  1.8005 -#: ../en/ch08-branch.xml:514
  1.8006 +#: ../en/ch07-branch.xml:514
  1.8007  msgid ""
  1.8008  "If you're working with shared repositories, you can set up a <literal role="
  1.8009  "\"hook\">pretxnchangegroup</literal> hook on each that will block incoming "
  1.8010 @@ -8819,12 +7902,12 @@
  1.8011  msgstr ""
  1.8012  
  1.8013  #. type: Content of: <book><chapter><title>
  1.8014 -#: ../en/ch09-undo.xml:5
  1.8015 +#: ../en/ch08-undo.xml:5
  1.8016  msgid "Finding and fixing mistakes"
  1.8017  msgstr "查找和修改错误"
  1.8018  
  1.8019  #. type: Content of: <book><chapter><para>
  1.8020 -#: ../en/ch09-undo.xml:7
  1.8021 +#: ../en/ch08-undo.xml:7
  1.8022  msgid ""
  1.8023  "To err might be human, but to really handle the consequences well takes a top-"
  1.8024  "notch revision control system.  In this chapter, we'll discuss some of the "
  1.8025 @@ -8834,17 +7917,17 @@
  1.8026  msgstr ""
  1.8027  
  1.8028  #. type: Content of: <book><chapter><sect1><title>
  1.8029 -#: ../en/ch09-undo.xml:15
  1.8030 +#: ../en/ch08-undo.xml:15
  1.8031  msgid "Erasing local history"
  1.8032  msgstr "销毁本地历史"
  1.8033  
  1.8034  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8035 -#: ../en/ch09-undo.xml:18
  1.8036 +#: ../en/ch08-undo.xml:18
  1.8037  msgid "The accidental commit"
  1.8038  msgstr "意外的提交"
  1.8039  
  1.8040  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8041 -#: ../en/ch09-undo.xml:20
  1.8042 +#: ../en/ch08-undo.xml:20
  1.8043  msgid ""
  1.8044  "I have the occasional but persistent problem of typing rather more quickly "
  1.8045  "than I can think, which sometimes results in me committing a changeset that "
  1.8046 @@ -8855,12 +7938,12 @@
  1.8047  msgstr ""
  1.8048  
  1.8049  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8050 -#: ../en/ch09-undo.xml:31
  1.8051 +#: ../en/ch08-undo.xml:31
  1.8052  msgid "Rolling back a transaction"
  1.8053  msgstr "回滚一个事务"
  1.8054  
  1.8055  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8056 -#: ../en/ch09-undo.xml:33
  1.8057 +#: ../en/ch08-undo.xml:33
  1.8058  msgid ""
  1.8059  "In section <xref linkend=\"sec.concepts.txn\"/>, I mentioned that Mercurial "
  1.8060  "treats each modification of a repository as a <emphasis>transaction</"
  1.8061 @@ -8873,7 +7956,7 @@
  1.8062  msgstr ""
  1.8063  
  1.8064  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8065 -#: ../en/ch09-undo.xml:43
  1.8066 +#: ../en/ch08-undo.xml:43
  1.8067  msgid ""
  1.8068  "Here's a mistake that I often find myself making: committing a change in "
  1.8069  "which I've created a new file, but forgotten to <command role=\"hg-cmd\">hg "
  1.8070 @@ -8881,14 +7964,14 @@
  1.8071  msgstr ""
  1.8072  
  1.8073  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8074 -#: ../en/ch09-undo.xml:50
  1.8075 +#: ../en/ch08-undo.xml:50
  1.8076  msgid ""
  1.8077  "Looking at the output of <command role=\"hg-cmd\">hg status</command> after "
  1.8078  "the commit immediately confirms the error."
  1.8079  msgstr ""
  1.8080  
  1.8081  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8082 -#: ../en/ch09-undo.xml:56
  1.8083 +#: ../en/ch08-undo.xml:56
  1.8084  msgid ""
  1.8085  "The commit captured the changes to the file <filename>a</filename>, but not "
  1.8086  "the new file <filename>b</filename>.  If I were to push this changeset to a "
  1.8087 @@ -8899,7 +7982,7 @@
  1.8088  msgstr ""
  1.8089  
  1.8090  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8091 -#: ../en/ch09-undo.xml:65
  1.8092 +#: ../en/ch08-undo.xml:65
  1.8093  msgid ""
  1.8094  "However, luck is with me&emdash;I've caught my error before I pushed the "
  1.8095  "changeset.  I use the <command role=\"hg-cmd\">hg rollback</command> command, "
  1.8096 @@ -8907,7 +7990,7 @@
  1.8097  msgstr ""
  1.8098  
  1.8099  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8100 -#: ../en/ch09-undo.xml:72
  1.8101 +#: ../en/ch08-undo.xml:72
  1.8102  msgid ""
  1.8103  "Notice that the changeset is no longer present in the repository's history, "
  1.8104  "and the working directory once again thinks that the file <filename>a</"
  1.8105 @@ -8918,12 +8001,12 @@
  1.8106  msgstr ""
  1.8107  
  1.8108  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8109 -#: ../en/ch09-undo.xml:85
  1.8110 +#: ../en/ch08-undo.xml:85
  1.8111  msgid "The erroneous pull"
  1.8112  msgstr "错误的抓取"
  1.8113  
  1.8114  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8115 -#: ../en/ch09-undo.xml:87
  1.8116 +#: ../en/ch08-undo.xml:87
  1.8117  msgid ""
  1.8118  "It's common practice with Mercurial to maintain separate development branches "
  1.8119  "of a project in different repositories.  Your development team might have one "
  1.8120 @@ -8932,7 +8015,7 @@
  1.8121  msgstr ""
  1.8122  
  1.8123  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8124 -#: ../en/ch09-undo.xml:94
  1.8125 +#: ../en/ch08-undo.xml:94
  1.8126  msgid ""
  1.8127  "Given this, you can imagine that the consequences could be messy if you had a "
  1.8128  "local <quote>0.9</quote> repository, and accidentally pulled changes from the "
  1.8129 @@ -8945,7 +8028,7 @@
  1.8130  msgstr ""
  1.8131  
  1.8132  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8133 -#: ../en/ch09-undo.xml:106
  1.8134 +#: ../en/ch08-undo.xml:106
  1.8135  msgid ""
  1.8136  "The <command role=\"hg-cmd\">hg rollback</command> command will work nicely "
  1.8137  "to expunge all of the changesets that you just pulled.  Mercurial groups all "
  1.8138 @@ -8955,12 +8038,12 @@
  1.8139  msgstr ""
  1.8140  
  1.8141  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8142 -#: ../en/ch09-undo.xml:115
  1.8143 +#: ../en/ch08-undo.xml:115
  1.8144  msgid "Rolling back is useless once you've pushed"
  1.8145  msgstr "当完成推送后,回滚是无效的"
  1.8146  
  1.8147  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8148 -#: ../en/ch09-undo.xml:117
  1.8149 +#: ../en/ch08-undo.xml:117
  1.8150  msgid ""
  1.8151  "The value of the <command role=\"hg-cmd\">hg rollback</command> command drops "
  1.8152  "to zero once you've pushed your changes to another repository.  Rolling back "
  1.8153 @@ -8971,7 +8054,7 @@
  1.8154  msgstr ""
  1.8155  
  1.8156  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8157 -#: ../en/ch09-undo.xml:126
  1.8158 +#: ../en/ch08-undo.xml:126
  1.8159  msgid ""
  1.8160  "If you've pushed a change to another repository&emdash;particularly if it's a "
  1.8161  "shared repository&emdash;it has essentially <quote>escaped into the wild,</"
  1.8162 @@ -8982,7 +8065,7 @@
  1.8163  msgstr ""
  1.8164  
  1.8165  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8166 -#: ../en/ch09-undo.xml:135
  1.8167 +#: ../en/ch08-undo.xml:135
  1.8168  msgid ""
  1.8169  "(If you absolutely know for sure that the change you want to roll back is the "
  1.8170  "most recent change in the repository that you pushed to, <emphasis>and</"
  1.8171 @@ -8994,12 +8077,12 @@
  1.8172  msgstr ""
  1.8173  
  1.8174  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8175 -#: ../en/ch09-undo.xml:147
  1.8176 +#: ../en/ch08-undo.xml:147
  1.8177  msgid "You can only roll back once"
  1.8178  msgstr "你只能回滚一次"
  1.8179  
  1.8180  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8181 -#: ../en/ch09-undo.xml:149
  1.8182 +#: ../en/ch08-undo.xml:149
  1.8183  msgid ""
  1.8184  "Mercurial stores exactly one transaction in its transaction log; that "
  1.8185  "transaction is the most recent one that occurred in the repository. This "
  1.8186 @@ -9009,19 +8092,19 @@
  1.8187  msgstr ""
  1.8188  
  1.8189  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8190 -#: ../en/ch09-undo.xml:158
  1.8191 +#: ../en/ch08-undo.xml:158
  1.8192  msgid ""
  1.8193  "Once you've rolled back one transaction in a repository, you can't roll back "
  1.8194  "again in that repository until you perform another commit or pull."
  1.8195  msgstr ""
  1.8196  
  1.8197  #. type: Content of: <book><chapter><sect1><title>
  1.8198 -#: ../en/ch09-undo.xml:165
  1.8199 +#: ../en/ch08-undo.xml:165
  1.8200  msgid "Reverting the mistaken change"
  1.8201  msgstr "撤销错误的修改"
  1.8202  
  1.8203  #. type: Content of: <book><chapter><sect1><para>
  1.8204 -#: ../en/ch09-undo.xml:167
  1.8205 +#: ../en/ch08-undo.xml:167
  1.8206  msgid ""
  1.8207  "If you make a modification to a file, and decide that you really didn't want "
  1.8208  "to change the file at all, and you haven't yet committed your changes, the "
  1.8209 @@ -9033,7 +8116,7 @@
  1.8210  msgstr ""
  1.8211  
  1.8212  #. type: Content of: <book><chapter><sect1><para>
  1.8213 -#: ../en/ch09-undo.xml:176
  1.8214 +#: ../en/ch08-undo.xml:176
  1.8215  msgid ""
  1.8216  "Let's illustrate how the <command role=\"hg-cmd\">hg revert</command> command "
  1.8217  "works with yet another small example.  We'll begin by modifying a file that "
  1.8218 @@ -9041,14 +8124,14 @@
  1.8219  msgstr ""
  1.8220  
  1.8221  #. type: Content of: <book><chapter><sect1><para>
  1.8222 -#: ../en/ch09-undo.xml:183
  1.8223 +#: ../en/ch08-undo.xml:183
  1.8224  msgid ""
  1.8225  "If we don't want that change, we can simply <command role=\"hg-cmd\">hg "
  1.8226  "revert</command> the file."
  1.8227  msgstr ""
  1.8228  
  1.8229  #. type: Content of: <book><chapter><sect1><para>
  1.8230 -#: ../en/ch09-undo.xml:189
  1.8231 +#: ../en/ch08-undo.xml:189
  1.8232  msgid ""
  1.8233  "The <command role=\"hg-cmd\">hg revert</command> command provides us with an "
  1.8234  "extra degree of safety by saving our modified file with a <filename>.orig</"
  1.8235 @@ -9056,7 +8139,7 @@
  1.8236  msgstr ""
  1.8237  
  1.8238  #. type: Content of: <book><chapter><sect1><para>
  1.8239 -#: ../en/ch09-undo.xml:196
  1.8240 +#: ../en/ch08-undo.xml:196
  1.8241  msgid ""
  1.8242  "Here is a summary of the cases that the <command role=\"hg-cmd\">hg revert</"
  1.8243  "command> command can deal with.  We will describe each of these in more "
  1.8244 @@ -9064,26 +8147,26 @@
  1.8245  msgstr ""
  1.8246  
  1.8247  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.8248 -#: ../en/ch09-undo.xml:201
  1.8249 +#: ../en/ch08-undo.xml:201
  1.8250  msgid "If you modify a file, it will restore the file to its unmodified state."
  1.8251  msgstr ""
  1.8252  
  1.8253  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.8254 -#: ../en/ch09-undo.xml:204
  1.8255 +#: ../en/ch08-undo.xml:204
  1.8256  msgid ""
  1.8257  "If you <command role=\"hg-cmd\">hg add</command> a file, it will undo the "
  1.8258  "<quote>added</quote> state of the file, but leave the file itself untouched."
  1.8259  msgstr ""
  1.8260  
  1.8261  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.8262 -#: ../en/ch09-undo.xml:208
  1.8263 +#: ../en/ch08-undo.xml:208
  1.8264  msgid ""
  1.8265  "If you delete a file without telling Mercurial, it will restore the file to "
  1.8266  "its unmodified contents."
  1.8267  msgstr ""
  1.8268  
  1.8269  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.8270 -#: ../en/ch09-undo.xml:211
  1.8271 +#: ../en/ch08-undo.xml:211
  1.8272  msgid ""
  1.8273  "If you use the <command role=\"hg-cmd\">hg remove</command> command to remove "
  1.8274  "a file, it will undo the <quote>removed</quote> state of the file, and "
  1.8275 @@ -9091,12 +8174,12 @@
  1.8276  msgstr ""
  1.8277  
  1.8278  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8279 -#: ../en/ch09-undo.xml:218
  1.8280 +#: ../en/ch08-undo.xml:218
  1.8281  msgid "File management errors"
  1.8282  msgstr "文件管理错误"
  1.8283  
  1.8284  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8285 -#: ../en/ch09-undo.xml:220
  1.8286 +#: ../en/ch08-undo.xml:220
  1.8287  msgid ""
  1.8288  "The <command role=\"hg-cmd\">hg revert</command> command is useful for more "
  1.8289  "than just modified files.  It lets you reverse the results of all of "
  1.8290 @@ -9106,7 +8189,7 @@
  1.8291  
  1.8292  #
  1.8293  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8294 -#: ../en/ch09-undo.xml:226
  1.8295 +#: ../en/ch08-undo.xml:226
  1.8296  msgid ""
  1.8297  "If you <command role=\"hg-cmd\">hg add</command> a file, then decide that in "
  1.8298  "fact you don't want Mercurial to track it, use <command role=\"hg-cmd\">hg "
  1.8299 @@ -9115,7 +8198,7 @@
  1.8300  msgstr ""
  1.8301  
  1.8302  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8303 -#: ../en/ch09-undo.xml:234
  1.8304 +#: ../en/ch08-undo.xml:234
  1.8305  msgid ""
  1.8306  "Similarly, if you ask Mercurial to <command role=\"hg-cmd\">hg remove</"
  1.8307  "command> a file, you can use <command role=\"hg-cmd\">hg revert</command> to "
  1.8308 @@ -9127,7 +8210,7 @@
  1.8309  
  1.8310  #
  1.8311  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8312 -#: ../en/ch09-undo.xml:245
  1.8313 +#: ../en/ch08-undo.xml:245
  1.8314  msgid ""
  1.8315  "If you revert a <command role=\"hg-cmd\">hg copy</command>, the copied-to "
  1.8316  "file remains in your working directory afterwards, untracked.  Since a copy "
  1.8317 @@ -9136,12 +8219,12 @@
  1.8318  msgstr ""
  1.8319  
  1.8320  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.8321 -#: ../en/ch09-undo.xml:254
  1.8322 +#: ../en/ch08-undo.xml:254
  1.8323  msgid "A slightly special case: reverting a rename"
  1.8324  msgstr "一个稍微特别的案例:撤销改名"
  1.8325  
  1.8326  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.8327 -#: ../en/ch09-undo.xml:256
  1.8328 +#: ../en/ch08-undo.xml:256
  1.8329  msgid ""
  1.8330  "If you <command role=\"hg-cmd\">hg rename</command> a file, there is one "
  1.8331  "small detail that you should remember.  When you <command role=\"hg-cmd\">hg "
  1.8332 @@ -9150,7 +8233,7 @@
  1.8333  msgstr ""
  1.8334  
  1.8335  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.8336 -#: ../en/ch09-undo.xml:264
  1.8337 +#: ../en/ch08-undo.xml:264
  1.8338  msgid ""
  1.8339  "As you can see from the output of <command role=\"hg-cmd\">hg status</"
  1.8340  "command>, the renamed-to file is no longer identified as added, but the "
  1.8341 @@ -9159,19 +8242,19 @@
  1.8342  msgstr ""
  1.8343  
  1.8344  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.8345 -#: ../en/ch09-undo.xml:273
  1.8346 +#: ../en/ch08-undo.xml:273
  1.8347  msgid ""
  1.8348  "So remember, to revert a <command role=\"hg-cmd\">hg rename</command>, you "
  1.8349  "must provide <emphasis>both</emphasis> the source and destination names."
  1.8350  msgstr ""
  1.8351  
  1.8352  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.8353 -#: ../en/ch09-undo.xml:278
  1.8354 +#: ../en/ch08-undo.xml:278
  1.8355  msgid "% TODO: the output doesn't look like it will be removed!"
  1.8356  msgstr ""
  1.8357  
  1.8358  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.8359 -#: ../en/ch09-undo.xml:281
  1.8360 +#: ../en/ch08-undo.xml:281
  1.8361  msgid ""
  1.8362  "(By the way, if you rename a file, then modify the renamed-to file, then "
  1.8363  "revert both components of the rename, when Mercurial restores the file that "
  1.8364 @@ -9181,19 +8264,19 @@
  1.8365  msgstr ""
  1.8366  
  1.8367  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.8368 -#: ../en/ch09-undo.xml:288
  1.8369 +#: ../en/ch08-undo.xml:288
  1.8370  msgid ""
  1.8371  "These fiddly aspects of reverting a rename arguably constitute a small bug in "
  1.8372  "Mercurial."
  1.8373  msgstr ""
  1.8374  
  1.8375  #. type: Content of: <book><chapter><sect1><title>
  1.8376 -#: ../en/ch09-undo.xml:295
  1.8377 +#: ../en/ch08-undo.xml:295
  1.8378  msgid "Dealing with committed changes"
  1.8379  msgstr "处理已经提交的修改"
  1.8380  
  1.8381  #. type: Content of: <book><chapter><sect1><para>
  1.8382 -#: ../en/ch09-undo.xml:297
  1.8383 +#: ../en/ch08-undo.xml:297
  1.8384  msgid ""
  1.8385  "Consider a case where you have committed a change $a$, and another change $b$ "
  1.8386  "on top of it; you then realise that change $a$ was incorrect.  Mercurial lets "
  1.8387 @@ -9202,7 +8285,7 @@
  1.8388  msgstr ""
  1.8389  
  1.8390  #. type: Content of: <book><chapter><sect1><para>
  1.8391 -#: ../en/ch09-undo.xml:303
  1.8392 +#: ../en/ch08-undo.xml:303
  1.8393  msgid ""
  1.8394  "Before you read this section, here's something to keep in mind: the <command "
  1.8395  "role=\"hg-cmd\">hg backout</command> command undoes changes by "
  1.8396 @@ -9213,12 +8296,12 @@
  1.8397  msgstr ""
  1.8398  
  1.8399  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8400 -#: ../en/ch09-undo.xml:312
  1.8401 +#: ../en/ch08-undo.xml:312
  1.8402  msgid "Backing out a changeset"
  1.8403  msgstr "恢复一个修改集"
  1.8404  
  1.8405  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8406 -#: ../en/ch09-undo.xml:314
  1.8407 +#: ../en/ch08-undo.xml:314
  1.8408  msgid ""
  1.8409  "The <command role=\"hg-cmd\">hg backout</command> command lets you "
  1.8410  "<quote>undo</quote> the effects of an entire changeset in an automated "
  1.8411 @@ -9230,7 +8313,7 @@
  1.8412  
  1.8413  #
  1.8414  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8415 -#: ../en/ch09-undo.xml:323
  1.8416 +#: ../en/ch08-undo.xml:323
  1.8417  msgid ""
  1.8418  "The operation of the <command role=\"hg-cmd\">hg backout</command> command is "
  1.8419  "a little intricate, so let's illustrate it with some examples.  First, we'll "
  1.8420 @@ -9238,7 +8321,7 @@
  1.8421  msgstr ""
  1.8422  
  1.8423  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8424 -#: ../en/ch09-undo.xml:330
  1.8425 +#: ../en/ch08-undo.xml:330
  1.8426  msgid ""
  1.8427  "The <command role=\"hg-cmd\">hg backout</command> command takes a single "
  1.8428  "changeset ID as its argument; this is the changeset to back out.  Normally, "
  1.8429 @@ -9249,17 +8332,17 @@
  1.8430  msgstr ""
  1.8431  
  1.8432  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8433 -#: ../en/ch09-undo.xml:341
  1.8434 +#: ../en/ch08-undo.xml:341
  1.8435  msgid "Backing out the tip changeset"
  1.8436  msgstr "恢复顶点修改集"
  1.8437  
  1.8438  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8439 -#: ../en/ch09-undo.xml:343
  1.8440 +#: ../en/ch08-undo.xml:343
  1.8441  msgid "We're going to start by backing out the last changeset we committed."
  1.8442  msgstr ""
  1.8443  
  1.8444  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8445 -#: ../en/ch09-undo.xml:348
  1.8446 +#: ../en/ch08-undo.xml:348
  1.8447  msgid ""
  1.8448  "You can see that the second line from <filename>myfile</filename> is no "
  1.8449  "longer present.  Taking a look at the output of <command role=\"hg-cmd\">hg "
  1.8450 @@ -9273,25 +8356,25 @@
  1.8451  msgstr ""
  1.8452  
  1.8453  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.8454 -#: ../en/ch09-undo.xml:364
  1.8455 +#: ../en/ch08-undo.xml:364
  1.8456  msgid ""
  1.8457  "<imageobject><imagedata fileref=\"images/undo-simple.png\"/> </imageobject>"
  1.8458  msgstr ""
  1.8459  
  1.8460  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.8461 -#: ../en/ch09-undo.xml:367 ../en/ch09-undo.xml:486
  1.8462 +#: ../en/ch08-undo.xml:367 ../en/ch08-undo.xml:486
  1.8463  msgid ""
  1.8464  "Backing out a change using the <command role=\"hg-cmd\">hg backout</command> "
  1.8465  "command"
  1.8466  msgstr ""
  1.8467  
  1.8468  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8469 -#: ../en/ch09-undo.xml:376
  1.8470 +#: ../en/ch08-undo.xml:376
  1.8471  msgid "Backing out a non-tip change"
  1.8472  msgstr "恢复非顶点的修改"
  1.8473  
  1.8474  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8475 -#: ../en/ch09-undo.xml:378
  1.8476 +#: ../en/ch08-undo.xml:378
  1.8477  msgid ""
  1.8478  "If you want to back out a change other than the last one you committed, pass "
  1.8479  "the <option role=\"hg-opt-backout\">--merge</option> option to the <command "
  1.8480 @@ -9299,14 +8382,14 @@
  1.8481  msgstr ""
  1.8482  
  1.8483  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8484 -#: ../en/ch09-undo.xml:385
  1.8485 +#: ../en/ch08-undo.xml:385
  1.8486  msgid ""
  1.8487  "This makes backing out any changeset a <quote>one-shot</quote> operation "
  1.8488  "that's usually simple and fast."
  1.8489  msgstr ""
  1.8490  
  1.8491  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8492 -#: ../en/ch09-undo.xml:391
  1.8493 +#: ../en/ch08-undo.xml:391
  1.8494  msgid ""
  1.8495  "If you take a look at the contents of <filename>myfile</filename> after the "
  1.8496  "backout finishes, you'll see that the first and third changes are present, "
  1.8497 @@ -9314,7 +8397,7 @@
  1.8498  msgstr ""
  1.8499  
  1.8500  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8501 -#: ../en/ch09-undo.xml:398
  1.8502 +#: ../en/ch08-undo.xml:398
  1.8503  msgid ""
  1.8504  "As the graphical history in figure <xref endterm=\"fig.undo.backout-non-tip."
  1.8505  "caption\" linkend=\"fig.undo.backout-non-tip\"/> illustrates, Mercurial "
  1.8506 @@ -9327,27 +8410,27 @@
  1.8507  msgstr ""
  1.8508  
  1.8509  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8510 -#: ../en/ch09-undo.xml:410
  1.8511 +#: ../en/ch08-undo.xml:410
  1.8512  msgid ""
  1.8513  "% TODO: to me it looks like mercurial doesn't commit the second merge "
  1.8514  "automatically!"
  1.8515  msgstr ""
  1.8516  
  1.8517  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.8518 -#: ../en/ch09-undo.xml:415
  1.8519 +#: ../en/ch08-undo.xml:415
  1.8520  msgid ""
  1.8521  "<imageobject><imagedata fileref=\"images/undo-non-tip.png\"/> </imageobject>"
  1.8522  msgstr ""
  1.8523  
  1.8524  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.8525 -#: ../en/ch09-undo.xml:418
  1.8526 +#: ../en/ch08-undo.xml:418
  1.8527  msgid ""
  1.8528  "Automated backout of a non-tip change using the <command role=\"hg-cmd\">hg "
  1.8529  "backout</command> command"
  1.8530  msgstr ""
  1.8531  
  1.8532  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8533 -#: ../en/ch09-undo.xml:424
  1.8534 +#: ../en/ch08-undo.xml:424
  1.8535  msgid ""
  1.8536  "The result is that you end up <quote>back where you were</quote>, only with "
  1.8537  "some extra history that undoes the effect of the changeset you wanted to back "
  1.8538 @@ -9355,12 +8438,12 @@
  1.8539  msgstr ""
  1.8540  
  1.8541  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.8542 -#: ../en/ch09-undo.xml:429
  1.8543 +#: ../en/ch08-undo.xml:429
  1.8544  msgid "Always use the <option role=\"hg-opt-backout\">--merge</option> option"
  1.8545  msgstr "始终使用选项 <option role=\"hg-opt-backout\">--merge</option>"
  1.8546  
  1.8547  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.8548 -#: ../en/ch09-undo.xml:432
  1.8549 +#: ../en/ch08-undo.xml:432
  1.8550  msgid ""
  1.8551  "In fact, since the <option role=\"hg-opt-backout\">--merge</option> option "
  1.8552  "will do the <quote>right thing</quote> whether or not the changeset you're "
  1.8553 @@ -9370,12 +8453,12 @@
  1.8554  msgstr ""
  1.8555  
  1.8556  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8557 -#: ../en/ch09-undo.xml:443
  1.8558 +#: ../en/ch08-undo.xml:443
  1.8559  msgid "Gaining more control of the backout process"
  1.8560  msgstr "在恢复处理中获得更多控制"
  1.8561  
  1.8562  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8563 -#: ../en/ch09-undo.xml:445
  1.8564 +#: ../en/ch08-undo.xml:445
  1.8565  msgid ""
  1.8566  "While I've recommended that you always use the <option role=\"hg-opt-backout"
  1.8567  "\">--merge</option> option when backing out a change, the <command role=\"hg-"
  1.8568 @@ -9388,14 +8471,14 @@
  1.8569  msgstr ""
  1.8570  
  1.8571  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8572 -#: ../en/ch09-undo.xml:458
  1.8573 +#: ../en/ch08-undo.xml:458
  1.8574  msgid ""
  1.8575  "As with our earlier example, We'll commit a third changeset, then back out "
  1.8576  "its parent, and see what happens."
  1.8577  msgstr ""
  1.8578  
  1.8579  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8580 -#: ../en/ch09-undo.xml:464
  1.8581 +#: ../en/ch08-undo.xml:464
  1.8582  msgid ""
  1.8583  "Our new changeset is again a descendant of the changeset we backout out; it's "
  1.8584  "thus a new head, <emphasis>not</emphasis> a descendant of the changeset that "
  1.8585 @@ -9404,7 +8487,7 @@
  1.8586  msgstr ""
  1.8587  
  1.8588  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8589 -#: ../en/ch09-undo.xml:472
  1.8590 +#: ../en/ch08-undo.xml:472
  1.8591  msgid ""
  1.8592  "Again, it's easier to see what has happened by looking at a graph of the "
  1.8593  "revision history, in figure <xref endterm=\"fig.undo.backout-manual.caption\" "
  1.8594 @@ -9415,13 +8498,13 @@
  1.8595  msgstr ""
  1.8596  
  1.8597  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.8598 -#: ../en/ch09-undo.xml:483
  1.8599 +#: ../en/ch08-undo.xml:483
  1.8600  msgid ""
  1.8601  "<imageobject><imagedata fileref=\"images/undo-manual.png\"/> </imageobject>"
  1.8602  msgstr ""
  1.8603  
  1.8604  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8605 -#: ../en/ch09-undo.xml:492
  1.8606 +#: ../en/ch08-undo.xml:492
  1.8607  msgid ""
  1.8608  "After the <command role=\"hg-cmd\">hg backout</command> command has "
  1.8609  "completed, it leaves the new <quote>backout</quote> changeset as the parent "
  1.8610 @@ -9429,12 +8512,12 @@
  1.8611  msgstr ""
  1.8612  
  1.8613  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8614 -#: ../en/ch09-undo.xml:499
  1.8615 +#: ../en/ch08-undo.xml:499
  1.8616  msgid "Now we have two isolated sets of changes."
  1.8617  msgstr ""
  1.8618  
  1.8619  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8620 -#: ../en/ch09-undo.xml:503
  1.8621 +#: ../en/ch08-undo.xml:503
  1.8622  msgid ""
  1.8623  "Let's think about what we expect to see as the contents of <filename>myfile</"
  1.8624  "filename> now.  The first change should be present, because we've never "
  1.8625 @@ -9445,14 +8528,14 @@
  1.8626  msgstr ""
  1.8627  
  1.8628  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8629 -#: ../en/ch09-undo.xml:513
  1.8630 +#: ../en/ch08-undo.xml:513
  1.8631  msgid ""
  1.8632  "To get the third change back into the file, we just do a normal merge of our "
  1.8633  "two heads."
  1.8634  msgstr ""
  1.8635  
  1.8636  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8637 -#: ../en/ch09-undo.xml:518
  1.8638 +#: ../en/ch08-undo.xml:518
  1.8639  msgid ""
  1.8640  "Afterwards, the graphical history of our repository looks like figure <xref "
  1.8641  "endterm=\"fig.undo.backout-manual-merge.caption\" linkend=\"fig.undo.backout-"
  1.8642 @@ -9460,45 +8543,45 @@
  1.8643  msgstr ""
  1.8644  
  1.8645  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.8646 -#: ../en/ch09-undo.xml:525
  1.8647 +#: ../en/ch08-undo.xml:525
  1.8648  msgid ""
  1.8649  "<imageobject><imagedata fileref=\"images/undo-manual-merge.png\"/> </"
  1.8650  "imageobject>"
  1.8651  msgstr ""
  1.8652  
  1.8653  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.8654 -#: ../en/ch09-undo.xml:528
  1.8655 +#: ../en/ch08-undo.xml:528
  1.8656  msgid "Manually merging a backout change"
  1.8657  msgstr ""
  1.8658  
  1.8659  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8660 -#: ../en/ch09-undo.xml:535
  1.8661 +#: ../en/ch08-undo.xml:535
  1.8662  msgid "Why <command role=\"hg-cmd\">hg backout</command> works as it does"
  1.8663  msgstr "<command role=\"hg-cmd\">hg backout</command> 的内幕"
  1.8664  
  1.8665  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8666 -#: ../en/ch09-undo.xml:538
  1.8667 +#: ../en/ch08-undo.xml:538
  1.8668  msgid ""
  1.8669  "Here's a brief description of how the <command role=\"hg-cmd\">hg backout</"
  1.8670  "command> command works."
  1.8671  msgstr ""
  1.8672  
  1.8673  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.8674 -#: ../en/ch09-undo.xml:541
  1.8675 +#: ../en/ch08-undo.xml:541
  1.8676  msgid ""
  1.8677  "It ensures that the working directory is <quote>clean</quote>, i.e. that the "
  1.8678  "output of <command role=\"hg-cmd\">hg status</command> would be empty."
  1.8679  msgstr ""
  1.8680  
  1.8681  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.8682 -#: ../en/ch09-undo.xml:545
  1.8683 +#: ../en/ch08-undo.xml:545
  1.8684  msgid ""
  1.8685  "It remembers the current parent of the working directory.  Let's call this "
  1.8686  "changeset <literal>orig</literal>"
  1.8687  msgstr ""
  1.8688  
  1.8689  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.8690 -#: ../en/ch09-undo.xml:549
  1.8691 +#: ../en/ch08-undo.xml:549
  1.8692  msgid ""
  1.8693  "It does the equivalent of a <command role=\"hg-cmd\">hg update</command> to "
  1.8694  "sync the working directory to the changeset you want to back out.  Let's call "
  1.8695 @@ -9506,14 +8589,14 @@
  1.8696  msgstr ""
  1.8697  
  1.8698  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.8699 -#: ../en/ch09-undo.xml:554
  1.8700 +#: ../en/ch08-undo.xml:554
  1.8701  msgid ""
  1.8702  "It finds the parent of that changeset.  Let's call that changeset "
  1.8703  "<literal>parent</literal>."
  1.8704  msgstr ""
  1.8705  
  1.8706  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.8707 -#: ../en/ch09-undo.xml:557
  1.8708 +#: ../en/ch08-undo.xml:557
  1.8709  msgid ""
  1.8710  "For each file that the <literal>backout</literal> changeset affected, it does "
  1.8711  "the equivalent of a <command role=\"hg-cmd\">hg revert -r parent</command> on "
  1.8712 @@ -9522,14 +8605,14 @@
  1.8713  msgstr ""
  1.8714  
  1.8715  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.8716 -#: ../en/ch09-undo.xml:564
  1.8717 +#: ../en/ch08-undo.xml:564
  1.8718  msgid ""
  1.8719  "It commits the result as a new changeset.  This changeset has "
  1.8720  "<literal>backout</literal> as its parent."
  1.8721  msgstr ""
  1.8722  
  1.8723  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.8724 -#: ../en/ch09-undo.xml:568
  1.8725 +#: ../en/ch08-undo.xml:568
  1.8726  msgid ""
  1.8727  "If you specify <option role=\"hg-opt-backout\">--merge</option> on the "
  1.8728  "command line, it merges with <literal>orig</literal>, and commits the result "
  1.8729 @@ -9537,7 +8620,7 @@
  1.8730  msgstr ""
  1.8731  
  1.8732  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8733 -#: ../en/ch09-undo.xml:574
  1.8734 +#: ../en/ch08-undo.xml:574
  1.8735  msgid ""
  1.8736  "An alternative way to implement the <command role=\"hg-cmd\">hg backout</"
  1.8737  "command> command would be to <command role=\"hg-cmd\">hg export</command> the "
  1.8738 @@ -9548,7 +8631,7 @@
  1.8739  msgstr ""
  1.8740  
  1.8741  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8742 -#: ../en/ch09-undo.xml:584
  1.8743 +#: ../en/ch08-undo.xml:584
  1.8744  msgid ""
  1.8745  "The reason that <command role=\"hg-cmd\">hg backout</command> does an update, "
  1.8746  "a commit, a merge, and another commit is to give the merge machinery the best "
  1.8747 @@ -9557,7 +8640,7 @@
  1.8748  msgstr ""
  1.8749  
  1.8750  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8751 -#: ../en/ch09-undo.xml:591
  1.8752 +#: ../en/ch08-undo.xml:591
  1.8753  msgid ""
  1.8754  "If you're backing out a changeset that's 100 revisions back in your project's "
  1.8755  "history, the chances that the <command>patch</command> command will be able "
  1.8756 @@ -9572,12 +8655,12 @@
  1.8757  msgstr ""
  1.8758  
  1.8759  #. type: Content of: <book><chapter><sect1><title>
  1.8760 -#: ../en/ch09-undo.xml:608
  1.8761 +#: ../en/ch08-undo.xml:608
  1.8762  msgid "Changes that should never have been"
  1.8763  msgstr "不该发生的修改"
  1.8764  
  1.8765  #. type: Content of: <book><chapter><sect1><para>
  1.8766 -#: ../en/ch09-undo.xml:610
  1.8767 +#: ../en/ch08-undo.xml:610
  1.8768  msgid ""
  1.8769  "Most of the time, the <command role=\"hg-cmd\">hg backout</command> command "
  1.8770  "is exactly what you need if you want to undo the effects of a change.  It "
  1.8771 @@ -9586,7 +8669,7 @@
  1.8772  msgstr ""
  1.8773  
  1.8774  #. type: Content of: <book><chapter><sect1><para>
  1.8775 -#: ../en/ch09-undo.xml:616
  1.8776 +#: ../en/ch08-undo.xml:616
  1.8777  msgid ""
  1.8778  "On rare occasions, though, you may find that you've committed a change that "
  1.8779  "really should not be present in the repository at all.  For example, it would "
  1.8780 @@ -9598,7 +8681,7 @@
  1.8781  msgstr ""
  1.8782  
  1.8783  #. type: Content of: <book><chapter><sect1><para>
  1.8784 -#: ../en/ch09-undo.xml:625
  1.8785 +#: ../en/ch08-undo.xml:625
  1.8786  msgid ""
  1.8787  "Before I discuss the options that you have if you commit a <quote>brown paper "
  1.8788  "bag</quote> change (the kind that's so bad that you want to pull a brown "
  1.8789 @@ -9607,7 +8690,7 @@
  1.8790  msgstr ""
  1.8791  
  1.8792  #. type: Content of: <book><chapter><sect1><para>
  1.8793 -#: ../en/ch09-undo.xml:630
  1.8794 +#: ../en/ch08-undo.xml:630
  1.8795  msgid ""
  1.8796  "Since Mercurial treats history as accumulative&emdash;every change builds on "
  1.8797  "top of all changes that preceded it&emdash;you generally can't just make "
  1.8798 @@ -9619,7 +8702,7 @@
  1.8799  msgstr ""
  1.8800  
  1.8801  #. type: Content of: <book><chapter><sect1><para>
  1.8802 -#: ../en/ch09-undo.xml:639
  1.8803 +#: ../en/ch08-undo.xml:639
  1.8804  msgid ""
  1.8805  "After you've pushed a bad change to another repository, you <emphasis>could</"
  1.8806  "emphasis> still use <command role=\"hg-cmd\">hg rollback</command> to make "
  1.8807 @@ -9629,7 +8712,7 @@
  1.8808  msgstr ""
  1.8809  
  1.8810  #. type: Content of: <book><chapter><sect1><para>
  1.8811 -#: ../en/ch09-undo.xml:647
  1.8812 +#: ../en/ch08-undo.xml:647
  1.8813  msgid ""
  1.8814  "If a situation like this arises, and you know which repositories your bad "
  1.8815  "change has propagated into, you can <emphasis>try</emphasis> to get rid of "
  1.8816 @@ -9640,7 +8723,7 @@
  1.8817  msgstr ""
  1.8818  
  1.8819  #. type: Content of: <book><chapter><sect1><para>
  1.8820 -#: ../en/ch09-undo.xml:655
  1.8821 +#: ../en/ch08-undo.xml:655
  1.8822  msgid ""
  1.8823  "If you've committed one or more changes <emphasis>after</emphasis> the change "
  1.8824  "that you'd like to see disappear, your options are further reduced. Mercurial "
  1.8825 @@ -9649,7 +8732,7 @@
  1.8826  msgstr ""
  1.8827  
  1.8828  #. type: Content of: <book><chapter><sect1><para>
  1.8829 -#: ../en/ch09-undo.xml:661
  1.8830 +#: ../en/ch08-undo.xml:661
  1.8831  msgid ""
  1.8832  "XXX This needs filling out.  The <literal>hg-replay</literal> script in the "
  1.8833  "<literal>examples</literal> directory works, but doesn't handle merge "
  1.8834 @@ -9657,12 +8740,12 @@
  1.8835  msgstr ""
  1.8836  
  1.8837  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8838 -#: ../en/ch09-undo.xml:667
  1.8839 +#: ../en/ch08-undo.xml:667
  1.8840  msgid "Protect yourself from <quote>escaped</quote> changes"
  1.8841  msgstr "使用<quote>校验</quote>修改来保护你自己"
  1.8842  
  1.8843  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8844 -#: ../en/ch09-undo.xml:670
  1.8845 +#: ../en/ch08-undo.xml:670
  1.8846  msgid ""
  1.8847  "If you've committed some changes to your local repository and they've been "
  1.8848  "pushed or pulled somewhere else, this isn't necessarily a disaster.  You can "
  1.8849 @@ -9672,7 +8755,7 @@
  1.8850  msgstr ""
  1.8851  
  1.8852  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8853 -#: ../en/ch09-undo.xml:677
  1.8854 +#: ../en/ch08-undo.xml:677
  1.8855  msgid ""
  1.8856  "By configuring some hooks on that repository to validate incoming changesets "
  1.8857  "(see chapter <xref linkend=\"chap.hook\"/>), you can automatically prevent "
  1.8858 @@ -9684,7 +8767,7 @@
  1.8859  msgstr ""
  1.8860  
  1.8861  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8862 -#: ../en/ch09-undo.xml:687
  1.8863 +#: ../en/ch08-undo.xml:687
  1.8864  msgid ""
  1.8865  "For instance, an incoming change hook that verifies that a changeset will "
  1.8866  "actually compile can prevent people from inadvertantly <quote>breaking the "
  1.8867 @@ -9692,12 +8775,12 @@
  1.8868  msgstr ""
  1.8869  
  1.8870  #. type: Content of: <book><chapter><sect1><title>
  1.8871 -#: ../en/ch09-undo.xml:694
  1.8872 +#: ../en/ch08-undo.xml:694
  1.8873  msgid "Finding the source of a bug"
  1.8874  msgstr "查找问题的根源"
  1.8875  
  1.8876  #. type: Content of: <book><chapter><sect1><para>
  1.8877 -#: ../en/ch09-undo.xml:696
  1.8878 +#: ../en/ch08-undo.xml:696
  1.8879  msgid ""
  1.8880  "While it's all very well to be able to back out a changeset that introduced a "
  1.8881  "bug, this requires that you know which changeset to back out.  Mercurial "
  1.8882 @@ -9707,7 +8790,7 @@
  1.8883  msgstr ""
  1.8884  
  1.8885  #. type: Content of: <book><chapter><sect1><para>
  1.8886 -#: ../en/ch09-undo.xml:703
  1.8887 +#: ../en/ch08-undo.xml:703
  1.8888  msgid ""
  1.8889  "The idea behind the <command role=\"hg-cmd\">hg bisect</command> command is "
  1.8890  "that a changeset has introduced some change of behaviour that you can "
  1.8891 @@ -9719,14 +8802,14 @@
  1.8892  msgstr ""
  1.8893  
  1.8894  #. type: Content of: <book><chapter><sect1><para>
  1.8895 -#: ../en/ch09-undo.xml:712
  1.8896 +#: ../en/ch08-undo.xml:712
  1.8897  msgid ""
  1.8898  "Here are a few scenarios to help you understand how you might apply this "
  1.8899  "command."
  1.8900  msgstr ""
  1.8901  
  1.8902  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.8903 -#: ../en/ch09-undo.xml:715
  1.8904 +#: ../en/ch08-undo.xml:715
  1.8905  msgid ""
  1.8906  "The most recent version of your software has a bug that you remember wasn't "
  1.8907  "present a few weeks ago, but you don't know when it was introduced.  Here, "
  1.8908 @@ -9734,7 +8817,7 @@
  1.8909  msgstr ""
  1.8910  
  1.8911  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.8912 -#: ../en/ch09-undo.xml:720
  1.8913 +#: ../en/ch08-undo.xml:720
  1.8914  msgid ""
  1.8915  "You fixed a bug in a rush, and now it's time to close the entry in your "
  1.8916  "team's bug database.  The bug database requires a changeset ID when you close "
  1.8917 @@ -9743,7 +8826,7 @@
  1.8918  msgstr ""
  1.8919  
  1.8920  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.8921 -#: ../en/ch09-undo.xml:727
  1.8922 +#: ../en/ch08-undo.xml:727
  1.8923  msgid ""
  1.8924  "Your software works correctly, but runs 15% slower than the last time you "
  1.8925  "measured it.  You want to know which changeset introduced the performance "
  1.8926 @@ -9752,14 +8835,14 @@
  1.8927  msgstr ""
  1.8928  
  1.8929  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.8930 -#: ../en/ch09-undo.xml:734
  1.8931 +#: ../en/ch08-undo.xml:734
  1.8932  msgid ""
  1.8933  "The sizes of the components of your project that you ship exploded recently, "
  1.8934  "and you suspect that something changed in the way you build your project."
  1.8935  msgstr ""
  1.8936  
  1.8937  #. type: Content of: <book><chapter><sect1><para>
  1.8938 -#: ../en/ch09-undo.xml:739
  1.8939 +#: ../en/ch08-undo.xml:739
  1.8940  msgid ""
  1.8941  "From these examples, it should be clear that the <command role=\"hg-cmd\">hg "
  1.8942  "bisect</command> command is not useful only for finding the sources of bugs.  "
  1.8943 @@ -9769,7 +8852,7 @@
  1.8944  msgstr ""
  1.8945  
  1.8946  #. type: Content of: <book><chapter><sect1><para>
  1.8947 -#: ../en/ch09-undo.xml:746
  1.8948 +#: ../en/ch08-undo.xml:746
  1.8949  msgid ""
  1.8950  "We'll introduce a little bit of terminology here, just to make it clear which "
  1.8951  "parts of the search process are your responsibility, and which are "
  1.8952 @@ -9783,7 +8866,7 @@
  1.8953  msgstr ""
  1.8954  
  1.8955  #. type: Content of: <book><chapter><sect1><para>
  1.8956 -#: ../en/ch09-undo.xml:759
  1.8957 +#: ../en/ch08-undo.xml:759
  1.8958  msgid ""
  1.8959  "One simple way to automate the searching process would be simply to probe "
  1.8960  "every changeset.  However, this scales poorly.  If it took ten minutes to "
  1.8961 @@ -9796,7 +8879,7 @@
  1.8962  msgstr ""
  1.8963  
  1.8964  #. type: Content of: <book><chapter><sect1><para>
  1.8965 -#: ../en/ch09-undo.xml:769
  1.8966 +#: ../en/ch08-undo.xml:769
  1.8967  msgid ""
  1.8968  "What the <command role=\"hg-cmd\">hg bisect</command> command does is use its "
  1.8969  "knowledge of the <quote>shape</quote> of your project's revision history to "
  1.8970 @@ -9809,7 +8892,7 @@
  1.8971  msgstr ""
  1.8972  
  1.8973  #. type: Content of: <book><chapter><sect1><para>
  1.8974 -#: ../en/ch09-undo.xml:780
  1.8975 +#: ../en/ch08-undo.xml:780
  1.8976  msgid ""
  1.8977  "The <command role=\"hg-cmd\">hg bisect</command> command is aware of the "
  1.8978  "<quote>branchy</quote> nature of a Mercurial project's revision history, so "
  1.8979 @@ -9819,18 +8902,18 @@
  1.8980  msgstr ""
  1.8981  
  1.8982  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.8983 -#: ../en/ch09-undo.xml:788
  1.8984 +#: ../en/ch08-undo.xml:788
  1.8985  msgid "Using the <command role=\"hg-cmd\">hg bisect</command> command"
  1.8986  msgstr "使用命令 <command role=\"hg-cmd\">hg bisect</command>"
  1.8987  
  1.8988  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.8989 -#: ../en/ch09-undo.xml:791
  1.8990 +#: ../en/ch08-undo.xml:791
  1.8991  msgid ""
  1.8992  "Here's an example of <command role=\"hg-cmd\">hg bisect</command> in action."
  1.8993  msgstr ""
  1.8994  
  1.8995  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.8996 -#: ../en/ch09-undo.xml:795
  1.8997 +#: ../en/ch08-undo.xml:795
  1.8998  msgid ""
  1.8999  "In versions 0.9.5 and earlier of Mercurial, <command role=\"hg-cmd\">hg "
  1.9000  "bisect</command> was not a core command: it was distributed with Mercurial as "
  1.9001 @@ -9839,14 +8922,14 @@
  1.9002  msgstr ""
  1.9003  
  1.9004  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9005 -#: ../en/ch09-undo.xml:802
  1.9006 +#: ../en/ch08-undo.xml:802
  1.9007  msgid ""
  1.9008  "Now let's create a repository, so that we can try out the <command role=\"hg-"
  1.9009  "cmd\">hg bisect</command> command in isolation."
  1.9010  msgstr ""
  1.9011  
  1.9012  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9013 -#: ../en/ch09-undo.xml:808
  1.9014 +#: ../en/ch08-undo.xml:808
  1.9015  msgid ""
  1.9016  "We'll simulate a project that has a bug in it in a simple-minded way: create "
  1.9017  "trivial changes in a loop, and nominate one specific change that will have "
  1.9018 @@ -9856,7 +8939,7 @@
  1.9019  msgstr ""
  1.9020  
  1.9021  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9022 -#: ../en/ch09-undo.xml:818
  1.9023 +#: ../en/ch08-undo.xml:818
  1.9024  msgid ""
  1.9025  "The next thing that we'd like to do is figure out how to use the <command "
  1.9026  "role=\"hg-cmd\">hg bisect</command> command.  We can use Mercurial's normal "
  1.9027 @@ -9864,46 +8947,46 @@
  1.9028  msgstr ""
  1.9029  
  1.9030  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9031 -#: ../en/ch09-undo.xml:825
  1.9032 +#: ../en/ch08-undo.xml:825
  1.9033  msgid ""
  1.9034  "The <command role=\"hg-cmd\">hg bisect</command> command works in steps.  "
  1.9035  "Each step proceeds as follows."
  1.9036  msgstr ""
  1.9037  
  1.9038  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.9039 -#: ../en/ch09-undo.xml:828
  1.9040 +#: ../en/ch08-undo.xml:828
  1.9041  msgid "You run your binary test."
  1.9042  msgstr ""
  1.9043  
  1.9044  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><itemizedlist><listitem><para>
  1.9045 -#: ../en/ch09-undo.xml:830
  1.9046 +#: ../en/ch08-undo.xml:830
  1.9047  msgid ""
  1.9048  "If the test succeeded, you tell <command role=\"hg-cmd\">hg bisect</command> "
  1.9049  "by running the <command role=\"hg-cmd\">hg bisect good</command> command."
  1.9050  msgstr ""
  1.9051  
  1.9052  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><itemizedlist><listitem><para>
  1.9053 -#: ../en/ch09-undo.xml:835
  1.9054 +#: ../en/ch08-undo.xml:835
  1.9055  msgid ""
  1.9056  "If it failed, run the <command role=\"hg-cmd\">hg bisect bad</command> "
  1.9057  "command."
  1.9058  msgstr ""
  1.9059  
  1.9060  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.9061 -#: ../en/ch09-undo.xml:839
  1.9062 +#: ../en/ch08-undo.xml:839
  1.9063  msgid ""
  1.9064  "The command uses your information to decide which changeset to test next."
  1.9065  msgstr ""
  1.9066  
  1.9067  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.9068 -#: ../en/ch09-undo.xml:842
  1.9069 +#: ../en/ch08-undo.xml:842
  1.9070  msgid ""
  1.9071  "It updates the working directory to that changeset, and the process begins "
  1.9072  "again."
  1.9073  msgstr ""
  1.9074  
  1.9075  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9076 -#: ../en/ch09-undo.xml:845
  1.9077 +#: ../en/ch08-undo.xml:845
  1.9078  msgid ""
  1.9079  "The process ends when <command role=\"hg-cmd\">hg bisect</command> identifies "
  1.9080  "a unique changeset that marks the point where your test transitioned from "
  1.9081 @@ -9912,14 +8995,14 @@
  1.9082  
  1.9083  #
  1.9084  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9085 -#: ../en/ch09-undo.xml:850
  1.9086 +#: ../en/ch08-undo.xml:850
  1.9087  msgid ""
  1.9088  "To start the search, we must run the <command role=\"hg-cmd\">hg bisect --"
  1.9089  "reset</command> command."
  1.9090  msgstr ""
  1.9091  
  1.9092  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9093 -#: ../en/ch09-undo.xml:855
  1.9094 +#: ../en/ch08-undo.xml:855
  1.9095  msgid ""
  1.9096  "In our case, the binary test we use is simple: we check to see if any file in "
  1.9097  "the repository contains the string <quote>i have a gub</quote>.  If it does, "
  1.9098 @@ -9929,7 +9012,7 @@
  1.9099  msgstr ""
  1.9100  
  1.9101  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9102 -#: ../en/ch09-undo.xml:863
  1.9103 +#: ../en/ch08-undo.xml:863
  1.9104  msgid ""
  1.9105  "Most of the time, the revision to which the working directory is synced "
  1.9106  "(usually the tip) already exhibits the problem introduced by the buggy "
  1.9107 @@ -9938,7 +9021,7 @@
  1.9108  
  1.9109  #
  1.9110  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9111 -#: ../en/ch09-undo.xml:870
  1.9112 +#: ../en/ch08-undo.xml:870
  1.9113  msgid ""
  1.9114  "Our next task is to nominate a changeset that we know <emphasis>doesn't</"
  1.9115  "emphasis> have the bug; the <command role=\"hg-cmd\">hg bisect</command> "
  1.9116 @@ -9949,26 +9032,26 @@
  1.9117  msgstr ""
  1.9118  
  1.9119  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9120 -#: ../en/ch09-undo.xml:880
  1.9121 +#: ../en/ch08-undo.xml:880
  1.9122  msgid "Notice that this command printed some output."
  1.9123  msgstr ""
  1.9124  
  1.9125  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.9126 -#: ../en/ch09-undo.xml:882
  1.9127 +#: ../en/ch08-undo.xml:882
  1.9128  msgid ""
  1.9129  "It told us how many changesets it must consider before it can identify the "
  1.9130  "one that introduced the bug, and how many tests that will require."
  1.9131  msgstr ""
  1.9132  
  1.9133  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.9134 -#: ../en/ch09-undo.xml:886
  1.9135 +#: ../en/ch08-undo.xml:886
  1.9136  msgid ""
  1.9137  "It updated the working directory to the next changeset to test, and told us "
  1.9138  "which changeset it's testing."
  1.9139  msgstr ""
  1.9140  
  1.9141  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9142 -#: ../en/ch09-undo.xml:891
  1.9143 +#: ../en/ch08-undo.xml:891
  1.9144  msgid ""
  1.9145  "We now run our test in the working directory.  We use the <command>grep</"
  1.9146  "command> command to see if our <quote>bad</quote> file is present in the "
  1.9147 @@ -9977,26 +9060,26 @@
  1.9148  msgstr ""
  1.9149  
  1.9150  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9151 -#: ../en/ch09-undo.xml:897
  1.9152 +#: ../en/ch08-undo.xml:897
  1.9153  msgid ""
  1.9154  "This test looks like a perfect candidate for automation, so let's turn it "
  1.9155  "into a shell function."
  1.9156  msgstr ""
  1.9157  
  1.9158  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9159 -#: ../en/ch09-undo.xml:901
  1.9160 +#: ../en/ch08-undo.xml:901
  1.9161  msgid ""
  1.9162  "We can now run an entire test step with a single command, <literal>mytest</"
  1.9163  "literal>."
  1.9164  msgstr ""
  1.9165  
  1.9166  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9167 -#: ../en/ch09-undo.xml:906
  1.9168 +#: ../en/ch08-undo.xml:906
  1.9169  msgid "A few more invocations of our canned test step command, and we're done."
  1.9170  msgstr ""
  1.9171  
  1.9172  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9173 -#: ../en/ch09-undo.xml:911
  1.9174 +#: ../en/ch08-undo.xml:911
  1.9175  msgid ""
  1.9176  "Even though we had 40 changesets to search through, the <command role=\"hg-cmd"
  1.9177  "\">hg bisect</command> command let us find the changeset that introduced our "
  1.9178 @@ -10008,13 +9091,13 @@
  1.9179  msgstr ""
  1.9180  
  1.9181  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9182 -#: ../en/ch09-undo.xml:922
  1.9183 +#: ../en/ch08-undo.xml:922
  1.9184  msgid "Cleaning up after your search"
  1.9185  msgstr "搜索后的清理"
  1.9186  
  1.9187  #
  1.9188  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9189 -#: ../en/ch09-undo.xml:924
  1.9190 +#: ../en/ch08-undo.xml:924
  1.9191  msgid ""
  1.9192  "When you're finished using the <command role=\"hg-cmd\">hg bisect</command> "
  1.9193  "command in a repository, you can use the <command role=\"hg-cmd\">hg bisect "
  1.9194 @@ -10026,17 +9109,17 @@
  1.9195  msgstr ""
  1.9196  
  1.9197  #. type: Content of: <book><chapter><sect1><title>
  1.9198 -#: ../en/ch09-undo.xml:939
  1.9199 +#: ../en/ch08-undo.xml:939
  1.9200  msgid "Tips for finding bugs effectively"
  1.9201  msgstr "有效查找问题的技巧"
  1.9202  
  1.9203  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9204 -#: ../en/ch09-undo.xml:942
  1.9205 +#: ../en/ch08-undo.xml:942
  1.9206  msgid "Give consistent input"
  1.9207  msgstr "给出一致的输入"
  1.9208  
  1.9209  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9210 -#: ../en/ch09-undo.xml:944
  1.9211 +#: ../en/ch08-undo.xml:944
  1.9212  msgid ""
  1.9213  "The <command role=\"hg-cmd\">hg bisect</command> command requires that you "
  1.9214  "correctly report the result of every test you perform.  If you tell it that a "
  1.9215 @@ -10048,12 +9131,12 @@
  1.9216  msgstr ""
  1.9217  
  1.9218  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9219 -#: ../en/ch09-undo.xml:956
  1.9220 +#: ../en/ch08-undo.xml:956
  1.9221  msgid "Automate as much as possible"
  1.9222  msgstr "尽量自动"
  1.9223  
  1.9224  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9225 -#: ../en/ch09-undo.xml:958
  1.9226 +#: ../en/ch08-undo.xml:958
  1.9227  msgid ""
  1.9228  "When I started using the <command role=\"hg-cmd\">hg bisect</command> "
  1.9229  "command, I tried a few times to run my tests by hand, on the command line.  "
  1.9230 @@ -10063,7 +9146,7 @@
  1.9231  msgstr ""
  1.9232  
  1.9233  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9234 -#: ../en/ch09-undo.xml:966
  1.9235 +#: ../en/ch08-undo.xml:966
  1.9236  msgid ""
  1.9237  "My initial problems with driving the <command role=\"hg-cmd\">hg bisect</"
  1.9238  "command> command by hand occurred even with simple searches on small "
  1.9239 @@ -10074,24 +9157,24 @@
  1.9240  msgstr ""
  1.9241  
  1.9242  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9243 -#: ../en/ch09-undo.xml:975
  1.9244 +#: ../en/ch08-undo.xml:975
  1.9245  msgid "The key to automated testing is twofold:"
  1.9246  msgstr ""
  1.9247  
  1.9248  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.9249 -#: ../en/ch09-undo.xml:977
  1.9250 +#: ../en/ch08-undo.xml:977
  1.9251  msgid "always test for the same symptom, and"
  1.9252  msgstr ""
  1.9253  
  1.9254  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.9255 -#: ../en/ch09-undo.xml:979
  1.9256 +#: ../en/ch08-undo.xml:979
  1.9257  msgid ""
  1.9258  "always feed consistent input to the <command role=\"hg-cmd\">hg bisect</"
  1.9259  "command> command."
  1.9260  msgstr ""
  1.9261  
  1.9262  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9263 -#: ../en/ch09-undo.xml:982
  1.9264 +#: ../en/ch08-undo.xml:982
  1.9265  msgid ""
  1.9266  "In my tutorial example above, the <command>grep</command> command tests for "
  1.9267  "the symptom, and the <literal>if</literal> statement takes the result of this "
  1.9268 @@ -10102,12 +9185,12 @@
  1.9269  msgstr ""
  1.9270  
  1.9271  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9272 -#: ../en/ch09-undo.xml:992
  1.9273 +#: ../en/ch08-undo.xml:992
  1.9274  msgid "Check your results"
  1.9275  msgstr "检查你的结果"
  1.9276  
  1.9277  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9278 -#: ../en/ch09-undo.xml:994
  1.9279 +#: ../en/ch08-undo.xml:994
  1.9280  msgid ""
  1.9281  "Because the output of a <command role=\"hg-cmd\">hg bisect</command> search "
  1.9282  "is only as good as the input you give it, don't take the changeset it reports "
  1.9283 @@ -10116,32 +9199,32 @@
  1.9284  msgstr ""
  1.9285  
  1.9286  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.9287 -#: ../en/ch09-undo.xml:1000
  1.9288 +#: ../en/ch08-undo.xml:1000
  1.9289  msgid ""
  1.9290  "The changeset that it reports as the first bad revision.  Your test should "
  1.9291  "still report this as bad."
  1.9292  msgstr ""
  1.9293  
  1.9294  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.9295 -#: ../en/ch09-undo.xml:1004
  1.9296 +#: ../en/ch08-undo.xml:1004
  1.9297  msgid ""
  1.9298  "The parent of that changeset (either parent, if it's a merge). Your test "
  1.9299  "should report this changeset as good."
  1.9300  msgstr ""
  1.9301  
  1.9302  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.9303 -#: ../en/ch09-undo.xml:1008
  1.9304 +#: ../en/ch08-undo.xml:1008
  1.9305  msgid ""
  1.9306  "A child of that changeset.  Your test should report this changeset as bad."
  1.9307  msgstr ""
  1.9308  
  1.9309  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9310 -#: ../en/ch09-undo.xml:1014
  1.9311 +#: ../en/ch08-undo.xml:1014
  1.9312  msgid "Beware interference between bugs"
  1.9313  msgstr "谨防问题之间的冲突"
  1.9314  
  1.9315  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9316 -#: ../en/ch09-undo.xml:1016
  1.9317 +#: ../en/ch08-undo.xml:1016
  1.9318  msgid ""
  1.9319  "It's possible that your search for one bug could be disrupted by the presence "
  1.9320  "of another.  For example, let's say your software crashes at revision 100, "
  1.9321 @@ -10151,7 +9234,7 @@
  1.9322  msgstr ""
  1.9323  
  1.9324  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9325 -#: ../en/ch09-undo.xml:1024
  1.9326 +#: ../en/ch08-undo.xml:1024
  1.9327  msgid ""
  1.9328  "It is possible that this other bug completely <quote>masks</quote> yours, "
  1.9329  "which is to say that it occurs before your bug has a chance to manifest "
  1.9330 @@ -10163,7 +9246,7 @@
  1.9331  msgstr ""
  1.9332  
  1.9333  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9334 -#: ../en/ch09-undo.xml:1034
  1.9335 +#: ../en/ch08-undo.xml:1034
  1.9336  msgid ""
  1.9337  "A different problem could arise if your test for a bug's presence is not "
  1.9338  "specific enough.  If you check for <quote>my program crashes</quote>, then "
  1.9339 @@ -10172,7 +9255,7 @@
  1.9340  msgstr ""
  1.9341  
  1.9342  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9343 -#: ../en/ch09-undo.xml:1041
  1.9344 +#: ../en/ch08-undo.xml:1041
  1.9345  msgid ""
  1.9346  "Another useful situation in which to use <command role=\"hg-cmd\">hg bisect --"
  1.9347  "skip</command> is if you can't test a revision because your project was in a "
  1.9348 @@ -10181,12 +9264,12 @@
  1.9349  msgstr ""
  1.9350  
  1.9351  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9352 -#: ../en/ch09-undo.xml:1050
  1.9353 +#: ../en/ch08-undo.xml:1050
  1.9354  msgid "Bracket your search lazily"
  1.9355  msgstr "减少你的查找工作"
  1.9356  
  1.9357  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9358 -#: ../en/ch09-undo.xml:1052
  1.9359 +#: ../en/ch08-undo.xml:1052
  1.9360  msgid ""
  1.9361  "Choosing the first <quote>good</quote> and <quote>bad</quote> changesets that "
  1.9362  "will mark the end points of your search is often easy, but it bears a little "
  1.9363 @@ -10196,7 +9279,7 @@
  1.9364  msgstr ""
  1.9365  
  1.9366  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9367 -#: ../en/ch09-undo.xml:1060
  1.9368 +#: ../en/ch08-undo.xml:1060
  1.9369  msgid ""
  1.9370  "If you're having trouble remembering when a suitable <quote>good</quote> "
  1.9371  "change was, so that you can tell <command role=\"hg-cmd\">hg bisect</"
  1.9372 @@ -10207,7 +9290,7 @@
  1.9373  msgstr ""
  1.9374  
  1.9375  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9376 -#: ../en/ch09-undo.xml:1069
  1.9377 +#: ../en/ch08-undo.xml:1069
  1.9378  msgid ""
  1.9379  "Even if you end up <quote>early</quote> by thousands of changesets or months "
  1.9380  "of history, you will only add a handful of tests to the total number that "
  1.9381 @@ -10216,12 +9299,12 @@
  1.9382  msgstr ""
  1.9383  
  1.9384  #. type: Content of: <book><chapter><title>
  1.9385 -#: ../en/ch10-hook.xml:5
  1.9386 +#: ../en/ch09-hook.xml:5
  1.9387  msgid "Handling repository events with hooks"
  1.9388  msgstr "使用钩子处理版本库事件"
  1.9389  
  1.9390  #. type: Content of: <book><chapter><para>
  1.9391 -#: ../en/ch10-hook.xml:7
  1.9392 +#: ../en/ch09-hook.xml:7
  1.9393  msgid ""
  1.9394  "Mercurial offers a powerful mechanism to let you perform automated actions in "
  1.9395  "response to events that occur in a repository.  In some cases, you can even "
  1.9396 @@ -10229,7 +9312,7 @@
  1.9397  msgstr ""
  1.9398  
  1.9399  #. type: Content of: <book><chapter><para>
  1.9400 -#: ../en/ch10-hook.xml:12
  1.9401 +#: ../en/ch09-hook.xml:12
  1.9402  msgid ""
  1.9403  "The name Mercurial uses for one of these actions is a <emphasis>hook</"
  1.9404  "emphasis>. Hooks are called <quote>triggers</quote> in some revision control "
  1.9405 @@ -10237,12 +9320,12 @@
  1.9406  msgstr ""
  1.9407  
  1.9408  #. type: Content of: <book><chapter><sect1><title>
  1.9409 -#: ../en/ch10-hook.xml:18
  1.9410 +#: ../en/ch09-hook.xml:18
  1.9411  msgid "An overview of hooks in Mercurial"
  1.9412  msgstr "Mercurial 钩子概述"
  1.9413  
  1.9414  #. type: Content of: <book><chapter><sect1><para>
  1.9415 -#: ../en/ch10-hook.xml:20
  1.9416 +#: ../en/ch09-hook.xml:20
  1.9417  msgid ""
  1.9418  "Here is a brief list of the hooks that Mercurial supports.  We will revisit "
  1.9419  "each of these hooks in more detail later, in section <xref linkend=\"sec.hook."
  1.9420 @@ -10250,21 +9333,21 @@
  1.9421  msgstr ""
  1.9422  
  1.9423  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9424 -#: ../en/ch10-hook.xml:25
  1.9425 +#: ../en/ch09-hook.xml:25
  1.9426  msgid ""
  1.9427  "<literal role=\"hook\">changegroup</literal>: This is run after a group of "
  1.9428  "changesets has been brought into the repository from elsewhere."
  1.9429  msgstr ""
  1.9430  
  1.9431  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9432 -#: ../en/ch10-hook.xml:29
  1.9433 +#: ../en/ch09-hook.xml:29
  1.9434  msgid ""
  1.9435  "<literal role=\"hook\">commit</literal>: This is run after a new changeset "
  1.9436  "has been created in the local repository."
  1.9437  msgstr ""
  1.9438  
  1.9439  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9440 -#: ../en/ch10-hook.xml:33
  1.9441 +#: ../en/ch09-hook.xml:33
  1.9442  msgid ""
  1.9443  "<literal role=\"hook\">incoming</literal>: This is run once for each new "
  1.9444  "changeset that is brought into the repository from elsewhere.  Notice the "
  1.9445 @@ -10273,42 +9356,42 @@
  1.9446  msgstr ""
  1.9447  
  1.9448  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9449 -#: ../en/ch10-hook.xml:40
  1.9450 +#: ../en/ch09-hook.xml:40
  1.9451  msgid ""
  1.9452  "<literal role=\"hook\">outgoing</literal>: This is run after a group of "
  1.9453  "changesets has been transmitted from this repository."
  1.9454  msgstr ""
  1.9455  
  1.9456  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9457 -#: ../en/ch10-hook.xml:44
  1.9458 +#: ../en/ch09-hook.xml:44
  1.9459  msgid ""
  1.9460  "<literal role=\"hook\">prechangegroup</literal>: This is run before starting "
  1.9461  "to bring a group of changesets into the repository."
  1.9462  msgstr ""
  1.9463  
  1.9464  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9465 -#: ../en/ch10-hook.xml:49
  1.9466 +#: ../en/ch09-hook.xml:49
  1.9467  msgid ""
  1.9468  "<literal role=\"hook\">precommit</literal>: Controlling. This is run before "
  1.9469  "starting a commit."
  1.9470  msgstr ""
  1.9471  
  1.9472  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9473 -#: ../en/ch10-hook.xml:53
  1.9474 +#: ../en/ch09-hook.xml:53
  1.9475  msgid ""
  1.9476  "<literal role=\"hook\">preoutgoing</literal>: Controlling. This is run before "
  1.9477  "starting to transmit a group of changesets from this repository."
  1.9478  msgstr ""
  1.9479  
  1.9480  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9481 -#: ../en/ch10-hook.xml:58
  1.9482 +#: ../en/ch09-hook.xml:58
  1.9483  msgid ""
  1.9484  "<literal role=\"hook\">pretag</literal>: Controlling. This is run before "
  1.9485  "creating a tag."
  1.9486  msgstr ""
  1.9487  
  1.9488  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9489 -#: ../en/ch10-hook.xml:62
  1.9490 +#: ../en/ch09-hook.xml:62
  1.9491  msgid ""
  1.9492  "<literal role=\"hook\">pretxnchangegroup</literal>: Controlling. This is run "
  1.9493  "after a group of changesets has been brought into the local repository from "
  1.9494 @@ -10317,7 +9400,7 @@
  1.9495  msgstr ""
  1.9496  
  1.9497  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9498 -#: ../en/ch10-hook.xml:70
  1.9499 +#: ../en/ch09-hook.xml:70
  1.9500  msgid ""
  1.9501  "<literal role=\"hook\">pretxncommit</literal>: Controlling. This is run after "
  1.9502  "a new changeset has been created in the local repository, but before the "
  1.9503 @@ -10325,27 +9408,27 @@
  1.9504  msgstr ""
  1.9505  
  1.9506  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9507 -#: ../en/ch10-hook.xml:76
  1.9508 +#: ../en/ch09-hook.xml:76
  1.9509  msgid ""
  1.9510  "<literal role=\"hook\">preupdate</literal>: Controlling. This is run before "
  1.9511  "starting an update or merge of the working directory."
  1.9512  msgstr ""
  1.9513  
  1.9514  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9515 -#: ../en/ch10-hook.xml:81
  1.9516 +#: ../en/ch09-hook.xml:81
  1.9517  msgid ""
  1.9518  "<literal role=\"hook\">tag</literal>: This is run after a tag is created."
  1.9519  msgstr ""
  1.9520  
  1.9521  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.9522 -#: ../en/ch10-hook.xml:85
  1.9523 +#: ../en/ch09-hook.xml:85
  1.9524  msgid ""
  1.9525  "<literal role=\"hook\">update</literal>: This is run after an update or merge "
  1.9526  "of the working directory has finished."
  1.9527  msgstr ""
  1.9528  
  1.9529  #. type: Content of: <book><chapter><sect1><para>
  1.9530 -#: ../en/ch10-hook.xml:90
  1.9531 +#: ../en/ch09-hook.xml:90
  1.9532  msgid ""
  1.9533  "Each of the hooks whose description begins with the word <quote>Controlling</"
  1.9534  "quote> has the ability to determine whether an activity can proceed.  If the "
  1.9535 @@ -10354,17 +9437,17 @@
  1.9536  msgstr ""
  1.9537  
  1.9538  #. type: Content of: <book><chapter><sect1><title>
  1.9539 -#: ../en/ch10-hook.xml:99
  1.9540 +#: ../en/ch09-hook.xml:99
  1.9541  msgid "Hooks and security"
  1.9542  msgstr "钩子与安全性"
  1.9543  
  1.9544  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9545 -#: ../en/ch10-hook.xml:102
  1.9546 +#: ../en/ch09-hook.xml:102
  1.9547  msgid "Hooks are run with your privileges"
  1.9548  msgstr "钩子以你的特权执行"
  1.9549  
  1.9550  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9551 -#: ../en/ch10-hook.xml:104
  1.9552 +#: ../en/ch09-hook.xml:104
  1.9553  msgid ""
  1.9554  "When you run a Mercurial command in a repository, and the command causes a "
  1.9555  "hook to run, that hook runs on <emphasis>your</emphasis> system, under "
  1.9556 @@ -10375,16 +9458,16 @@
  1.9557  msgstr ""
  1.9558  
  1.9559  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9560 -#: ../en/ch10-hook.xml:115
  1.9561 +#: ../en/ch09-hook.xml:115
  1.9562  msgid ""
  1.9563  "In some cases, you may be exposed to hooks that you did not install "
  1.9564  "yourself.  If you work with Mercurial on an unfamiliar system, Mercurial will "
  1.9565 -"run hooks defined in that system's global <filename role=\"special\"> /.hgrc</"
  1.9566 -"filename>\\ file."
  1.9567 -msgstr ""
  1.9568 -
  1.9569 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.9570 -#: ../en/ch10-hook.xml:122
  1.9571 +"run hooks defined in that system's global <filename role=\"special\">~/.hgrc</"
  1.9572 +"filename> file."
  1.9573 +msgstr ""
  1.9574 +
  1.9575 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.9576 +#: ../en/ch09-hook.xml:122
  1.9577  msgid ""
  1.9578  "If you are working with a repository owned by another user, Mercurial can run "
  1.9579  "hooks defined in that user's repository, but it will still run them as "
  1.9580 @@ -10396,7 +9479,7 @@
  1.9581  msgstr ""
  1.9582  
  1.9583  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.9584 -#: ../en/ch10-hook.xml:134
  1.9585 +#: ../en/ch09-hook.xml:134
  1.9586  msgid ""
  1.9587  "This only applies if you are pulling from a repository on a local or network "
  1.9588  "filesystem.  If you're pulling over http or ssh, any <literal role=\"hook"
  1.9589 @@ -10405,7 +9488,7 @@
  1.9590  msgstr ""
  1.9591  
  1.9592  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9593 -#: ../en/ch10-hook.xml:142
  1.9594 +#: ../en/ch09-hook.xml:142
  1.9595  msgid ""
  1.9596  "XXX To see what hooks are defined in a repository, use the <command role=\"hg-"
  1.9597  "cmd\">hg config hooks</command> command.  If you are working in one "
  1.9598 @@ -10416,12 +9499,12 @@
  1.9599  msgstr ""
  1.9600  
  1.9601  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9602 -#: ../en/ch10-hook.xml:153
  1.9603 +#: ../en/ch09-hook.xml:153
  1.9604  msgid "Hooks do not propagate"
  1.9605  msgstr "钩子不会传播"
  1.9606  
  1.9607  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9608 -#: ../en/ch10-hook.xml:155
  1.9609 +#: ../en/ch09-hook.xml:155
  1.9610  msgid ""
  1.9611  "In Mercurial, hooks are not revision controlled, and do not propagate when "
  1.9612  "you clone, or pull from, a repository.  The reason for this is simple: a hook "
  1.9613 @@ -10430,7 +9513,7 @@
  1.9614  msgstr ""
  1.9615  
  1.9616  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9617 -#: ../en/ch10-hook.xml:162
  1.9618 +#: ../en/ch09-hook.xml:162
  1.9619  msgid ""
  1.9620  "It would be extremely reckless for any distributed revision control system to "
  1.9621  "implement revision-controlled hooks, as this would offer an easily "
  1.9622 @@ -10439,7 +9522,7 @@
  1.9623  msgstr ""
  1.9624  
  1.9625  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9626 -#: ../en/ch10-hook.xml:168
  1.9627 +#: ../en/ch09-hook.xml:168
  1.9628  msgid ""
  1.9629  "Since Mercurial does not propagate hooks, if you are collaborating with other "
  1.9630  "people on a common project, you should not assume that they are using the "
  1.9631 @@ -10448,22 +9531,22 @@
  1.9632  msgstr ""
  1.9633  
  1.9634  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9635 -#: ../en/ch10-hook.xml:175
  1.9636 +#: ../en/ch09-hook.xml:175
  1.9637  msgid ""
  1.9638  "In a corporate intranet, this is somewhat easier to control, as you can for "
  1.9639  "example provide a <quote>standard</quote> installation of Mercurial on an NFS "
  1.9640 -"filesystem, and use a site-wide <filename role=\"special\"> /.hgrc</filename>"
  1.9641 -"\\ file to define hooks that all users will see.  However, this too has its "
  1.9642 +"filesystem, and use a site-wide <filename role=\"special\">~/.hgrc</filename> "
  1.9643 +"file to define hooks that all users will see.  However, this too has its "
  1.9644  "limits; see below."
  1.9645  msgstr ""
  1.9646  
  1.9647  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9648 -#: ../en/ch10-hook.xml:185
  1.9649 +#: ../en/ch09-hook.xml:184
  1.9650  msgid "Hooks can be overridden"
  1.9651  msgstr "钩子可以被覆盖"
  1.9652  
  1.9653  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9654 -#: ../en/ch10-hook.xml:187
  1.9655 +#: ../en/ch09-hook.xml:186
  1.9656  msgid ""
  1.9657  "Mercurial allows you to override a hook definition by redefining the hook.  "
  1.9658  "You can disable it by setting its value to the empty string, or change its "
  1.9659 @@ -10471,31 +9554,31 @@
  1.9660  msgstr ""
  1.9661  
  1.9662  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9663 -#: ../en/ch10-hook.xml:192
  1.9664 -msgid ""
  1.9665 -"If you deploy a system- or site-wide <filename role=\"special\"> /.hgrc</"
  1.9666 -"filename>\\ file that defines some hooks, you should thus understand that "
  1.9667 -"your users can disable or override those hooks."
  1.9668 -msgstr ""
  1.9669 -
  1.9670 -#. type: Content of: <book><chapter><sect1><sect2><title>
  1.9671 -#: ../en/ch10-hook.xml:200
  1.9672 +#: ../en/ch09-hook.xml:191
  1.9673 +msgid ""
  1.9674 +"If you deploy a system- or site-wide <filename role=\"special\">~/.hgrc</"
  1.9675 +"filename> file that defines some hooks, you should thus understand that your "
  1.9676 +"users can disable or override those hooks."
  1.9677 +msgstr ""
  1.9678 +
  1.9679 +#. type: Content of: <book><chapter><sect1><sect2><title>
  1.9680 +#: ../en/ch09-hook.xml:199
  1.9681  msgid "Ensuring that critical hooks are run"
  1.9682  msgstr "确保关键钩子的执行"
  1.9683  
  1.9684  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9685 -#: ../en/ch10-hook.xml:202
  1.9686 +#: ../en/ch09-hook.xml:201
  1.9687  msgid ""
  1.9688  "Sometimes you may want to enforce a policy that you do not want others to be "
  1.9689  "able to work around.  For example, you may have a requirement that every "
  1.9690  "changeset must pass a rigorous set of tests.  Defining this requirement via a "
  1.9691 -"hook in a site-wide <filename role=\"special\"> /.hgrc</filename>\\ won't "
  1.9692 -"work for remote users on laptops, and of course local users can subvert it at "
  1.9693 -"will by overriding the hook."
  1.9694 -msgstr ""
  1.9695 -
  1.9696 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.9697 -#: ../en/ch10-hook.xml:211
  1.9698 +"hook in a site-wide <filename role=\"special\">~/.hgrc</filename> won't work "
  1.9699 +"for remote users on laptops, and of course local users can subvert it at will "
  1.9700 +"by overriding the hook."
  1.9701 +msgstr ""
  1.9702 +
  1.9703 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.9704 +#: ../en/ch09-hook.xml:210
  1.9705  msgid ""
  1.9706  "Instead, you can set up your policies for use of Mercurial so that people are "
  1.9707  "expected to propagate changes through a well-known <quote>canonical</quote> "
  1.9708 @@ -10503,7 +9586,7 @@
  1.9709  msgstr ""
  1.9710  
  1.9711  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9712 -#: ../en/ch10-hook.xml:217
  1.9713 +#: ../en/ch09-hook.xml:216
  1.9714  msgid ""
  1.9715  "One way to do this is via a combination of social engineering and "
  1.9716  "technology.  Set up a restricted-access account; users can push changes over "
  1.9717 @@ -10513,7 +9596,7 @@
  1.9718  msgstr ""
  1.9719  
  1.9720  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9721 -#: ../en/ch10-hook.xml:226
  1.9722 +#: ../en/ch09-hook.xml:225
  1.9723  msgid ""
  1.9724  "When someone pushes a changeset to the server that everyone pulls from, the "
  1.9725  "server will test the changeset before it accepts it as permanent, and reject "
  1.9726 @@ -10523,12 +9606,12 @@
  1.9727  msgstr ""
  1.9728  
  1.9729  #. type: Content of: <book><chapter><sect1><title>
  1.9730 -#: ../en/ch10-hook.xml:237
  1.9731 +#: ../en/ch09-hook.xml:236
  1.9732  msgid "Care with <literal>pretxn</literal> hooks in a shared-access repository"
  1.9733  msgstr "在共享版本库中注意 <literal>pretxn</literal> 钩子"
  1.9734  
  1.9735  #. type: Content of: <book><chapter><sect1><para>
  1.9736 -#: ../en/ch10-hook.xml:240
  1.9737 +#: ../en/ch09-hook.xml:239
  1.9738  msgid ""
  1.9739  "If you want to use hooks to do some automated work in a repository that a "
  1.9740  "number of people have shared access to, you need to be careful in how you do "
  1.9741 @@ -10536,7 +9619,7 @@
  1.9742  msgstr ""
  1.9743  
  1.9744  #. type: Content of: <book><chapter><sect1><para>
  1.9745 -#: ../en/ch10-hook.xml:245
  1.9746 +#: ../en/ch09-hook.xml:244
  1.9747  msgid ""
  1.9748  "Mercurial only locks a repository when it is writing to the repository, and "
  1.9749  "only the parts of Mercurial that write to the repository pay attention to "
  1.9750 @@ -10545,7 +9628,7 @@
  1.9751  msgstr ""
  1.9752  
  1.9753  #. type: Content of: <book><chapter><sect1><para>
  1.9754 -#: ../en/ch10-hook.xml:252
  1.9755 +#: ../en/ch09-hook.xml:251
  1.9756  msgid ""
  1.9757  "Because Mercurial is careful with the order in which it reads and writes "
  1.9758  "data, it does not need to acquire a lock when it wants to read data from the "
  1.9759 @@ -10555,7 +9638,7 @@
  1.9760  msgstr ""
  1.9761  
  1.9762  #. type: Content of: <book><chapter><sect1><para>
  1.9763 -#: ../en/ch10-hook.xml:260
  1.9764 +#: ../en/ch09-hook.xml:259
  1.9765  msgid ""
  1.9766  "With great performance comes a trade-off, though, one which has the potential "
  1.9767  "to cause you trouble unless you're aware of it.  To describe this requires a "
  1.9768 @@ -10564,7 +9647,7 @@
  1.9769  msgstr ""
  1.9770  
  1.9771  #. type: Content of: <book><chapter><sect1><para>
  1.9772 -#: ../en/ch10-hook.xml:267
  1.9773 +#: ../en/ch09-hook.xml:266
  1.9774  msgid ""
  1.9775  "When Mercurial <emphasis>writes</emphasis> metadata, it writes it straight "
  1.9776  "into the destination file.  It writes file data first, then manifest data "
  1.9777 @@ -10576,7 +9659,7 @@
  1.9778  msgstr ""
  1.9779  
  1.9780  #. type: Content of: <book><chapter><sect1><para>
  1.9781 -#: ../en/ch10-hook.xml:278
  1.9782 +#: ../en/ch09-hook.xml:277
  1.9783  msgid ""
  1.9784  "When Mercurial <emphasis>reads</emphasis> metadata, it reads the changelog "
  1.9785  "first, then everything else.  Since a reader will only access parts of the "
  1.9786 @@ -10585,7 +9668,7 @@
  1.9787  msgstr ""
  1.9788  
  1.9789  #. type: Content of: <book><chapter><sect1><para>
  1.9790 -#: ../en/ch10-hook.xml:284
  1.9791 +#: ../en/ch09-hook.xml:283
  1.9792  msgid ""
  1.9793  "Some controlling hooks (<literal role=\"hook\">pretxncommit</literal> and "
  1.9794  "<literal role=\"hook\">pretxnchangegroup</literal>) run when a transaction is "
  1.9795 @@ -10594,7 +9677,7 @@
  1.9796  msgstr ""
  1.9797  
  1.9798  #. type: Content of: <book><chapter><sect1><para>
  1.9799 -#: ../en/ch10-hook.xml:292
  1.9800 +#: ../en/ch09-hook.xml:291
  1.9801  msgid ""
  1.9802  "If one of these hooks runs for long, it opens a window of time during which a "
  1.9803  "reader can see the metadata for changesets that are not yet permanent, and "
  1.9804 @@ -10603,12 +9686,12 @@
  1.9805  msgstr ""
  1.9806  
  1.9807  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9808 -#: ../en/ch10-hook.xml:300
  1.9809 +#: ../en/ch09-hook.xml:299
  1.9810  msgid "The problem illustrated"
  1.9811  msgstr "问题的演示"
  1.9812  
  1.9813  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9814 -#: ../en/ch10-hook.xml:302
  1.9815 +#: ../en/ch09-hook.xml:301
  1.9816  msgid ""
  1.9817  "In principle, a good use for the <literal role=\"hook\">pretxnchangegroup</"
  1.9818  "literal> hook would be to automatically build and test incoming changes "
  1.9819 @@ -10620,7 +9703,7 @@
  1.9820  msgstr ""
  1.9821  
  1.9822  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9823 -#: ../en/ch10-hook.xml:313
  1.9824 +#: ../en/ch09-hook.xml:312
  1.9825  msgid ""
  1.9826  "The safest technological answer to this challenge is to set up such a "
  1.9827  "<quote>gatekeeper</quote> repository as <emphasis>unidirectional</emphasis>.  "
  1.9828 @@ -10633,7 +9716,7 @@
  1.9829  msgstr ""
  1.9830  
  1.9831  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9832 -#: ../en/ch10-hook.xml:325
  1.9833 +#: ../en/ch09-hook.xml:324
  1.9834  msgid ""
  1.9835  "In practice, putting a centralised bottleneck like this in place is not often "
  1.9836  "a good idea, and transaction visibility has nothing to do with the problem.  "
  1.9837 @@ -10645,7 +9728,7 @@
  1.9838  msgstr ""
  1.9839  
  1.9840  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9841 -#: ../en/ch10-hook.xml:336
  1.9842 +#: ../en/ch09-hook.xml:335
  1.9843  msgid ""
  1.9844  "An approach that scales better is to get people to build and test before they "
  1.9845  "push, then run automated builds and tests centrally <emphasis>after</"
  1.9846 @@ -10655,12 +9738,12 @@
  1.9847  msgstr ""
  1.9848  
  1.9849  #. type: Content of: <book><chapter><sect1><title>
  1.9850 -#: ../en/ch10-hook.xml:347
  1.9851 +#: ../en/ch09-hook.xml:346
  1.9852  msgid "A short tutorial on using hooks"
  1.9853  msgstr "使用钩子的简短指南"
  1.9854  
  1.9855  #. type: Content of: <book><chapter><sect1><para>
  1.9856 -#: ../en/ch10-hook.xml:349
  1.9857 +#: ../en/ch09-hook.xml:348
  1.9858  msgid ""
  1.9859  "It is easy to write a Mercurial hook.  Let's start with a hook that runs when "
  1.9860  "you finish a <command role=\"hg-cmd\">hg commit</command>, and simply prints "
  1.9861 @@ -10669,15 +9752,15 @@
  1.9862  msgstr ""
  1.9863  
  1.9864  #. type: Content of: <book><chapter><sect1><para>
  1.9865 -#: ../en/ch10-hook.xml:356
  1.9866 +#: ../en/ch09-hook.xml:355
  1.9867  msgid "All hooks follow the pattern in this example."
  1.9868  msgstr ""
  1.9869  
  1.9870  #. type: Content of: <book><chapter><sect1><para>
  1.9871 -#: ../en/ch10-hook.xml:360
  1.9872 +#: ../en/ch09-hook.xml:359
  1.9873  msgid ""
  1.9874  "You add an entry to the <literal role=\"rc-hooks\">hooks</literal> section of "
  1.9875 -"your <filename role=\"special\"> /.hgrc</filename>.  On the left is the name "
  1.9876 +"your <filename role=\"special\">~/.hgrc</filename>.  On the left is the name "
  1.9877  "of the event to trigger on; on the right is the action to take.  As you can "
  1.9878  "see, you can run an arbitrary shell command in a hook.  Mercurial passes "
  1.9879  "extra information to the hook using environment variables (look for "
  1.9880 @@ -10685,19 +9768,19 @@
  1.9881  msgstr ""
  1.9882  
  1.9883  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9884 -#: ../en/ch10-hook.xml:370
  1.9885 +#: ../en/ch09-hook.xml:369
  1.9886  msgid "Performing multiple actions per event"
  1.9887  msgstr "每个事件执行多个操作"
  1.9888  
  1.9889  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9890 -#: ../en/ch10-hook.xml:372
  1.9891 +#: ../en/ch09-hook.xml:371
  1.9892  msgid ""
  1.9893  "Quite often, you will want to define more than one hook for a particular kind "
  1.9894  "of event, as shown below."
  1.9895  msgstr ""
  1.9896  
  1.9897  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9898 -#: ../en/ch10-hook.xml:377
  1.9899 +#: ../en/ch09-hook.xml:376
  1.9900  msgid ""
  1.9901  "Mercurial lets you do this by adding an <emphasis>extension</emphasis> to the "
  1.9902  "end of a hook's name.  You extend a hook's name by giving the name of the "
  1.9903 @@ -10708,7 +9791,7 @@
  1.9904  msgstr ""
  1.9905  
  1.9906  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9907 -#: ../en/ch10-hook.xml:388
  1.9908 +#: ../en/ch09-hook.xml:387
  1.9909  msgid ""
  1.9910  "To give a well-defined order of execution when there are multiple hooks "
  1.9911  "defined for an event, Mercurial sorts hooks by extension, and executes the "
  1.9912 @@ -10718,7 +9801,7 @@
  1.9913  msgstr ""
  1.9914  
  1.9915  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9916 -#: ../en/ch10-hook.xml:397
  1.9917 +#: ../en/ch09-hook.xml:396
  1.9918  msgid ""
  1.9919  "It is a good idea to use a somewhat descriptive extension when you define a "
  1.9920  "new hook.  This will help you to remember what the hook was for.  If the hook "
  1.9921 @@ -10729,12 +9812,12 @@
  1.9922  msgstr ""
  1.9923  
  1.9924  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9925 -#: ../en/ch10-hook.xml:408
  1.9926 +#: ../en/ch09-hook.xml:407
  1.9927  msgid "Controlling whether an activity can proceed"
  1.9928  msgstr "控制处理的活动"
  1.9929  
  1.9930  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9931 -#: ../en/ch10-hook.xml:410
  1.9932 +#: ../en/ch09-hook.xml:409
  1.9933  msgid ""
  1.9934  "In our earlier examples, we used the <literal role=\"hook\">commit</literal> "
  1.9935  "hook, which is run after a commit has completed.  This is one of several "
  1.9936 @@ -10743,7 +9826,7 @@
  1.9937  msgstr ""
  1.9938  
  1.9939  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9940 -#: ../en/ch10-hook.xml:417
  1.9941 +#: ../en/ch09-hook.xml:416
  1.9942  msgid ""
  1.9943  "Mercurial defines a number of events that occur before an activity starts; or "
  1.9944  "after it starts, but before it finishes.  Hooks that trigger on these events "
  1.9945 @@ -10752,7 +9835,7 @@
  1.9946  msgstr ""
  1.9947  
  1.9948  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9949 -#: ../en/ch10-hook.xml:423
  1.9950 +#: ../en/ch09-hook.xml:422
  1.9951  msgid ""
  1.9952  "The <literal role=\"hook\">pretxncommit</literal> hook runs after a commit "
  1.9953  "has all but completed.  In other words, the metadata representing the "
  1.9954 @@ -10763,7 +9846,7 @@
  1.9955  msgstr ""
  1.9956  
  1.9957  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9958 -#: ../en/ch10-hook.xml:432
  1.9959 +#: ../en/ch09-hook.xml:431
  1.9960  msgid ""
  1.9961  "If the <literal role=\"hook\">pretxncommit</literal> hook exits with a status "
  1.9962  "code of zero, the transaction is allowed to complete; the commit finishes; "
  1.9963 @@ -10774,19 +9857,19 @@
  1.9964  msgstr ""
  1.9965  
  1.9966  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9967 -#: ../en/ch10-hook.xml:444
  1.9968 +#: ../en/ch09-hook.xml:443
  1.9969  msgid ""
  1.9970  "The hook in the example above checks that a commit comment contains a bug "
  1.9971  "ID.  If it does, the commit can complete.  If not, the commit is rolled back."
  1.9972  msgstr ""
  1.9973  
  1.9974  #. type: Content of: <book><chapter><sect1><title>
  1.9975 -#: ../en/ch10-hook.xml:452
  1.9976 +#: ../en/ch09-hook.xml:451
  1.9977  msgid "Writing your own hooks"
  1.9978  msgstr "编写钩子"
  1.9979  
  1.9980  #. type: Content of: <book><chapter><sect1><para>
  1.9981 -#: ../en/ch10-hook.xml:454
  1.9982 +#: ../en/ch09-hook.xml:453
  1.9983  msgid ""
  1.9984  "When you are writing a hook, you might find it useful to run Mercurial either "
  1.9985  "with the <option role=\"hg-opt-global\">-v</option> option, or the <envar "
  1.9986 @@ -10795,12 +9878,12 @@
  1.9987  msgstr ""
  1.9988  
  1.9989  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.9990 -#: ../en/ch10-hook.xml:463
  1.9991 +#: ../en/ch09-hook.xml:462
  1.9992  msgid "Choosing how your hook should run"
  1.9993  msgstr "选择钩子的执行方式"
  1.9994  
  1.9995  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.9996 -#: ../en/ch10-hook.xml:465
  1.9997 +#: ../en/ch09-hook.xml:464
  1.9998  msgid ""
  1.9999  "You can write a hook either as a normal program&emdash;typically a shell "
 1.10000  "script&emdash;or as a Python function that is executed within the Mercurial "
 1.10001 @@ -10808,7 +9891,7 @@
 1.10002  msgstr ""
 1.10003  
 1.10004  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10005 -#: ../en/ch10-hook.xml:470
 1.10006 +#: ../en/ch09-hook.xml:469
 1.10007  msgid ""
 1.10008  "Writing a hook as an external program has the advantage that it requires no "
 1.10009  "knowledge of Mercurial's internals.  You can call normal Mercurial commands "
 1.10010 @@ -10817,7 +9900,7 @@
 1.10011  msgstr ""
 1.10012  
 1.10013  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10014 -#: ../en/ch10-hook.xml:477
 1.10015 +#: ../en/ch09-hook.xml:476
 1.10016  msgid ""
 1.10017  "An in-process Python hook has complete access to the Mercurial API, and does "
 1.10018  "not <quote>shell out</quote> to another process, so it is inherently faster "
 1.10019 @@ -10827,7 +9910,7 @@
 1.10020  msgstr ""
 1.10021  
 1.10022  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10023 -#: ../en/ch10-hook.xml:485
 1.10024 +#: ../en/ch09-hook.xml:484
 1.10025  msgid ""
 1.10026  "If you are comfortable with Python, or require high performance, writing your "
 1.10027  "hooks in Python may be a good choice.  However, when you have a "
 1.10028 @@ -10836,12 +9919,12 @@
 1.10029  msgstr ""
 1.10030  
 1.10031  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10032 -#: ../en/ch10-hook.xml:494
 1.10033 +#: ../en/ch09-hook.xml:493
 1.10034  msgid "Hook parameters"
 1.10035  msgstr "钩子的参数"
 1.10036  
 1.10037  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10038 -#: ../en/ch10-hook.xml:496
 1.10039 +#: ../en/ch09-hook.xml:495
 1.10040  msgid ""
 1.10041  "Mercurial calls each hook with a set of well-defined parameters.  In Python, "
 1.10042  "a parameter is passed as a keyword argument to your hook function.  For an "
 1.10043 @@ -10849,7 +9932,7 @@
 1.10044  msgstr ""
 1.10045  
 1.10046  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10047 -#: ../en/ch10-hook.xml:502
 1.10048 +#: ../en/ch09-hook.xml:501
 1.10049  msgid ""
 1.10050  "Whether your hook is written in Python or as a shell script, the hook-"
 1.10051  "specific parameter names and values will be the same.  A boolean parameter "
 1.10052 @@ -10862,12 +9945,12 @@
 1.10053  msgstr ""
 1.10054  
 1.10055  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10056 -#: ../en/ch10-hook.xml:516
 1.10057 +#: ../en/ch09-hook.xml:515
 1.10058  msgid "Hook return values and activity control"
 1.10059  msgstr "钩子的返回值与活动控制"
 1.10060  
 1.10061  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10062 -#: ../en/ch10-hook.xml:518
 1.10063 +#: ../en/ch09-hook.xml:517
 1.10064  msgid ""
 1.10065  "A hook that executes successfully must exit with a status of zero if "
 1.10066  "external, or return boolean <quote>false</quote> if in-process.  Failure is "
 1.10067 @@ -10877,35 +9960,35 @@
 1.10068  msgstr ""
 1.10069  
 1.10070  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10071 -#: ../en/ch10-hook.xml:526
 1.10072 +#: ../en/ch09-hook.xml:525
 1.10073  msgid ""
 1.10074  "For a hook that controls whether an activity can proceed, zero/false means "
 1.10075  "<quote>allow</quote>, while non-zero/true/exception means <quote>deny</quote>."
 1.10076  msgstr ""
 1.10077  
 1.10078  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10079 -#: ../en/ch10-hook.xml:533
 1.10080 +#: ../en/ch09-hook.xml:532
 1.10081  msgid "Writing an external hook"
 1.10082  msgstr "编写外部钩子"
 1.10083  
 1.10084  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10085 -#: ../en/ch10-hook.xml:535
 1.10086 -msgid ""
 1.10087 -"When you define an external hook in your <filename role=\"special\"> /.hgrc</"
 1.10088 -"filename>\\ and the hook is run, its value is passed to your shell, which "
 1.10089 +#: ../en/ch09-hook.xml:534
 1.10090 +msgid ""
 1.10091 +"When you define an external hook in your <filename role=\"special\">~/.hgrc</"
 1.10092 +"filename> and the hook is run, its value is passed to your shell, which "
 1.10093  "interprets it.  This means that you can use normal shell constructs in the "
 1.10094  "body of the hook."
 1.10095  msgstr ""
 1.10096  
 1.10097  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10098 -#: ../en/ch10-hook.xml:542
 1.10099 +#: ../en/ch09-hook.xml:541
 1.10100  msgid ""
 1.10101  "An executable hook is always run with its current directory set to a "
 1.10102  "repository's root directory."
 1.10103  msgstr ""
 1.10104  
 1.10105  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10106 -#: ../en/ch10-hook.xml:546
 1.10107 +#: ../en/ch09-hook.xml:545
 1.10108  msgid ""
 1.10109  "Each hook parameter is passed in as an environment variable; the name is "
 1.10110  "upper-cased, and prefixed with the string <quote><literal>HG_</literal></"
 1.10111 @@ -10913,7 +9996,7 @@
 1.10112  msgstr ""
 1.10113  
 1.10114  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10115 -#: ../en/ch10-hook.xml:551
 1.10116 +#: ../en/ch09-hook.xml:550
 1.10117  msgid ""
 1.10118  "With the exception of hook parameters, Mercurial does not set or modify any "
 1.10119  "environment variables when running a hook.  This is useful to remember if you "
 1.10120 @@ -10924,14 +10007,14 @@
 1.10121  msgstr ""
 1.10122  
 1.10123  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10124 -#: ../en/ch10-hook.xml:562
 1.10125 +#: ../en/ch09-hook.xml:561
 1.10126  msgid "Telling Mercurial to use an in-process hook"
 1.10127  msgstr "让 Mercurial 使用进程内钩子"
 1.10128  
 1.10129  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10130 -#: ../en/ch10-hook.xml:564
 1.10131 -msgid ""
 1.10132 -"The <filename role=\"special\"> /.hgrc</filename>\\ syntax for defining an in-"
 1.10133 +#: ../en/ch09-hook.xml:563
 1.10134 +msgid ""
 1.10135 +"The <filename role=\"special\">~/.hgrc</filename> syntax for defining an in-"
 1.10136  "process hook is slightly different than for an executable hook.  The value of "
 1.10137  "the hook must start with the text <quote><literal>python:</literal></quote>, "
 1.10138  "and continue with the fully-qualified name of a callable object to use as the "
 1.10139 @@ -10939,7 +10022,7 @@
 1.10140  msgstr ""
 1.10141  
 1.10142  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10143 -#: ../en/ch10-hook.xml:572
 1.10144 +#: ../en/ch09-hook.xml:571
 1.10145  msgid ""
 1.10146  "The module in which a hook lives is automatically imported when a hook is "
 1.10147  "run.  So long as you have the module name and <envar>PYTHONPATH</envar> "
 1.10148 @@ -10947,14 +10030,14 @@
 1.10149  msgstr ""
 1.10150  
 1.10151  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10152 -#: ../en/ch10-hook.xml:578
 1.10153 -msgid ""
 1.10154 -"The following <filename role=\"special\"> /.hgrc</filename>\\ example snippet "
 1.10155 +#: ../en/ch09-hook.xml:577
 1.10156 +msgid ""
 1.10157 +"The following <filename role=\"special\">~/.hgrc</filename> example snippet "
 1.10158  "illustrates the syntax and meaning of the notions we just described."
 1.10159  msgstr ""
 1.10160  
 1.10161  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10162 -#: ../en/ch10-hook.xml:584
 1.10163 +#: ../en/ch09-hook.xml:583
 1.10164  msgid ""
 1.10165  "When Mercurial runs the <literal>commit.example</literal> hook, it imports "
 1.10166  "<literal>mymodule.submodule</literal>, looks for the callable object named "
 1.10167 @@ -10962,19 +10045,19 @@
 1.10168  msgstr ""
 1.10169  
 1.10170  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10171 -#: ../en/ch10-hook.xml:592
 1.10172 +#: ../en/ch09-hook.xml:591
 1.10173  msgid "Writing an in-process hook"
 1.10174  msgstr "编写进程内钩子"
 1.10175  
 1.10176  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10177 -#: ../en/ch10-hook.xml:594
 1.10178 +#: ../en/ch09-hook.xml:593
 1.10179  msgid ""
 1.10180  "The simplest in-process hook does nothing, but illustrates the basic shape of "
 1.10181  "the hook API:"
 1.10182  msgstr ""
 1.10183  
 1.10184  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10185 -#: ../en/ch10-hook.xml:599
 1.10186 +#: ../en/ch09-hook.xml:598
 1.10187  msgid ""
 1.10188  "The first argument to a Python hook is always a <literal role=\"py-mod-"
 1.10189  "mercurial.ui\">ui</literal> object.  The second is a repository object; at "
 1.10190 @@ -10986,17 +10069,17 @@
 1.10191  msgstr ""
 1.10192  
 1.10193  #. type: Content of: <book><chapter><sect1><title>
 1.10194 -#: ../en/ch10-hook.xml:614
 1.10195 +#: ../en/ch09-hook.xml:613
 1.10196  msgid "Some hook examples"
 1.10197  msgstr "钩子样例"
 1.10198  
 1.10199  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10200 -#: ../en/ch10-hook.xml:617
 1.10201 +#: ../en/ch09-hook.xml:616
 1.10202  msgid "Writing meaningful commit messages"
 1.10203  msgstr "编写有意义的提交日志"
 1.10204  
 1.10205  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10206 -#: ../en/ch10-hook.xml:619
 1.10207 +#: ../en/ch09-hook.xml:618
 1.10208  msgid ""
 1.10209  "It's hard to imagine a useful commit message being very short. The simple "
 1.10210  "<literal role=\"hook\">pretxncommit</literal> hook of the example below will "
 1.10211 @@ -11005,12 +10088,12 @@
 1.10212  msgstr ""
 1.10213  
 1.10214  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10215 -#: ../en/ch10-hook.xml:629
 1.10216 +#: ../en/ch09-hook.xml:628
 1.10217  msgid "Checking for trailing whitespace"
 1.10218  msgstr "检查行尾空格"
 1.10219  
 1.10220  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10221 -#: ../en/ch10-hook.xml:631
 1.10222 +#: ../en/ch09-hook.xml:630
 1.10223  msgid ""
 1.10224  "An interesting use of a commit-related hook is to help you to write cleaner "
 1.10225  "code.  A simple example of <quote>cleaner code</quote> is the dictum that a "
 1.10226 @@ -11022,7 +10105,7 @@
 1.10227  msgstr ""
 1.10228  
 1.10229  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10230 -#: ../en/ch10-hook.xml:642
 1.10231 +#: ../en/ch09-hook.xml:641
 1.10232  msgid ""
 1.10233  "You can use either the <literal role=\"hook\">precommit</literal> or <literal "
 1.10234  "role=\"hook\">pretxncommit</literal> hook to tell whether you have a trailing "
 1.10235 @@ -11037,7 +10120,7 @@
 1.10236  msgstr ""
 1.10237  
 1.10238  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10239 -#: ../en/ch10-hook.xml:658
 1.10240 +#: ../en/ch09-hook.xml:657
 1.10241  msgid ""
 1.10242  "Should you choose the <literal role=\"hook\">pretxncommit</literal> hook, the "
 1.10243  "check won't occur until just before the transaction for the commit "
 1.10244 @@ -11049,7 +10132,7 @@
 1.10245  msgstr ""
 1.10246  
 1.10247  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10248 -#: ../en/ch10-hook.xml:671
 1.10249 +#: ../en/ch09-hook.xml:670
 1.10250  msgid ""
 1.10251  "In this example, we introduce a simple <literal role=\"hook\">pretxncommit</"
 1.10252  "literal> hook that checks for trailing whitespace.  This hook is short, but "
 1.10253 @@ -11061,7 +10144,7 @@
 1.10254  msgstr ""
 1.10255  
 1.10256  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10257 -#: ../en/ch10-hook.xml:682
 1.10258 +#: ../en/ch09-hook.xml:681
 1.10259  msgid ""
 1.10260  "The above version is much more complex, but also more useful.  It parses a "
 1.10261  "unified diff to see if any lines add trailing whitespace, and prints the name "
 1.10262 @@ -11074,7 +10157,7 @@
 1.10263  msgstr ""
 1.10264  
 1.10265  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10266 -#: ../en/ch10-hook.xml:696
 1.10267 +#: ../en/ch09-hook.xml:695
 1.10268  msgid ""
 1.10269  "As a final aside, note in the example above the use of <command>perl</"
 1.10270  "command>'s in-place editing feature to get rid of trailing whitespace from a "
 1.10271 @@ -11082,12 +10165,12 @@
 1.10272  msgstr ""
 1.10273  
 1.10274  #. type: Content of: <book><chapter><sect1><title>
 1.10275 -#: ../en/ch10-hook.xml:706
 1.10276 +#: ../en/ch09-hook.xml:705
 1.10277  msgid "Bundled hooks"
 1.10278  msgstr "内置的钩子"
 1.10279  
 1.10280  #. type: Content of: <book><chapter><sect1><para>
 1.10281 -#: ../en/ch10-hook.xml:708
 1.10282 +#: ../en/ch09-hook.xml:707
 1.10283  msgid ""
 1.10284  "Mercurial ships with several bundled hooks.  You can find them in the "
 1.10285  "<filename class=\"directory\">hgext</filename> directory of a Mercurial "
 1.10286 @@ -11097,14 +10180,14 @@
 1.10287  msgstr ""
 1.10288  
 1.10289  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10290 -#: ../en/ch10-hook.xml:717
 1.10291 +#: ../en/ch09-hook.xml:716
 1.10292  msgid ""
 1.10293  "<literal role=\"hg-ext\">acl</literal>&emdash;access control for parts of a "
 1.10294  "repository"
 1.10295  msgstr "<literal role=\"hg-ext\">acl</literal>&emdash;版本库的访问控制"
 1.10296  
 1.10297  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10298 -#: ../en/ch10-hook.xml:720
 1.10299 +#: ../en/ch09-hook.xml:719
 1.10300  msgid ""
 1.10301  "The <literal role=\"hg-ext\">acl</literal> extension lets you control which "
 1.10302  "remote users are allowed to push changesets to a networked server.  You can "
 1.10303 @@ -11114,7 +10197,7 @@
 1.10304  msgstr ""
 1.10305  
 1.10306  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10307 -#: ../en/ch10-hook.xml:728
 1.10308 +#: ../en/ch09-hook.xml:727
 1.10309  msgid ""
 1.10310  "This extension implements access control based on the identity of the user "
 1.10311  "performing a push, <emphasis>not</emphasis> on who committed the changesets "
 1.10312 @@ -11124,12 +10207,12 @@
 1.10313  msgstr ""
 1.10314  
 1.10315  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 1.10316 -#: ../en/ch10-hook.xml:738
 1.10317 +#: ../en/ch09-hook.xml:737
 1.10318  msgid "Configuring the <literal role=\"hook\">acl</literal> hook"
 1.10319  msgstr "配置 <literal role=\"hook\">acl</literal> 钩子"
 1.10320  
 1.10321  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10322 -#: ../en/ch10-hook.xml:741
 1.10323 +#: ../en/ch09-hook.xml:740
 1.10324  msgid ""
 1.10325  "In order to manage incoming changesets, the <literal role=\"hg-ext\">acl</"
 1.10326  "literal> hook must be used as a <literal role=\"hook\">pretxnchangegroup</"
 1.10327 @@ -11139,14 +10222,14 @@
 1.10328  msgstr ""
 1.10329  
 1.10330  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10331 -#: ../en/ch10-hook.xml:751
 1.10332 +#: ../en/ch09-hook.xml:750
 1.10333  msgid ""
 1.10334  "The <literal role=\"hg-ext\">acl</literal> extension is configured using "
 1.10335  "three sections."
 1.10336  msgstr ""
 1.10337  
 1.10338  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10339 -#: ../en/ch10-hook.xml:755
 1.10340 +#: ../en/ch09-hook.xml:754
 1.10341  msgid ""
 1.10342  "The <literal role=\"rc-acl\">acl</literal> section has only one entry, <envar "
 1.10343  "role=\"rc-item-acl\">sources</envar>, which lists the sources of incoming "
 1.10344 @@ -11155,7 +10238,7 @@
 1.10345  msgstr ""
 1.10346  
 1.10347  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10348 -#: ../en/ch10-hook.xml:762
 1.10349 +#: ../en/ch09-hook.xml:761
 1.10350  msgid ""
 1.10351  "<envar role=\"rc-item-acl\">serve</envar>: Control incoming changesets that "
 1.10352  "are arriving from a remote repository over http or ssh.  This is the default "
 1.10353 @@ -11164,28 +10247,28 @@
 1.10354  msgstr ""
 1.10355  
 1.10356  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10357 -#: ../en/ch10-hook.xml:770
 1.10358 +#: ../en/ch09-hook.xml:769
 1.10359  msgid ""
 1.10360  "<envar role=\"rc-item-acl\">pull</envar>: Control incoming changesets that "
 1.10361  "are arriving via a pull from a local repository."
 1.10362  msgstr ""
 1.10363  
 1.10364  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10365 -#: ../en/ch10-hook.xml:775
 1.10366 +#: ../en/ch09-hook.xml:774
 1.10367  msgid ""
 1.10368  "<envar role=\"rc-item-acl\">push</envar>: Control incoming changesets that "
 1.10369  "are arriving via a push from a local repository."
 1.10370  msgstr ""
 1.10371  
 1.10372  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10373 -#: ../en/ch10-hook.xml:780
 1.10374 +#: ../en/ch09-hook.xml:779
 1.10375  msgid ""
 1.10376  "<envar role=\"rc-item-acl\">bundle</envar>: Control incoming changesets that "
 1.10377  "are arriving from another repository via a bundle."
 1.10378  msgstr ""
 1.10379  
 1.10380  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10381 -#: ../en/ch10-hook.xml:786
 1.10382 +#: ../en/ch09-hook.xml:785
 1.10383  msgid ""
 1.10384  "The <literal role=\"rc-acl.allow\">acl.allow</literal> section controls the "
 1.10385  "users that are allowed to add changesets to the repository.  If this section "
 1.10386 @@ -11195,7 +10278,7 @@
 1.10387  msgstr ""
 1.10388  
 1.10389  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10390 -#: ../en/ch10-hook.xml:795
 1.10391 +#: ../en/ch09-hook.xml:794
 1.10392  msgid ""
 1.10393  "The <literal role=\"rc-acl.deny\">acl.deny</literal> section determines which "
 1.10394  "users are denied from adding changesets to the repository.  If this section "
 1.10395 @@ -11203,7 +10286,7 @@
 1.10396  msgstr ""
 1.10397  
 1.10398  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10399 -#: ../en/ch10-hook.xml:801
 1.10400 +#: ../en/ch09-hook.xml:800
 1.10401  msgid ""
 1.10402  "The syntaxes for the <literal role=\"rc-acl.allow\">acl.allow</literal> and "
 1.10403  "<literal role=\"rc-acl.deny\">acl.deny</literal> sections are identical.  On "
 1.10404 @@ -11212,7 +10295,7 @@
 1.10405  msgstr ""
 1.10406  
 1.10407  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10408 -#: ../en/ch10-hook.xml:809
 1.10409 +#: ../en/ch09-hook.xml:808
 1.10410  msgid ""
 1.10411  "In the following example, the user <literal>docwriter</literal> can only push "
 1.10412  "changes to the <filename class=\"directory\">docs</filename> subtree of the "
 1.10413 @@ -11221,23 +10304,23 @@
 1.10414  msgstr ""
 1.10415  
 1.10416  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 1.10417 -#: ../en/ch10-hook.xml:821 ../en/ch10-hook.xml:1095 ../en/ch10-hook.xml:1308
 1.10418 +#: ../en/ch09-hook.xml:822 ../en/ch09-hook.xml:1089 ../en/ch09-hook.xml:1280
 1.10419  msgid "Testing and troubleshooting"
 1.10420  msgstr "测试与问题处理"
 1.10421  
 1.10422  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10423 -#: ../en/ch10-hook.xml:823
 1.10424 +#: ../en/ch09-hook.xml:824
 1.10425  msgid ""
 1.10426  "If you want to test the <literal role=\"hg-ext\">acl</literal> hook, run it "
 1.10427  "with Mercurial's debugging output enabled.  Since you'll probably be running "
 1.10428  "it on a server where it's not convenient (or sometimes possible) to pass in "
 1.10429  "the <option role=\"hg-opt-global\">--debug</option> option, don't forget that "
 1.10430 -"you can enable debugging output in your <filename role=\"special\"> /.hgrc</"
 1.10431 +"you can enable debugging output in your <filename role=\"special\">~/.hgrc</"
 1.10432  "filename>:"
 1.10433  msgstr ""
 1.10434  
 1.10435  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10436 -#: ../en/ch10-hook.xml:833
 1.10437 +#: ../en/ch09-hook.xml:835
 1.10438  msgid ""
 1.10439  "With this enabled, the <literal role=\"hg-ext\">acl</literal> hook will print "
 1.10440  "enough information to let you figure out why it is allowing or forbidding "
 1.10441 @@ -11245,13 +10328,13 @@
 1.10442  msgstr ""
 1.10443  
 1.10444  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10445 -#: ../en/ch10-hook.xml:842
 1.10446 +#: ../en/ch09-hook.xml:844
 1.10447  msgid ""
 1.10448  "<literal role=\"hg-ext\">bugzilla</literal>&emdash;integration with Bugzilla"
 1.10449  msgstr "<literal role=\"hg-ext\">bugzilla</literal>&emdash;与 Bugzilla 的集成"
 1.10450  
 1.10451  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10452 -#: ../en/ch10-hook.xml:846
 1.10453 +#: ../en/ch09-hook.xml:848
 1.10454  msgid ""
 1.10455  "The <literal role=\"hg-ext\">bugzilla</literal> extension adds a comment to a "
 1.10456  "Bugzilla bug whenever it finds a reference to that bug ID in a commit "
 1.10457 @@ -11260,14 +10343,14 @@
 1.10458  msgstr ""
 1.10459  
 1.10460  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10461 -#: ../en/ch10-hook.xml:853
 1.10462 +#: ../en/ch09-hook.xml:855
 1.10463  msgid ""
 1.10464  "It adds a comment to the bug that looks like this (you can configure the "
 1.10465  "contents of the comment&emdash;see below):"
 1.10466  msgstr ""
 1.10467  
 1.10468  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10469 -#: ../en/ch10-hook.xml:862
 1.10470 +#: ../en/ch09-hook.xml:864
 1.10471  msgid ""
 1.10472  "The value of this hook is that it automates the process of updating a bug any "
 1.10473  "time a changeset refers to it.  If you configure the hook properly, it makes "
 1.10474 @@ -11276,14 +10359,14 @@
 1.10475  msgstr ""
 1.10476  
 1.10477  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10478 -#: ../en/ch10-hook.xml:869
 1.10479 +#: ../en/ch09-hook.xml:871
 1.10480  msgid ""
 1.10481  "You can use the code in this hook as a starting point for some more exotic "
 1.10482  "Bugzilla integration recipes.  Here are a few possibilities:"
 1.10483  msgstr ""
 1.10484  
 1.10485  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.10486 -#: ../en/ch10-hook.xml:874
 1.10487 +#: ../en/ch09-hook.xml:876
 1.10488  msgid ""
 1.10489  "Require that every changeset pushed to the server have a valid bug ID in its "
 1.10490  "commit comment.  In this case, you'd want to configure the hook as a <literal "
 1.10491 @@ -11292,7 +10375,7 @@
 1.10492  msgstr ""
 1.10493  
 1.10494  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.10495 -#: ../en/ch10-hook.xml:882
 1.10496 +#: ../en/ch09-hook.xml:884
 1.10497  msgid ""
 1.10498  "Allow incoming changesets to automatically modify the <emphasis>state</"
 1.10499  "emphasis> of a bug, as well as simply adding a comment.  For example, the "
 1.10500 @@ -11302,20 +10385,23 @@
 1.10501  msgstr ""
 1.10502  
 1.10503  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 1.10504 -#: ../en/ch10-hook.xml:892
 1.10505 +#: ../en/ch09-hook.xml:894
 1.10506  msgid "Configuring the <literal role=\"hook\">bugzilla</literal> hook"
 1.10507  msgstr "配置 <literal role=\"hook\">bugzilla</literal> 钩子"
 1.10508  
 1.10509  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10510 -#: ../en/ch10-hook.xml:895
 1.10511 -msgid ""
 1.10512 -"You should configure this hook in your server's <filename role=\"special\"> /."
 1.10513 -"hgrc</filename>\\ as an <literal role=\"hook\">incoming</literal> hook, for "
 1.10514 +#: ../en/ch09-hook.xml:897
 1.10515 +#, fuzzy
 1.10516 +msgid ""
 1.10517 +"You should configure this hook in your server's <filename role=\"special\">~/."
 1.10518 +"hgrc</filename> as an <literal role=\"hook\">incoming</literal> hook, for "
 1.10519  "example as follows:"
 1.10520  msgstr ""
 1.10521 +"选择正确的 <filename role=\"special\"> /.hgrc</filename> 文件增加到 <literal "
 1.10522 +"role=\"rc-web\">web</literal> 条目"
 1.10523  
 1.10524  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10525 -#: ../en/ch10-hook.xml:903
 1.10526 +#: ../en/ch09-hook.xml:905
 1.10527  msgid ""
 1.10528  "Because of the specialised nature of this hook, and because Bugzilla was not "
 1.10529  "written with this kind of integration in mind, configuring this hook is a "
 1.10530 @@ -11323,7 +10409,7 @@
 1.10531  msgstr ""
 1.10532  
 1.10533  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10534 -#: ../en/ch10-hook.xml:909
 1.10535 +#: ../en/ch09-hook.xml:911
 1.10536  msgid ""
 1.10537  "Before you begin, you must install the MySQL bindings for Python on the host"
 1.10538  "(s) where you'll be running the hook.  If this is not available as a binary "
 1.10539 @@ -11332,15 +10418,15 @@
 1.10540  msgstr ""
 1.10541  
 1.10542  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10543 -#: ../en/ch10-hook.xml:916
 1.10544 +#: ../en/ch09-hook.xml:918
 1.10545  msgid ""
 1.10546  "Configuration information for this hook lives in the <literal role=\"rc-"
 1.10547 -"bugzilla\">bugzilla</literal> section of your <filename role=\"special\"> /."
 1.10548 +"bugzilla\">bugzilla</literal> section of your <filename role=\"special\">~/."
 1.10549  "hgrc</filename>."
 1.10550  msgstr ""
 1.10551  
 1.10552  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10553 -#: ../en/ch10-hook.xml:921
 1.10554 +#: ../en/ch09-hook.xml:923
 1.10555  msgid ""
 1.10556  "<envar role=\"rc-item-bugzilla\">version</envar>: The version of Bugzilla "
 1.10557  "installed on the server.  The database schema that Bugzilla uses changes "
 1.10558 @@ -11349,7 +10435,7 @@
 1.10559  msgstr ""
 1.10560  
 1.10561  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10562 -#: ../en/ch10-hook.xml:930
 1.10563 +#: ../en/ch09-hook.xml:932
 1.10564  msgid ""
 1.10565  "<envar role=\"rc-item-bugzilla\">host</envar>: The hostname of the MySQL "
 1.10566  "server that stores your Bugzilla data.  The database must be configured to "
 1.10567 @@ -11358,7 +10444,7 @@
 1.10568  msgstr ""
 1.10569  
 1.10570  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10571 -#: ../en/ch10-hook.xml:937
 1.10572 +#: ../en/ch09-hook.xml:939
 1.10573  msgid ""
 1.10574  "<envar role=\"rc-item-bugzilla\">user</envar>: The username with which to "
 1.10575  "connect to the MySQL server.  The database must be configured to allow this "
 1.10576 @@ -11369,16 +10455,16 @@
 1.10577  msgstr ""
 1.10578  
 1.10579  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10580 -#: ../en/ch10-hook.xml:948
 1.10581 +#: ../en/ch09-hook.xml:950
 1.10582  msgid ""
 1.10583  "<envar role=\"rc-item-bugzilla\">password</envar>: The MySQL password for the "
 1.10584  "user you configured above.  This is stored as plain text, so you should make "
 1.10585 -"sure that unauthorised users cannot read the <filename role=\"special\"> /."
 1.10586 -"hgrc</filename>\\ file where you store this information."
 1.10587 +"sure that unauthorised users cannot read the <filename role=\"special\">~/."
 1.10588 +"hgrc</filename> file where you store this information."
 1.10589  msgstr ""
 1.10590  
 1.10591  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10592 -#: ../en/ch10-hook.xml:957
 1.10593 +#: ../en/ch09-hook.xml:959
 1.10594  msgid ""
 1.10595  "<envar role=\"rc-item-bugzilla\">db</envar>: The name of the Bugzilla "
 1.10596  "database on the MySQL server.  The default value of this item is "
 1.10597 @@ -11387,7 +10473,7 @@
 1.10598  msgstr ""
 1.10599  
 1.10600  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10601 -#: ../en/ch10-hook.xml:964
 1.10602 +#: ../en/ch09-hook.xml:966
 1.10603  msgid ""
 1.10604  "<envar role=\"rc-item-bugzilla\">notify</envar>: If you want Bugzilla to send "
 1.10605  "out a notification email to subscribers after this hook has added a comment "
 1.10606 @@ -11398,7 +10484,7 @@
 1.10607  msgstr ""
 1.10608  
 1.10609  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10610 -#: ../en/ch10-hook.xml:977
 1.10611 +#: ../en/ch09-hook.xml:979
 1.10612  msgid ""
 1.10613  "The Bugzilla <literal>processmail</literal> program expects to be given a bug "
 1.10614  "ID (the hook replaces <quote><literal>%s</literal></quote> with the bug ID)  "
 1.10615 @@ -11409,12 +10495,12 @@
 1.10616  msgstr ""
 1.10617  
 1.10618  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 1.10619 -#: ../en/ch10-hook.xml:992
 1.10620 +#: ../en/ch09-hook.xml:994
 1.10621  msgid "Mapping committer names to Bugzilla user names"
 1.10622  msgstr "提交者的名称与 Bugzilla 用户名称的映射"
 1.10623  
 1.10624  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10625 -#: ../en/ch10-hook.xml:994
 1.10626 +#: ../en/ch09-hook.xml:996
 1.10627  msgid ""
 1.10628  "By default, the <literal role=\"hg-ext\">bugzilla</literal> hook tries to use "
 1.10629  "the email address of a changeset's committer as the Bugzilla user name with "
 1.10630 @@ -11424,14 +10510,14 @@
 1.10631  msgstr ""
 1.10632  
 1.10633  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10634 -#: ../en/ch10-hook.xml:1003
 1.10635 +#: ../en/ch09-hook.xml:1005
 1.10636  msgid ""
 1.10637  "Each item in the <literal role=\"rc-usermap\">usermap</literal> section "
 1.10638  "contains an email address on the left, and a Bugzilla user name on the right."
 1.10639  msgstr ""
 1.10640  
 1.10641  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10642 -#: ../en/ch10-hook.xml:1010
 1.10643 +#: ../en/ch09-hook.xml:1012
 1.10644  msgid ""
 1.10645  "You can either keep the <literal role=\"rc-usermap\">usermap</literal> data "
 1.10646  "in a normal <filename role=\"special\">~/.hgrc</filename>, or tell the "
 1.10647 @@ -11440,32 +10526,32 @@
 1.10648  "store <filename>usermap</filename> data by itself in (for example)  a user-"
 1.10649  "modifiable repository.  This makes it possible to let your users maintain "
 1.10650  "their own <envar role=\"rc-item-bugzilla\">usermap</envar> entries.  The main "
 1.10651 -"<filename role=\"special\"> /.hgrc</filename>\\ file might look like this:"
 1.10652 +"<filename role=\"special\">~/.hgrc</filename> file might look like this:"
 1.10653  msgstr ""
 1.10654  
 1.10655  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10656 -#: ../en/ch10-hook.xml:1026
 1.10657 +#: ../en/ch09-hook.xml:1028
 1.10658  msgid ""
 1.10659  "While the <filename>usermap</filename> file that it refers to might look like "
 1.10660  "this:"
 1.10661  msgstr ""
 1.10662  
 1.10663  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 1.10664 -#: ../en/ch10-hook.xml:1035
 1.10665 +#: ../en/ch09-hook.xml:1036
 1.10666  msgid "Configuring the text that gets added to a bug"
 1.10667  msgstr "配置增加到问题中的正文"
 1.10668  
 1.10669  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10670 -#: ../en/ch10-hook.xml:1037
 1.10671 +#: ../en/ch09-hook.xml:1038
 1.10672  msgid ""
 1.10673  "You can configure the text that this hook adds as a comment; you specify it "
 1.10674 -"in the form of a Mercurial template.  Several <filename role=\"special\"> /."
 1.10675 -"hgrc</filename>\\ entries (still in the <literal role=\"rc-bugzilla"
 1.10676 -"\">bugzilla</literal> section) control this behaviour."
 1.10677 +"in the form of a Mercurial template.  Several <filename role=\"special\">~/."
 1.10678 +"hgrc</filename> entries (still in the <literal role=\"rc-bugzilla\">bugzilla</"
 1.10679 +"literal> section) control this behaviour."
 1.10680  msgstr ""
 1.10681  
 1.10682  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10683 -#: ../en/ch10-hook.xml:1044
 1.10684 +#: ../en/ch09-hook.xml:1045
 1.10685  msgid ""
 1.10686  "<literal>strip</literal>: The number of leading path elements to strip from a "
 1.10687  "repository's path name to construct a partial path for a URL. For example, if "
 1.10688 @@ -11479,7 +10565,7 @@
 1.10689  msgstr ""
 1.10690  
 1.10691  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10692 -#: ../en/ch10-hook.xml:1058
 1.10693 +#: ../en/ch09-hook.xml:1059
 1.10694  msgid ""
 1.10695  "<literal>template</literal>: The text of the template to use.  In addition to "
 1.10696  "the usual changeset-related variables, this template can use <literal>hgweb</"
 1.10697 @@ -11489,25 +10575,25 @@
 1.10698  msgstr ""
 1.10699  
 1.10700  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10701 -#: ../en/ch10-hook.xml:1068
 1.10702 +#: ../en/ch09-hook.xml:1069
 1.10703  msgid ""
 1.10704  "In addition, you can add a <envar role=\"rc-item-web\">baseurl</envar> item "
 1.10705  "to the <literal role=\"rc-web\">web</literal> section of your <filename role="
 1.10706 -"\"special\"> /.hgrc</filename>.  The <literal role=\"hg-ext\">bugzilla</"
 1.10707 +"\"special\">~/.hgrc</filename>.  The <literal role=\"hg-ext\">bugzilla</"
 1.10708  "literal> hook will make this available when expanding a template, as the base "
 1.10709  "string to use when constructing a URL that will let users browse from a "
 1.10710  "Bugzilla comment to view a changeset.  Example:"
 1.10711  msgstr ""
 1.10712  
 1.10713  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10714 -#: ../en/ch10-hook.xml:1080
 1.10715 +#: ../en/ch09-hook.xml:1081
 1.10716  msgid ""
 1.10717  "Here is an example set of <literal role=\"hg-ext\">bugzilla</literal> hook "
 1.10718  "config information."
 1.10719  msgstr ""
 1.10720  
 1.10721  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10722 -#: ../en/ch10-hook.xml:1097
 1.10723 +#: ../en/ch09-hook.xml:1091
 1.10724  msgid ""
 1.10725  "The most common problems with configuring the <literal role=\"hg-ext"
 1.10726  "\">bugzilla</literal> hook relate to running Bugzilla's "
 1.10727 @@ -11516,7 +10602,7 @@
 1.10728  msgstr ""
 1.10729  
 1.10730  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10731 -#: ../en/ch10-hook.xml:1103
 1.10732 +#: ../en/ch09-hook.xml:1097
 1.10733  msgid ""
 1.10734  "Recall from section <xref linkend=\"sec.hook.bugzilla.config\"/> above that "
 1.10735  "the user that runs the Mercurial process on the server is also the one that "
 1.10736 @@ -11527,7 +10613,7 @@
 1.10737  msgstr ""
 1.10738  
 1.10739  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10740 -#: ../en/ch10-hook.xml:1114
 1.10741 +#: ../en/ch09-hook.xml:1108
 1.10742  msgid ""
 1.10743  "You can cause <filename>processmail</filename> to be run with the suitable "
 1.10744  "user's identity using the <command>sudo</command> command.  Here is an "
 1.10745 @@ -11535,7 +10621,7 @@
 1.10746  msgstr ""
 1.10747  
 1.10748  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10749 -#: ../en/ch10-hook.xml:1122
 1.10750 +#: ../en/ch09-hook.xml:1115
 1.10751  msgid ""
 1.10752  "This allows the <literal>hg_user</literal> user to run a "
 1.10753  "<filename>processmail-wrapper</filename> program under the identity of "
 1.10754 @@ -11543,7 +10629,7 @@
 1.10755  msgstr ""
 1.10756  
 1.10757  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10758 -#: ../en/ch10-hook.xml:1127
 1.10759 +#: ../en/ch09-hook.xml:1120
 1.10760  msgid ""
 1.10761  "This indirection through a wrapper script is necessary, because "
 1.10762  "<filename>processmail</filename> expects to be run with its current directory "
 1.10763 @@ -11553,14 +10639,14 @@
 1.10764  msgstr ""
 1.10765  
 1.10766  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10767 -#: ../en/ch10-hook.xml:1136
 1.10768 +#: ../en/ch09-hook.xml:1129
 1.10769  msgid ""
 1.10770  "It doesn't seem to matter what email address you pass to "
 1.10771  "<filename>processmail</filename>."
 1.10772  msgstr ""
 1.10773  
 1.10774  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10775 -#: ../en/ch10-hook.xml:1140
 1.10776 +#: ../en/ch09-hook.xml:1133
 1.10777  msgid ""
 1.10778  "If your <literal role=\"rc-usermap\">usermap</literal> is not set up "
 1.10779  "correctly, users will see an error message from the <literal role=\"hg-ext"
 1.10780 @@ -11569,7 +10655,7 @@
 1.10781  msgstr ""
 1.10782  
 1.10783  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10784 -#: ../en/ch10-hook.xml:1148
 1.10785 +#: ../en/ch09-hook.xml:1140
 1.10786  msgid ""
 1.10787  "What this means is that the committer's address, <literal>john.q."
 1.10788  "public@example.com</literal>, is not a valid Bugzilla user name, nor does it "
 1.10789 @@ -11578,13 +10664,13 @@
 1.10790  msgstr ""
 1.10791  
 1.10792  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10793 -#: ../en/ch10-hook.xml:1158
 1.10794 +#: ../en/ch09-hook.xml:1150
 1.10795  msgid ""
 1.10796  "<literal role=\"hg-ext\">notify</literal>&emdash;send email notifications"
 1.10797  msgstr "<literal role=\"hg-ext\">notify</literal>&emdash;邮件通知"
 1.10798  
 1.10799  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10800 -#: ../en/ch10-hook.xml:1161
 1.10801 +#: ../en/ch09-hook.xml:1153
 1.10802  msgid ""
 1.10803  "Although Mercurial's built-in web server provides RSS feeds of changes in "
 1.10804  "every repository, many people prefer to receive change notifications via "
 1.10805 @@ -11594,7 +10680,7 @@
 1.10806  msgstr ""
 1.10807  
 1.10808  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10809 -#: ../en/ch10-hook.xml:1169
 1.10810 +#: ../en/ch09-hook.xml:1161
 1.10811  msgid ""
 1.10812  "As with the <literal role=\"hg-ext\">bugzilla</literal> hook, the <literal "
 1.10813  "role=\"hg-ext\">notify</literal> hook is template-driven, so you can "
 1.10814 @@ -11602,7 +10688,7 @@
 1.10815  msgstr ""
 1.10816  
 1.10817  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10818 -#: ../en/ch10-hook.xml:1175
 1.10819 +#: ../en/ch09-hook.xml:1167
 1.10820  msgid ""
 1.10821  "By default, the <literal role=\"hg-ext\">notify</literal> hook includes a "
 1.10822  "diff of every changeset that it sends out; you can limit the size of the "
 1.10823 @@ -11611,12 +10697,12 @@
 1.10824  msgstr ""
 1.10825  
 1.10826  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 1.10827 -#: ../en/ch10-hook.xml:1183
 1.10828 +#: ../en/ch09-hook.xml:1175
 1.10829  msgid "Configuring the <literal role=\"hg-ext\">notify</literal> hook"
 1.10830  msgstr "配置 <literal role=\"hg-ext\">notify</literal> 钩子"
 1.10831  
 1.10832  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10833 -#: ../en/ch10-hook.xml:1186
 1.10834 +#: ../en/ch09-hook.xml:1178
 1.10835  msgid ""
 1.10836  "You can set up the <literal role=\"hg-ext\">notify</literal> hook to send one "
 1.10837  "email message per incoming changeset, or one per incoming group of changesets "
 1.10838 @@ -11624,15 +10710,15 @@
 1.10839  msgstr ""
 1.10840  
 1.10841  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10842 -#: ../en/ch10-hook.xml:1197
 1.10843 +#: ../en/ch09-hook.xml:1190
 1.10844  msgid ""
 1.10845  "Configuration information for this hook lives in the <literal role=\"rc-notify"
 1.10846 -"\">notify</literal> section of a <filename role=\"special\"> /.hgrc</filename>"
 1.10847 -"\\ file."
 1.10848 +"\">notify</literal> section of a <filename role=\"special\">~/.hgrc</"
 1.10849 +"filename> file."
 1.10850  msgstr ""
 1.10851  
 1.10852  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10853 -#: ../en/ch10-hook.xml:1202
 1.10854 +#: ../en/ch09-hook.xml:1195
 1.10855  msgid ""
 1.10856  "<envar role=\"rc-item-notify\">test</envar>: By default, this hook does not "
 1.10857  "send out email at all; instead, it prints the message that it "
 1.10858 @@ -11644,17 +10730,17 @@
 1.10859  msgstr ""
 1.10860  
 1.10861  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10862 -#: ../en/ch10-hook.xml:1214
 1.10863 +#: ../en/ch09-hook.xml:1207
 1.10864  msgid ""
 1.10865  "<envar role=\"rc-item-notify\">config</envar>: The path to a configuration "
 1.10866  "file that contains subscription information.  This is kept separate from the "
 1.10867 -"main <filename role=\"special\"> /.hgrc</filename>\\ so that you can maintain "
 1.10868 +"main <filename role=\"special\">~/.hgrc</filename> so that you can maintain "
 1.10869  "it in a repository of its own.  People can then clone that repository, update "
 1.10870  "their subscriptions, and push the changes back to your server."
 1.10871  msgstr ""
 1.10872  
 1.10873  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10874 -#: ../en/ch10-hook.xml:1223
 1.10875 +#: ../en/ch09-hook.xml:1216
 1.10876  msgid ""
 1.10877  "<envar role=\"rc-item-notify\">strip</envar>: The number of leading path "
 1.10878  "separator characters to strip from a repository's path, when deciding whether "
 1.10879 @@ -11669,7 +10755,7 @@
 1.10880  msgstr ""
 1.10881  
 1.10882  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10883 -#: ../en/ch10-hook.xml:1240
 1.10884 +#: ../en/ch09-hook.xml:1233
 1.10885  msgid ""
 1.10886  "<envar role=\"rc-item-notify\">template</envar>: The template text to use "
 1.10887  "when sending messages.  This specifies both the contents of the message "
 1.10888 @@ -11677,7 +10763,7 @@
 1.10889  msgstr ""
 1.10890  
 1.10891  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10892 -#: ../en/ch10-hook.xml:1246
 1.10893 +#: ../en/ch09-hook.xml:1239
 1.10894  msgid ""
 1.10895  "<envar role=\"rc-item-notify\">maxdiff</envar>: The maximum number of lines "
 1.10896  "of diff data to append to the end of a message.  If a diff is longer than "
 1.10897 @@ -11686,7 +10772,7 @@
 1.10898  msgstr ""
 1.10899  
 1.10900  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.10901 -#: ../en/ch10-hook.xml:1255
 1.10902 +#: ../en/ch09-hook.xml:1248
 1.10903  msgid ""
 1.10904  "<envar role=\"rc-item-notify\">sources</envar>: A list of sources of "
 1.10905  "changesets to consider.  This lets you limit <literal role=\"hg-ext\">notify</"
 1.10906 @@ -11696,7 +10782,7 @@
 1.10907  msgstr ""
 1.10908  
 1.10909  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10910 -#: ../en/ch10-hook.xml:1267
 1.10911 +#: ../en/ch09-hook.xml:1260
 1.10912  msgid ""
 1.10913  "If you set the <envar role=\"rc-item-web\">baseurl</envar> item in the "
 1.10914  "<literal role=\"rc-web\">web</literal> section, you can use it in a template; "
 1.10915 @@ -11704,19 +10790,19 @@
 1.10916  msgstr ""
 1.10917  
 1.10918  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10919 -#: ../en/ch10-hook.xml:1273
 1.10920 +#: ../en/ch09-hook.xml:1266
 1.10921  msgid ""
 1.10922  "Here is an example set of <literal role=\"hg-ext\">notify</literal> "
 1.10923  "configuration information."
 1.10924  msgstr ""
 1.10925  
 1.10926  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10927 -#: ../en/ch10-hook.xml:1289
 1.10928 +#: ../en/ch09-hook.xml:1272
 1.10929  msgid "This will produce a message that looks like the following:"
 1.10930  msgstr ""
 1.10931  
 1.10932  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.10933 -#: ../en/ch10-hook.xml:1310
 1.10934 +#: ../en/ch09-hook.xml:1282
 1.10935  msgid ""
 1.10936  "Do not forget that by default, the <literal role=\"hg-ext\">notify</literal> "
 1.10937  "extension <emphasis>will not send any mail</emphasis> until you explicitly "
 1.10938 @@ -11726,22 +10812,22 @@
 1.10939  msgstr ""
 1.10940  
 1.10941  #. type: Content of: <book><chapter><sect1><title>
 1.10942 -#: ../en/ch10-hook.xml:1322
 1.10943 +#: ../en/ch09-hook.xml:1294
 1.10944  msgid "Information for writers of hooks"
 1.10945  msgstr "编写钩子的信息"
 1.10946  
 1.10947  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.10948 -#: ../en/ch10-hook.xml:1325
 1.10949 +#: ../en/ch09-hook.xml:1297
 1.10950  msgid "In-process hook execution"
 1.10951  msgstr "进程内钩子的执行"
 1.10952  
 1.10953  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10954 -#: ../en/ch10-hook.xml:1327
 1.10955 +#: ../en/ch09-hook.xml:1299
 1.10956  msgid "An in-process hook is called with arguments of the following form:"
 1.10957  msgstr ""
 1.10958  
 1.10959  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10960 -#: ../en/ch10-hook.xml:1333
 1.10961 +#: ../en/ch09-hook.xml:1303
 1.10962  msgid ""
 1.10963  "The <literal>ui</literal> parameter is a <literal role=\"py-mod-mercurial.ui"
 1.10964  "\">ui</literal> object. The <literal>repo</literal> parameter is a <literal "
 1.10965 @@ -11751,7 +10837,7 @@
 1.10966  msgstr ""
 1.10967  
 1.10968  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.10969 -#: ../en/ch10-hook.xml:1342
 1.10970 +#: ../en/ch09-hook.xml:1312
 1.10971  msgid ""
 1.10972  "If a parameter is named <literal>node</literal> or <literal>parentN</"
 1.10973  "literal>, it will contain a hexadecimal changeset ID. The empty string is "
 1.10974 @@ -11760,21 +10846,21 @@
 1.10975  msgstr ""
 1.10976  
 1.10977  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.10978 -#: ../en/ch10-hook.xml:1349
 1.10979 +#: ../en/ch09-hook.xml:1319
 1.10980  msgid ""
 1.10981  "If a parameter is named <literal>url</literal>, it will contain the URL of a "
 1.10982  "remote repository, if that can be determined."
 1.10983  msgstr ""
 1.10984  
 1.10985  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.10986 -#: ../en/ch10-hook.xml:1354
 1.10987 +#: ../en/ch09-hook.xml:1324
 1.10988  msgid ""
 1.10989  "Boolean-valued parameters are represented as Python <literal>bool</literal> "
 1.10990  "objects."
 1.10991  msgstr ""
 1.10992  
 1.10993  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.10994 -#: ../en/ch10-hook.xml:1359
 1.10995 +#: ../en/ch09-hook.xml:1329
 1.10996  msgid ""
 1.10997  "An in-process hook is called without a change to the process's working "
 1.10998  "directory (unlike external hooks, which are run in the root of the "
 1.10999 @@ -11783,7 +10869,7 @@
 1.11000  msgstr ""
 1.11001  
 1.11002  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11003 -#: ../en/ch10-hook.xml:1366
 1.11004 +#: ../en/ch09-hook.xml:1336
 1.11005  msgid ""
 1.11006  "If a hook returns a boolean <quote>false</quote> value, it is considered to "
 1.11007  "have succeeded.  If it returns a boolean <quote>true</quote> value or raises "
 1.11008 @@ -11792,20 +10878,20 @@
 1.11009  msgstr ""
 1.11010  
 1.11011  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11012 -#: ../en/ch10-hook.xml:1373
 1.11013 +#: ../en/ch09-hook.xml:1343
 1.11014  msgid ""
 1.11015  "Note that changeset IDs are passed into Python hooks as hexadecimal strings, "
 1.11016  "not the binary hashes that Mercurial's APIs normally use.  To convert a hash "
 1.11017 -"from hex to binary, use the \\pymodfunc{mercurial.node}{bin} function."
 1.11018 -msgstr ""
 1.11019 -
 1.11020 -#. type: Content of: <book><chapter><sect1><sect2><title>
 1.11021 -#: ../en/ch10-hook.xml:1381
 1.11022 +"from hex to binary, use the <literal>bin</literal> function."
 1.11023 +msgstr ""
 1.11024 +
 1.11025 +#. type: Content of: <book><chapter><sect1><sect2><title>
 1.11026 +#: ../en/ch09-hook.xml:1351
 1.11027  msgid "External hook execution"
 1.11028  msgstr "外部钩子的执行"
 1.11029  
 1.11030  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11031 -#: ../en/ch10-hook.xml:1383
 1.11032 +#: ../en/ch09-hook.xml:1353
 1.11033  msgid ""
 1.11034  "An external hook is passed to the shell of the user running Mercurial. "
 1.11035  "Features of that shell, such as variable substitution and command "
 1.11036 @@ -11815,7 +10901,7 @@
 1.11037  msgstr ""
 1.11038  
 1.11039  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11040 -#: ../en/ch10-hook.xml:1391
 1.11041 +#: ../en/ch09-hook.xml:1361
 1.11042  msgid ""
 1.11043  "Hook parameters are passed to the hook as environment variables.  Each "
 1.11044  "environment variable's name is converted in upper case and prefixed with the "
 1.11045 @@ -11826,7 +10912,7 @@
 1.11046  msgstr ""
 1.11047  
 1.11048  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11049 -#: ../en/ch10-hook.xml:1400
 1.11050 +#: ../en/ch09-hook.xml:1370
 1.11051  msgid ""
 1.11052  "A boolean parameter is represented as the string <quote><literal>1</literal></"
 1.11053  "quote> for <quote>true</quote>, <quote><literal>0</literal></quote> for "
 1.11054 @@ -11839,19 +10925,19 @@
 1.11055  msgstr ""
 1.11056  
 1.11057  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11058 -#: ../en/ch10-hook.xml:1412
 1.11059 +#: ../en/ch09-hook.xml:1382
 1.11060  msgid ""
 1.11061  "If a hook exits with a status of zero, it is considered to have succeeded.  "
 1.11062  "If it exits with a non-zero status, it is considered to have failed."
 1.11063  msgstr ""
 1.11064  
 1.11065  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11066 -#: ../en/ch10-hook.xml:1419
 1.11067 +#: ../en/ch09-hook.xml:1389
 1.11068  msgid "Finding out where changesets come from"
 1.11069  msgstr "检查修改集来自何处"
 1.11070  
 1.11071  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11072 -#: ../en/ch10-hook.xml:1421
 1.11073 +#: ../en/ch09-hook.xml:1391
 1.11074  msgid ""
 1.11075  "A hook that involves the transfer of changesets between a local repository "
 1.11076  "and another may be able to find out information about the <quote>far side</"
 1.11077 @@ -11861,12 +10947,12 @@
 1.11078  msgstr ""
 1.11079  
 1.11080  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 1.11081 -#: ../en/ch10-hook.xml:1430
 1.11082 +#: ../en/ch09-hook.xml:1400
 1.11083  msgid "Sources of changesets"
 1.11084  msgstr "修改集的来源"
 1.11085  
 1.11086  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.11087 -#: ../en/ch10-hook.xml:1432
 1.11088 +#: ../en/ch09-hook.xml:1402
 1.11089  msgid ""
 1.11090  "Mercurial will tell a hook what means are, or were, used to transfer "
 1.11091  "changesets between repositories.  This is provided by Mercurial in a Python "
 1.11092 @@ -11875,40 +10961,40 @@
 1.11093  msgstr ""
 1.11094  
 1.11095  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.11096 -#: ../en/ch10-hook.xml:1440
 1.11097 +#: ../en/ch09-hook.xml:1410
 1.11098  msgid ""
 1.11099  "<literal>serve</literal>: Changesets are transferred to or from a remote "
 1.11100  "repository over http or ssh."
 1.11101  msgstr ""
 1.11102  
 1.11103  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.11104 -#: ../en/ch10-hook.xml:1445
 1.11105 +#: ../en/ch09-hook.xml:1415
 1.11106  msgid ""
 1.11107  "<literal>pull</literal>: Changesets are being transferred via a pull from one "
 1.11108  "repository into another."
 1.11109  msgstr ""
 1.11110  
 1.11111  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.11112 -#: ../en/ch10-hook.xml:1450
 1.11113 +#: ../en/ch09-hook.xml:1420
 1.11114  msgid ""
 1.11115  "<literal>push</literal>: Changesets are being transferred via a push from one "
 1.11116  "repository into another."
 1.11117  msgstr ""
 1.11118  
 1.11119  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.11120 -#: ../en/ch10-hook.xml:1455
 1.11121 +#: ../en/ch09-hook.xml:1425
 1.11122  msgid ""
 1.11123  "<literal>bundle</literal>: Changesets are being transferred to or from a "
 1.11124  "bundle."
 1.11125  msgstr ""
 1.11126  
 1.11127  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 1.11128 -#: ../en/ch10-hook.xml:1462
 1.11129 +#: ../en/ch09-hook.xml:1432
 1.11130  msgid "Where changes are going&emdash;remote repository URLs"
 1.11131  msgstr "修改集要到哪里&emdash;远程版本库的地址"
 1.11132  
 1.11133  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.11134 -#: ../en/ch10-hook.xml:1465
 1.11135 +#: ../en/ch09-hook.xml:1435
 1.11136  msgid ""
 1.11137  "When possible, Mercurial will tell a hook the location of the <quote>far "
 1.11138  "side</quote> of an activity that transfers changeset data between "
 1.11139 @@ -11918,7 +11004,7 @@
 1.11140  msgstr ""
 1.11141  
 1.11142  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 1.11143 -#: ../en/ch10-hook.xml:1473
 1.11144 +#: ../en/ch09-hook.xml:1443
 1.11145  msgid ""
 1.11146  "This information is not always known.  If a hook is invoked in a repository "
 1.11147  "that is being served via http or ssh, Mercurial cannot tell where the remote "
 1.11148 @@ -11927,14 +11013,14 @@
 1.11149  msgstr ""
 1.11150  
 1.11151  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.11152 -#: ../en/ch10-hook.xml:1480
 1.11153 +#: ../en/ch09-hook.xml:1450
 1.11154  msgid ""
 1.11155  "<literal>remote:ssh:1.2.3.4</literal>&emdash;remote ssh client, at the IP "
 1.11156  "address <literal>1.2.3.4</literal>."
 1.11157  msgstr ""
 1.11158  
 1.11159  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.11160 -#: ../en/ch10-hook.xml:1485
 1.11161 +#: ../en/ch09-hook.xml:1455
 1.11162  msgid ""
 1.11163  "<literal>remote:http:1.2.3.4</literal>&emdash;remote http client, at the IP "
 1.11164  "address <literal>1.2.3.4</literal>.  If the client is using SSL, this will be "
 1.11165 @@ -11942,24 +11028,24 @@
 1.11166  msgstr ""
 1.11167  
 1.11168  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
 1.11169 -#: ../en/ch10-hook.xml:1492
 1.11170 +#: ../en/ch09-hook.xml:1462
 1.11171  msgid "Empty&emdash;no information could be discovered about the remote client."
 1.11172  msgstr ""
 1.11173  
 1.11174  #. type: Content of: <book><chapter><sect1><title>
 1.11175 -#: ../en/ch10-hook.xml:1501
 1.11176 +#: ../en/ch09-hook.xml:1471
 1.11177  msgid "Hook reference"
 1.11178  msgstr "钩子参考"
 1.11179  
 1.11180  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11181 -#: ../en/ch10-hook.xml:1504
 1.11182 +#: ../en/ch09-hook.xml:1474
 1.11183  msgid ""
 1.11184  "<literal role=\"hook\">changegroup</literal>&emdash;after remote changesets "
 1.11185  "added"
 1.11186  msgstr "<literal role=\"hook\">changegroup</literal>&emdash;增加远程修改集之后"
 1.11187  
 1.11188  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11189 -#: ../en/ch10-hook.xml:1507
 1.11190 +#: ../en/ch09-hook.xml:1477
 1.11191  msgid ""
 1.11192  "This hook is run after a group of pre-existing changesets has been added to "
 1.11193  "the repository, for example via a <command role=\"hg-cmd\">hg pull</command> "
 1.11194 @@ -11970,7 +11056,7 @@
 1.11195  msgstr ""
 1.11196  
 1.11197  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11198 -#: ../en/ch10-hook.xml:1517
 1.11199 +#: ../en/ch09-hook.xml:1487
 1.11200  msgid ""
 1.11201  "Some possible uses for this hook include kicking off an automated build or "
 1.11202  "test of the added changesets, updating a bug database, or notifying "
 1.11203 @@ -11978,42 +11064,41 @@
 1.11204  msgstr ""
 1.11205  
 1.11206  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11207 -#: ../en/ch10-hook.xml:1523 ../en/ch10-hook.xml:1564 ../en/ch10-hook.xml:1607
 1.11208 -#: ../en/ch10-hook.xml:1649 ../en/ch10-hook.xml:1704 ../en/ch10-hook.xml:1744
 1.11209 -#: ../en/ch10-hook.xml:1780 ../en/ch10-hook.xml:1815 ../en/ch10-hook.xml:1877
 1.11210 -#: ../en/ch10-hook.xml:1935 ../en/ch10-hook.xml:1969 ../en/ch10-hook.xml:1997
 1.11211 +#: ../en/ch09-hook.xml:1493 ../en/ch09-hook.xml:1533 ../en/ch09-hook.xml:1576
 1.11212 +#: ../en/ch09-hook.xml:1618 ../en/ch09-hook.xml:1673 ../en/ch09-hook.xml:1713
 1.11213 +#: ../en/ch09-hook.xml:1749 ../en/ch09-hook.xml:1784 ../en/ch09-hook.xml:1846
 1.11214 +#: ../en/ch09-hook.xml:1904 ../en/ch09-hook.xml:1938 ../en/ch09-hook.xml:1966
 1.11215  msgid "Parameters to this hook:"
 1.11216  msgstr ""
 1.11217  
 1.11218  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11219 -#: ../en/ch10-hook.xml:1526 ../en/ch10-hook.xml:1880
 1.11220 +#: ../en/ch09-hook.xml:1496 ../en/ch09-hook.xml:1849
 1.11221  msgid ""
 1.11222  "<literal>node</literal>: A changeset ID.  The changeset ID of the first "
 1.11223  "changeset in the group that was added.  All changesets between this and "
 1.11224 -"\\index{tags!<literal>tip</literal>}<literal>tip</literal>, inclusive, were "
 1.11225 -"added by a single <command role=\"hg-cmd\">hg pull</command>, <command role="
 1.11226 -"\"hg-cmd\">hg push</command> or <command role=\"hg-cmd\">hg unbundle</"
 1.11227 -"command>."
 1.11228 +"<literal role=\"tag\">tip</literal>, inclusive, were added by a single "
 1.11229 +"<command role=\"hg-cmd\">hg pull</command>, <command role=\"hg-cmd\">hg push</"
 1.11230 +"command> or <command role=\"hg-cmd\">hg unbundle</command>."
 1.11231  msgstr ""
 1.11232  
 1.11233  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11234 -#: ../en/ch10-hook.xml:1536 ../en/ch10-hook.xml:1614 ../en/ch10-hook.xml:1707
 1.11235 -#: ../en/ch10-hook.xml:1890
 1.11236 +#: ../en/ch09-hook.xml:1505 ../en/ch09-hook.xml:1583 ../en/ch09-hook.xml:1676
 1.11237 +#: ../en/ch09-hook.xml:1859
 1.11238  msgid ""
 1.11239  "<literal>source</literal>: A string.  The source of these changes.  See "
 1.11240  "section <xref linkend=\"sec.hook.sources\"/> for details."
 1.11241  msgstr ""
 1.11242  
 1.11243  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11244 -#: ../en/ch10-hook.xml:1541 ../en/ch10-hook.xml:1619 ../en/ch10-hook.xml:1670
 1.11245 -#: ../en/ch10-hook.xml:1712 ../en/ch10-hook.xml:1794 ../en/ch10-hook.xml:1895
 1.11246 +#: ../en/ch09-hook.xml:1510 ../en/ch09-hook.xml:1588 ../en/ch09-hook.xml:1639
 1.11247 +#: ../en/ch09-hook.xml:1681 ../en/ch09-hook.xml:1763 ../en/ch09-hook.xml:1864
 1.11248  msgid ""
 1.11249  "<literal>url</literal>: A URL.  The location of the remote repository, if "
 1.11250  "known.  See section <xref linkend=\"sec.hook.url\"/> for more information."
 1.11251  msgstr ""
 1.11252  
 1.11253  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11254 -#: ../en/ch10-hook.xml:1548
 1.11255 +#: ../en/ch09-hook.xml:1517
 1.11256  msgid ""
 1.11257  "See also: <literal role=\"hook\">incoming</literal> (section <xref linkend="
 1.11258  "\"sec.hook.incoming\"/>), <literal role=\"hook\">prechangegroup</literal> "
 1.11259 @@ -12023,40 +11108,40 @@
 1.11260  msgstr ""
 1.11261  
 1.11262  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11263 -#: ../en/ch10-hook.xml:1558
 1.11264 +#: ../en/ch09-hook.xml:1527
 1.11265  msgid ""
 1.11266  "<literal role=\"hook\">commit</literal>&emdash;after a new changeset is "
 1.11267  "created"
 1.11268  msgstr "<literal role=\"hook\">commit</literal>&emdash;创建新修改集之后"
 1.11269  
 1.11270  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11271 -#: ../en/ch10-hook.xml:1561
 1.11272 +#: ../en/ch09-hook.xml:1530
 1.11273  msgid "This hook is run after a new changeset has been created."
 1.11274  msgstr ""
 1.11275  
 1.11276  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11277 -#: ../en/ch10-hook.xml:1567 ../en/ch10-hook.xml:1938
 1.11278 +#: ../en/ch09-hook.xml:1536 ../en/ch09-hook.xml:1907
 1.11279  msgid ""
 1.11280  "<literal>node</literal>: A changeset ID.  The changeset ID of the newly "
 1.11281  "committed changeset."
 1.11282  msgstr ""
 1.11283  
 1.11284  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11285 -#: ../en/ch10-hook.xml:1571 ../en/ch10-hook.xml:1942
 1.11286 +#: ../en/ch09-hook.xml:1540 ../en/ch09-hook.xml:1911
 1.11287  msgid ""
 1.11288  "<literal>parent1</literal>: A changeset ID.  The changeset ID of the first "
 1.11289  "parent of the newly committed changeset."
 1.11290  msgstr ""
 1.11291  
 1.11292  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11293 -#: ../en/ch10-hook.xml:1576 ../en/ch10-hook.xml:1947
 1.11294 +#: ../en/ch09-hook.xml:1545 ../en/ch09-hook.xml:1916
 1.11295  msgid ""
 1.11296  "<literal>parent2</literal>: A changeset ID.  The changeset ID of the second "
 1.11297  "parent of the newly committed changeset."
 1.11298  msgstr ""
 1.11299  
 1.11300  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11301 -#: ../en/ch10-hook.xml:1582
 1.11302 +#: ../en/ch09-hook.xml:1551
 1.11303  msgid ""
 1.11304  "See also: <literal role=\"hook\">precommit</literal> (section <xref linkend="
 1.11305  "\"sec.hook.precommit\"/>), <literal role=\"hook\">pretxncommit</literal> "
 1.11306 @@ -12064,14 +11149,14 @@
 1.11307  msgstr ""
 1.11308  
 1.11309  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11310 -#: ../en/ch10-hook.xml:1590
 1.11311 +#: ../en/ch09-hook.xml:1559
 1.11312  msgid ""
 1.11313  "<literal role=\"hook\">incoming</literal>&emdash;after one remote changeset "
 1.11314  "is added"
 1.11315  msgstr "<literal role=\"hook\">incoming</literal>&emdash;增加远程修改集之后"
 1.11316  
 1.11317  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11318 -#: ../en/ch10-hook.xml:1593
 1.11319 +#: ../en/ch09-hook.xml:1562
 1.11320  msgid ""
 1.11321  "This hook is run after a pre-existing changeset has been added to the "
 1.11322  "repository, for example via a <command role=\"hg-cmd\">hg push</command>.  If "
 1.11323 @@ -12080,7 +11165,7 @@
 1.11324  msgstr ""
 1.11325  
 1.11326  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11327 -#: ../en/ch10-hook.xml:1600
 1.11328 +#: ../en/ch09-hook.xml:1569
 1.11329  msgid ""
 1.11330  "You can use this hook for the same purposes as the <literal role=\"hook"
 1.11331  "\">changegroup</literal> hook (section <xref linkend=\"sec.hook.changegroup\"/"
 1.11332 @@ -12089,13 +11174,13 @@
 1.11333  msgstr ""
 1.11334  
 1.11335  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11336 -#: ../en/ch10-hook.xml:1610
 1.11337 +#: ../en/ch09-hook.xml:1579
 1.11338  msgid ""
 1.11339  "<literal>node</literal>: A changeset ID.  The ID of the newly added changeset."
 1.11340  msgstr ""
 1.11341  
 1.11342  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11343 -#: ../en/ch10-hook.xml:1626
 1.11344 +#: ../en/ch09-hook.xml:1595
 1.11345  msgid ""
 1.11346  "See also: <literal role=\"hook\">changegroup</literal> (section <xref linkend="
 1.11347  "\"sec.hook.changegroup\"/>) <literal role=\"hook\">prechangegroup</literal> "
 1.11348 @@ -12105,14 +11190,14 @@
 1.11349  msgstr ""
 1.11350  
 1.11351  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11352 -#: ../en/ch10-hook.xml:1636
 1.11353 +#: ../en/ch09-hook.xml:1605
 1.11354  msgid ""
 1.11355  "<literal role=\"hook\">outgoing</literal>&emdash;after changesets are "
 1.11356  "propagated"
 1.11357  msgstr "<literal role=\"hook\">outgoing</literal>&emdash;传播修改集之后"
 1.11358  
 1.11359  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11360 -#: ../en/ch10-hook.xml:1639
 1.11361 +#: ../en/ch09-hook.xml:1608
 1.11362  msgid ""
 1.11363  "This hook is run after a group of changesets has been propagated out of this "
 1.11364  "repository, for example by a <command role=\"hg-cmd\">hg push</command> or "
 1.11365 @@ -12120,21 +11205,21 @@
 1.11366  msgstr ""
 1.11367  
 1.11368  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11369 -#: ../en/ch10-hook.xml:1645
 1.11370 +#: ../en/ch09-hook.xml:1614
 1.11371  msgid ""
 1.11372  "One possible use for this hook is to notify administrators that changes have "
 1.11373  "been pulled."
 1.11374  msgstr ""
 1.11375  
 1.11376  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11377 -#: ../en/ch10-hook.xml:1652
 1.11378 +#: ../en/ch09-hook.xml:1621
 1.11379  msgid ""
 1.11380  "<literal>node</literal>: A changeset ID.  The changeset ID of the first "
 1.11381  "changeset of the group that was sent."
 1.11382  msgstr ""
 1.11383  
 1.11384  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11385 -#: ../en/ch10-hook.xml:1657
 1.11386 +#: ../en/ch09-hook.xml:1626
 1.11387  msgid ""
 1.11388  "<literal>source</literal>: A string.  The source of the of the operation (see "
 1.11389  "section <xref linkend=\"sec.hook.sources\"/>).  If a remote client pulled "
 1.11390 @@ -12146,14 +11231,14 @@
 1.11391  msgstr ""
 1.11392  
 1.11393  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11394 -#: ../en/ch10-hook.xml:1677
 1.11395 +#: ../en/ch09-hook.xml:1646
 1.11396  msgid ""
 1.11397  "See also: <literal role=\"hook\">preoutgoing</literal> (section <xref linkend="
 1.11398  "\"sec.hook.preoutgoing\"/>)"
 1.11399  msgstr ""
 1.11400  
 1.11401  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11402 -#: ../en/ch10-hook.xml:1683
 1.11403 +#: ../en/ch09-hook.xml:1652
 1.11404  msgid ""
 1.11405  "<literal role=\"hook\">prechangegroup</literal>&emdash;before starting to add "
 1.11406  "remote changesets"
 1.11407 @@ -12161,14 +11246,14 @@
 1.11408  "<literal role=\"hook\">prechangegroup</literal>&emdash;增加远程修改集之前"
 1.11409  
 1.11410  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11411 -#: ../en/ch10-hook.xml:1687
 1.11412 +#: ../en/ch09-hook.xml:1656
 1.11413  msgid ""
 1.11414  "This controlling hook is run before Mercurial begins to add a group of "
 1.11415  "changesets from another repository."
 1.11416  msgstr ""
 1.11417  
 1.11418  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11419 -#: ../en/ch10-hook.xml:1691
 1.11420 +#: ../en/ch09-hook.xml:1660
 1.11421  msgid ""
 1.11422  "This hook does not have any information about the changesets to be added, "
 1.11423  "because it is run before transmission of those changesets is allowed to "
 1.11424 @@ -12176,7 +11261,7 @@
 1.11425  msgstr ""
 1.11426  
 1.11427  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11428 -#: ../en/ch10-hook.xml:1697
 1.11429 +#: ../en/ch09-hook.xml:1666
 1.11430  msgid ""
 1.11431  "One use for this hook is to prevent external changes from being added to a "
 1.11432  "repository.  For example, you could use this to <quote>freeze</quote> a "
 1.11433 @@ -12185,7 +11270,7 @@
 1.11434  msgstr ""
 1.11435  
 1.11436  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11437 -#: ../en/ch10-hook.xml:1719
 1.11438 +#: ../en/ch09-hook.xml:1688
 1.11439  msgid ""
 1.11440  "See also: <literal role=\"hook\">changegroup</literal> (section <xref linkend="
 1.11441  "\"sec.hook.changegroup\"/>), <literal role=\"hook\">incoming</literal> "
 1.11442 @@ -12195,14 +11280,14 @@
 1.11443  msgstr ""
 1.11444  
 1.11445  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11446 -#: ../en/ch10-hook.xml:1729
 1.11447 +#: ../en/ch09-hook.xml:1698
 1.11448  msgid ""
 1.11449  "<literal role=\"hook\">precommit</literal>&emdash;before starting to commit a "
 1.11450  "changeset"
 1.11451  msgstr "<literal role=\"hook\">precommit</literal>&emdash;提交修改集之前"
 1.11452  
 1.11453  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11454 -#: ../en/ch10-hook.xml:1732
 1.11455 +#: ../en/ch09-hook.xml:1701
 1.11456  msgid ""
 1.11457  "This hook is run before Mercurial begins to commit a new changeset. It is run "
 1.11458  "before Mercurial has any of the metadata for the commit, such as the files to "
 1.11459 @@ -12210,7 +11295,7 @@
 1.11460  msgstr ""
 1.11461  
 1.11462  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11463 -#: ../en/ch10-hook.xml:1738
 1.11464 +#: ../en/ch09-hook.xml:1707
 1.11465  msgid ""
 1.11466  "One use for this hook is to disable the ability to commit new changesets, "
 1.11467  "while still allowing incoming changesets.  Another is to run a build or test, "
 1.11468 @@ -12218,28 +11303,28 @@
 1.11469  msgstr ""
 1.11470  
 1.11471  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11472 -#: ../en/ch10-hook.xml:1747
 1.11473 +#: ../en/ch09-hook.xml:1716
 1.11474  msgid ""
 1.11475  "<literal>parent1</literal>: A changeset ID.  The changeset ID of the first "
 1.11476  "parent of the working directory."
 1.11477  msgstr ""
 1.11478  
 1.11479  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11480 -#: ../en/ch10-hook.xml:1752
 1.11481 +#: ../en/ch09-hook.xml:1721
 1.11482  msgid ""
 1.11483  "<literal>parent2</literal>: A changeset ID.  The changeset ID of the second "
 1.11484  "parent of the working directory."
 1.11485  msgstr ""
 1.11486  
 1.11487  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11488 -#: ../en/ch10-hook.xml:1757
 1.11489 +#: ../en/ch09-hook.xml:1726
 1.11490  msgid ""
 1.11491  "If the commit proceeds, the parents of the working directory will become the "
 1.11492  "parents of the new changeset."
 1.11493  msgstr ""
 1.11494  
 1.11495  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11496 -#: ../en/ch10-hook.xml:1761
 1.11497 +#: ../en/ch09-hook.xml:1730
 1.11498  msgid ""
 1.11499  "See also: <literal role=\"hook\">commit</literal> (section <xref linkend="
 1.11500  "\"sec.hook.commit\"/>), <literal role=\"hook\">pretxncommit</literal> "
 1.11501 @@ -12247,28 +11332,28 @@
 1.11502  msgstr ""
 1.11503  
 1.11504  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11505 -#: ../en/ch10-hook.xml:1769
 1.11506 +#: ../en/ch09-hook.xml:1738
 1.11507  msgid ""
 1.11508  "<literal role=\"hook\">preoutgoing</literal>&emdash;before starting to "
 1.11509  "propagate changesets"
 1.11510  msgstr "<literal role=\"hook\">preoutgoing</literal>&emdash;传播修改集之前"
 1.11511  
 1.11512  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11513 -#: ../en/ch10-hook.xml:1772
 1.11514 +#: ../en/ch09-hook.xml:1741
 1.11515  msgid ""
 1.11516  "This hook is invoked before Mercurial knows the identities of the changesets "
 1.11517  "to be transmitted."
 1.11518  msgstr ""
 1.11519  
 1.11520  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11521 -#: ../en/ch10-hook.xml:1776
 1.11522 +#: ../en/ch09-hook.xml:1745
 1.11523  msgid ""
 1.11524  "One use for this hook is to prevent changes from being transmitted to another "
 1.11525  "repository."
 1.11526  msgstr ""
 1.11527  
 1.11528  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11529 -#: ../en/ch10-hook.xml:1783
 1.11530 +#: ../en/ch09-hook.xml:1752
 1.11531  msgid ""
 1.11532  "<literal>source</literal>: A string.  The source of the operation that is "
 1.11533  "attempting to obtain changes from this repository (see section <xref linkend="
 1.11534 @@ -12279,27 +11364,27 @@
 1.11535  msgstr ""
 1.11536  
 1.11537  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11538 -#: ../en/ch10-hook.xml:1801
 1.11539 +#: ../en/ch09-hook.xml:1770
 1.11540  msgid ""
 1.11541  "See also: <literal role=\"hook\">outgoing</literal> (section <xref linkend="
 1.11542  "\"sec.hook.outgoing\"/>)"
 1.11543  msgstr ""
 1.11544  
 1.11545  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11546 -#: ../en/ch10-hook.xml:1807
 1.11547 +#: ../en/ch09-hook.xml:1776
 1.11548  msgid ""
 1.11549  "<literal role=\"hook\">pretag</literal>&emdash;before tagging a changeset"
 1.11550  msgstr "<literal role=\"hook\">pretag</literal>&emdash;创建标签之前"
 1.11551  
 1.11552  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11553 -#: ../en/ch10-hook.xml:1810
 1.11554 +#: ../en/ch09-hook.xml:1779
 1.11555  msgid ""
 1.11556  "This controlling hook is run before a tag is created.  If the hook succeeds, "
 1.11557  "creation of the tag proceeds.  If the hook fails, the tag is not created."
 1.11558  msgstr ""
 1.11559  
 1.11560  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11561 -#: ../en/ch10-hook.xml:1818
 1.11562 +#: ../en/ch09-hook.xml:1787
 1.11563  msgid ""
 1.11564  "<literal>local</literal>: A boolean.  Whether the tag is local to this "
 1.11565  "repository instance (i.e. stored in <filename role=\"special\">.hg/localtags</"
 1.11566 @@ -12308,19 +11393,19 @@
 1.11567  msgstr ""
 1.11568  
 1.11569  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11570 -#: ../en/ch10-hook.xml:1825
 1.11571 +#: ../en/ch09-hook.xml:1794
 1.11572  msgid ""
 1.11573  "<literal>node</literal>: A changeset ID.  The ID of the changeset to be "
 1.11574  "tagged."
 1.11575  msgstr ""
 1.11576  
 1.11577  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11578 -#: ../en/ch10-hook.xml:1829
 1.11579 +#: ../en/ch09-hook.xml:1798
 1.11580  msgid "<literal>tag</literal>: A string.  The name of the tag to be created."
 1.11581  msgstr ""
 1.11582  
 1.11583  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11584 -#: ../en/ch10-hook.xml:1834
 1.11585 +#: ../en/ch09-hook.xml:1803
 1.11586  msgid ""
 1.11587  "If the tag to be created is revision-controlled, the <literal role=\"hook"
 1.11588  "\">precommit</literal> and <literal role=\"hook\">pretxncommit</literal> "
 1.11589 @@ -12329,14 +11414,14 @@
 1.11590  msgstr ""
 1.11591  
 1.11592  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11593 -#: ../en/ch10-hook.xml:1841
 1.11594 +#: ../en/ch09-hook.xml:1810
 1.11595  msgid ""
 1.11596  "See also: <literal role=\"hook\">tag</literal> (section <xref linkend=\"sec."
 1.11597  "hook.tag\"/>)"
 1.11598  msgstr ""
 1.11599  
 1.11600  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11601 -#: ../en/ch10-hook.xml:1846
 1.11602 +#: ../en/ch09-hook.xml:1815
 1.11603  msgid ""
 1.11604  "<literal role=\"hook\">pretxnchangegroup</literal>&emdash;before completing "
 1.11605  "addition of remote changesets"
 1.11606 @@ -12345,7 +11430,7 @@
 1.11607  "前"
 1.11608  
 1.11609  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11610 -#: ../en/ch10-hook.xml:1850
 1.11611 +#: ../en/ch09-hook.xml:1819
 1.11612  msgid ""
 1.11613  "This controlling hook is run before a transaction&emdash;that manages the "
 1.11614  "addition of a group of new changesets from outside the repository&emdash;"
 1.11615 @@ -12355,7 +11440,7 @@
 1.11616  msgstr ""
 1.11617  
 1.11618  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11619 -#: ../en/ch10-hook.xml:1859
 1.11620 +#: ../en/ch09-hook.xml:1828
 1.11621  msgid ""
 1.11622  "This hook can access the metadata associated with the almost-added "
 1.11623  "changesets, but it should not do anything permanent with this data. It must "
 1.11624 @@ -12363,7 +11448,7 @@
 1.11625  msgstr ""
 1.11626  
 1.11627  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11628 -#: ../en/ch10-hook.xml:1865
 1.11629 +#: ../en/ch09-hook.xml:1834
 1.11630  msgid ""
 1.11631  "While this hook is running, if other Mercurial processes access this "
 1.11632  "repository, they will be able to see the almost-added changesets as if they "
 1.11633 @@ -12372,7 +11457,7 @@
 1.11634  msgstr ""
 1.11635  
 1.11636  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11637 -#: ../en/ch10-hook.xml:1872
 1.11638 +#: ../en/ch09-hook.xml:1841
 1.11639  msgid ""
 1.11640  "This hook can be used to automatically vet a group of changesets.  If the "
 1.11641  "hook fails, all of the changesets are <quote>rejected</quote> when the "
 1.11642 @@ -12380,7 +11465,7 @@
 1.11643  msgstr ""
 1.11644  
 1.11645  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11646 -#: ../en/ch10-hook.xml:1902
 1.11647 +#: ../en/ch09-hook.xml:1871
 1.11648  msgid ""
 1.11649  "See also: <literal role=\"hook\">changegroup</literal> (section <xref linkend="
 1.11650  "\"sec.hook.changegroup\"/>), <literal role=\"hook\">incoming</literal> "
 1.11651 @@ -12390,14 +11475,14 @@
 1.11652  msgstr ""
 1.11653  
 1.11654  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11655 -#: ../en/ch10-hook.xml:1912
 1.11656 +#: ../en/ch09-hook.xml:1881
 1.11657  msgid ""
 1.11658  "<literal role=\"hook\">pretxncommit</literal>&emdash;before completing commit "
 1.11659  "of new changeset"
 1.11660  msgstr "<literal role=\"hook\">pretxncommit</literal>&emdash;完成提交之前"
 1.11661  
 1.11662  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11663 -#: ../en/ch10-hook.xml:1915
 1.11664 +#: ../en/ch09-hook.xml:1884
 1.11665  msgid ""
 1.11666  "This controlling hook is run before a transaction&emdash;that manages a new "
 1.11667  "commit&emdash;completes.  If the hook succeeds, the transaction completes and "
 1.11668 @@ -12406,7 +11491,7 @@
 1.11669  msgstr ""
 1.11670  
 1.11671  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11672 -#: ../en/ch10-hook.xml:1923
 1.11673 +#: ../en/ch09-hook.xml:1892
 1.11674  msgid ""
 1.11675  "This hook can access the metadata associated with the almost-new changeset, "
 1.11676  "but it should not do anything permanent with this data.  It must also not "
 1.11677 @@ -12414,7 +11499,7 @@
 1.11678  msgstr ""
 1.11679  
 1.11680  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11681 -#: ../en/ch10-hook.xml:1929
 1.11682 +#: ../en/ch09-hook.xml:1898
 1.11683  msgid ""
 1.11684  "While this hook is running, if other Mercurial processes access this "
 1.11685  "repository, they will be able to see the almost-new changeset as if it is "
 1.11686 @@ -12423,14 +11508,14 @@
 1.11687  msgstr ""
 1.11688  
 1.11689  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11690 -#: ../en/ch10-hook.xml:1953
 1.11691 +#: ../en/ch09-hook.xml:1922
 1.11692  msgid ""
 1.11693  "See also: <literal role=\"hook\">precommit</literal> (section <xref linkend="
 1.11694  "\"sec.hook.precommit\"/>)"
 1.11695  msgstr ""
 1.11696  
 1.11697  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11698 -#: ../en/ch10-hook.xml:1959
 1.11699 +#: ../en/ch09-hook.xml:1928
 1.11700  msgid ""
 1.11701  "<literal role=\"hook\">preupdate</literal>&emdash;before updating or merging "
 1.11702  "working directory"
 1.11703 @@ -12438,7 +11523,7 @@
 1.11704  "<literal role=\"hook\">preupdate</literal>&emdash;更新或合并工作目录之前"
 1.11705  
 1.11706  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11707 -#: ../en/ch10-hook.xml:1962
 1.11708 +#: ../en/ch09-hook.xml:1931
 1.11709  msgid ""
 1.11710  "This controlling hook is run before an update or merge of the working "
 1.11711  "directory begins.  It is run only if Mercurial's normal pre-update checks "
 1.11712 @@ -12447,7 +11532,7 @@
 1.11713  msgstr ""
 1.11714  
 1.11715  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11716 -#: ../en/ch10-hook.xml:1972
 1.11717 +#: ../en/ch09-hook.xml:1941
 1.11718  msgid ""
 1.11719  "<literal>parent1</literal>: A changeset ID.  The ID of the parent that the "
 1.11720  "working directory is to be updated to.  If the working directory is being "
 1.11721 @@ -12455,7 +11540,7 @@
 1.11722  msgstr ""
 1.11723  
 1.11724  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11725 -#: ../en/ch10-hook.xml:1978
 1.11726 +#: ../en/ch09-hook.xml:1947
 1.11727  msgid ""
 1.11728  "<literal>parent2</literal>: A changeset ID.  Only set if the working "
 1.11729  "directory is being merged.  The ID of the revision that the working directory "
 1.11730 @@ -12463,24 +11548,24 @@
 1.11731  msgstr ""
 1.11732  
 1.11733  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11734 -#: ../en/ch10-hook.xml:1985
 1.11735 +#: ../en/ch09-hook.xml:1954
 1.11736  msgid ""
 1.11737  "See also: <literal role=\"hook\">update</literal> (section <xref linkend="
 1.11738  "\"sec.hook.update\"/>)"
 1.11739  msgstr ""
 1.11740  
 1.11741  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11742 -#: ../en/ch10-hook.xml:1991
 1.11743 +#: ../en/ch09-hook.xml:1960
 1.11744  msgid "<literal role=\"hook\">tag</literal>&emdash;after tagging a changeset"
 1.11745  msgstr "<literal role=\"hook\">tag</literal>&emdash;创建标签之后"
 1.11746  
 1.11747  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11748 -#: ../en/ch10-hook.xml:1994
 1.11749 +#: ../en/ch09-hook.xml:1963
 1.11750  msgid "This hook is run after a tag has been created."
 1.11751  msgstr ""
 1.11752  
 1.11753  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11754 -#: ../en/ch10-hook.xml:2000
 1.11755 +#: ../en/ch09-hook.xml:1969
 1.11756  msgid ""
 1.11757  "<literal>local</literal>: A boolean.  Whether the new tag is local to this "
 1.11758  "repository instance (i.e.  stored in <filename role=\"special\">.hg/"
 1.11759 @@ -12489,19 +11574,19 @@
 1.11760  msgstr ""
 1.11761  
 1.11762  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11763 -#: ../en/ch10-hook.xml:2008
 1.11764 +#: ../en/ch09-hook.xml:1977
 1.11765  msgid ""
 1.11766  "<literal>node</literal>: A changeset ID.  The ID of the changeset that was "
 1.11767  "tagged."
 1.11768  msgstr ""
 1.11769  
 1.11770  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11771 -#: ../en/ch10-hook.xml:2012
 1.11772 +#: ../en/ch09-hook.xml:1981
 1.11773  msgid "<literal>tag</literal>: A string.  The name of the tag that was created."
 1.11774  msgstr ""
 1.11775  
 1.11776  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11777 -#: ../en/ch10-hook.xml:2017
 1.11778 +#: ../en/ch09-hook.xml:1986
 1.11779  msgid ""
 1.11780  "If the created tag is revision-controlled, the <literal role=\"hook\">commit</"
 1.11781  "literal> hook (section <xref linkend=\"sec.hook.commit\"/>) is run before "
 1.11782 @@ -12509,21 +11594,21 @@
 1.11783  msgstr ""
 1.11784  
 1.11785  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11786 -#: ../en/ch10-hook.xml:2022
 1.11787 +#: ../en/ch09-hook.xml:1991
 1.11788  msgid ""
 1.11789  "See also: <literal role=\"hook\">pretag</literal> (section <xref linkend="
 1.11790  "\"sec.hook.pretag\"/>)"
 1.11791  msgstr ""
 1.11792  
 1.11793  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11794 -#: ../en/ch10-hook.xml:2028
 1.11795 +#: ../en/ch09-hook.xml:1997
 1.11796  msgid ""
 1.11797  "<literal role=\"hook\">update</literal>&emdash;after updating or merging "
 1.11798  "working directory"
 1.11799  msgstr "<literal role=\"hook\">update</literal>&emdash;更新或合并工作目录之后"
 1.11800  
 1.11801  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11802 -#: ../en/ch10-hook.xml:2031
 1.11803 +#: ../en/ch09-hook.xml:2000
 1.11804  msgid ""
 1.11805  "This hook is run after an update or merge of the working directory "
 1.11806  "completes.  Since a merge can fail (if the external <command>hgmerge</"
 1.11807 @@ -12532,14 +11617,14 @@
 1.11808  msgstr ""
 1.11809  
 1.11810  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11811 -#: ../en/ch10-hook.xml:2039
 1.11812 +#: ../en/ch09-hook.xml:2008
 1.11813  msgid ""
 1.11814  "<literal>error</literal>: A boolean.  Indicates whether the update or merge "
 1.11815  "completed successfully."
 1.11816  msgstr ""
 1.11817  
 1.11818  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11819 -#: ../en/ch10-hook.xml:2044
 1.11820 +#: ../en/ch09-hook.xml:2013
 1.11821  msgid ""
 1.11822  "<literal>parent1</literal>: A changeset ID.  The ID of the parent that the "
 1.11823  "working directory was updated to.  If the working directory was merged, it "
 1.11824 @@ -12547,7 +11632,7 @@
 1.11825  msgstr ""
 1.11826  
 1.11827  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.11828 -#: ../en/ch10-hook.xml:2050
 1.11829 +#: ../en/ch09-hook.xml:2019
 1.11830  msgid ""
 1.11831  "<literal>parent2</literal>: A changeset ID.  Only set if the working "
 1.11832  "directory was merged.  The ID of the revision that the working directory was "
 1.11833 @@ -12555,19 +11640,19 @@
 1.11834  msgstr ""
 1.11835  
 1.11836  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11837 -#: ../en/ch10-hook.xml:2056
 1.11838 +#: ../en/ch09-hook.xml:2025
 1.11839  msgid ""
 1.11840  "See also: <literal role=\"hook\">preupdate</literal> (section <xref linkend="
 1.11841  "\"sec.hook.preupdate\"/>)"
 1.11842  msgstr ""
 1.11843  
 1.11844  #. type: Content of: <book><chapter><title>
 1.11845 -#: ../en/ch11-template.xml:5
 1.11846 +#: ../en/ch10-template.xml:5
 1.11847  msgid "Customising the output of Mercurial"
 1.11848  msgstr "定制 Mercurial 的输出"
 1.11849  
 1.11850  #. type: Content of: <book><chapter><para>
 1.11851 -#: ../en/ch11-template.xml:7
 1.11852 +#: ../en/ch10-template.xml:7
 1.11853  msgid ""
 1.11854  "Mercurial provides a powerful mechanism to let you control how it displays "
 1.11855  "information.  The mechanism is based on templates.  You can use templates to "
 1.11856 @@ -12576,12 +11661,12 @@
 1.11857  msgstr ""
 1.11858  
 1.11859  #. type: Content of: <book><chapter><sect1><title>
 1.11860 -#: ../en/ch11-template.xml:14
 1.11861 +#: ../en/ch10-template.xml:14
 1.11862  msgid "Using precanned output styles"
 1.11863  msgstr "使用预定义的输出样式"
 1.11864  
 1.11865  #. type: Content of: <book><chapter><sect1><para>
 1.11866 -#: ../en/ch11-template.xml:16
 1.11867 +#: ../en/ch10-template.xml:16
 1.11868  msgid ""
 1.11869  "Packaged with Mercurial are some output styles that you can use immediately.  "
 1.11870  "A style is simply a precanned template that someone wrote and installed "
 1.11871 @@ -12589,14 +11674,14 @@
 1.11872  msgstr ""
 1.11873  
 1.11874  #. type: Content of: <book><chapter><sect1><para>
 1.11875 -#: ../en/ch11-template.xml:21
 1.11876 +#: ../en/ch10-template.xml:21
 1.11877  msgid ""
 1.11878  "Before we take a look at Mercurial's bundled styles, let's review its normal "
 1.11879  "output."
 1.11880  msgstr ""
 1.11881  
 1.11882  #. type: Content of: <book><chapter><sect1><para>
 1.11883 -#: ../en/ch11-template.xml:26
 1.11884 +#: ../en/ch10-template.xml:26
 1.11885  msgid ""
 1.11886  "This is somewhat informative, but it takes up a lot of space&emdash;five "
 1.11887  "lines of output per changeset.  The <literal>compact</literal> style reduces "
 1.11888 @@ -12604,7 +11689,7 @@
 1.11889  msgstr ""
 1.11890  
 1.11891  #. type: Content of: <book><chapter><sect1><para>
 1.11892 -#: ../en/ch11-template.xml:33
 1.11893 +#: ../en/ch10-template.xml:33
 1.11894  msgid ""
 1.11895  "The <literal>changelog</literal> style hints at the expressive power of "
 1.11896  "Mercurial's templating engine.  This style attempts to follow the GNU "
 1.11897 @@ -12612,27 +11697,27 @@
 1.11898  msgstr ""
 1.11899  
 1.11900  #. type: Content of: <book><chapter><sect1><para>
 1.11901 -#: ../en/ch11-template.xml:40
 1.11902 +#: ../en/ch10-template.xml:40
 1.11903  msgid ""
 1.11904  "You will not be shocked to learn that Mercurial's default output style is "
 1.11905  "named <literal>default</literal>."
 1.11906  msgstr ""
 1.11907  
 1.11908  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.11909 -#: ../en/ch11-template.xml:44
 1.11910 +#: ../en/ch10-template.xml:44
 1.11911  msgid "Setting a default style"
 1.11912  msgstr "设置默认样式"
 1.11913  
 1.11914  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11915 -#: ../en/ch11-template.xml:46
 1.11916 +#: ../en/ch10-template.xml:46
 1.11917  msgid ""
 1.11918  "You can modify the output style that Mercurial will use for every command by "
 1.11919 -"editing your <filename role=\"special\"> /.hgrc</filename>\\ file, naming the "
 1.11920 +"editing your <filename role=\"special\">~/.hgrc</filename> file, naming the "
 1.11921  "style you would prefer to use."
 1.11922  msgstr ""
 1.11923  
 1.11924  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.11925 -#: ../en/ch11-template.xml:53
 1.11926 +#: ../en/ch10-template.xml:54
 1.11927  msgid ""
 1.11928  "If you write a style of your own, you can use it by either providing the path "
 1.11929  "to your style file, or copying your style file into a location where "
 1.11930 @@ -12641,12 +11726,12 @@
 1.11931  msgstr ""
 1.11932  
 1.11933  #. type: Content of: <book><chapter><sect1><title>
 1.11934 -#: ../en/ch11-template.xml:62
 1.11935 +#: ../en/ch10-template.xml:63
 1.11936  msgid "Commands that support styles and templates"
 1.11937  msgstr "支持样式和模版的命令"
 1.11938  
 1.11939  #. type: Content of: <book><chapter><sect1><para>
 1.11940 -#: ../en/ch11-template.xml:64
 1.11941 +#: ../en/ch10-template.xml:65
 1.11942  msgid ""
 1.11943  "All of Mercurial's <quote><literal>log</literal>-like</quote> commands let "
 1.11944  "you use styles and templates: <command role=\"hg-cmd\">hg incoming</command>, "
 1.11945 @@ -12655,7 +11740,7 @@
 1.11946  msgstr ""
 1.11947  
 1.11948  #. type: Content of: <book><chapter><sect1><para>
 1.11949 -#: ../en/ch11-template.xml:71
 1.11950 +#: ../en/ch10-template.xml:72
 1.11951  msgid ""
 1.11952  "As I write this manual, these are so far the only commands that support "
 1.11953  "styles and templates.  Since these are the most important commands that need "
 1.11954 @@ -12664,12 +11749,12 @@
 1.11955  msgstr ""
 1.11956  
 1.11957  #. type: Content of: <book><chapter><sect1><title>
 1.11958 -#: ../en/ch11-template.xml:79
 1.11959 +#: ../en/ch10-template.xml:80
 1.11960  msgid "The basics of templating"
 1.11961  msgstr "模版基础"
 1.11962  
 1.11963  #. type: Content of: <book><chapter><sect1><para>
 1.11964 -#: ../en/ch11-template.xml:81
 1.11965 +#: ../en/ch10-template.xml:82
 1.11966  msgid ""
 1.11967  "At its simplest, a Mercurial template is a piece of text.  Some of the text "
 1.11968  "never changes, while other parts are <emphasis>expanded</emphasis>, or "
 1.11969 @@ -12677,20 +11762,20 @@
 1.11970  msgstr ""
 1.11971  
 1.11972  #. type: Content of: <book><chapter><sect1><para>
 1.11973 -#: ../en/ch11-template.xml:86
 1.11974 +#: ../en/ch10-template.xml:87
 1.11975  msgid ""
 1.11976  "Before we continue, let's look again at a simple example of Mercurial's "
 1.11977  "normal output."
 1.11978  msgstr ""
 1.11979  
 1.11980  #. type: Content of: <book><chapter><sect1><para>
 1.11981 -#: ../en/ch11-template.xml:91
 1.11982 +#: ../en/ch10-template.xml:92
 1.11983  msgid ""
 1.11984  "Now, let's run the same command, but using a template to change its output."
 1.11985  msgstr ""
 1.11986  
 1.11987  #. type: Content of: <book><chapter><sect1><para>
 1.11988 -#: ../en/ch11-template.xml:96
 1.11989 +#: ../en/ch10-template.xml:97
 1.11990  msgid ""
 1.11991  "The example above illustrates the simplest possible template; it's just a "
 1.11992  "piece of static text, printed once for each changeset.  The <option role=\"hg-"
 1.11993 @@ -12700,7 +11785,7 @@
 1.11994  msgstr ""
 1.11995  
 1.11996  #. type: Content of: <book><chapter><sect1><para>
 1.11997 -#: ../en/ch11-template.xml:104
 1.11998 +#: ../en/ch10-template.xml:105
 1.11999  msgid ""
 1.12000  "Notice that the template string above ends with the text <quote><literal>\\n</"
 1.12001  "literal></quote>.  This is an <emphasis>escape sequence</emphasis>, telling "
 1.12002 @@ -12710,14 +11795,14 @@
 1.12003  msgstr ""
 1.12004  
 1.12005  #. type: Content of: <book><chapter><sect1><para>
 1.12006 -#: ../en/ch11-template.xml:112
 1.12007 +#: ../en/ch10-template.xml:113
 1.12008  msgid ""
 1.12009  "A template that prints a fixed string of text all the time isn't very useful; "
 1.12010  "let's try something a bit more complex."
 1.12011  msgstr ""
 1.12012  
 1.12013  #. type: Content of: <book><chapter><sect1><para>
 1.12014 -#: ../en/ch11-template.xml:118
 1.12015 +#: ../en/ch10-template.xml:119
 1.12016  msgid ""
 1.12017  "As you can see, the string <quote><literal>{desc}</literal></quote> in the "
 1.12018  "template has been replaced in the output with the description of each "
 1.12019 @@ -12729,25 +11814,25 @@
 1.12020  msgstr ""
 1.12021  
 1.12022  #. type: Content of: <book><chapter><sect1><title>
 1.12023 -#: ../en/ch11-template.xml:131
 1.12024 +#: ../en/ch10-template.xml:132
 1.12025  msgid "Common template keywords"
 1.12026  msgstr "模版关键字"
 1.12027  
 1.12028  #. type: Content of: <book><chapter><sect1><para>
 1.12029 -#: ../en/ch11-template.xml:133
 1.12030 +#: ../en/ch10-template.xml:134
 1.12031  msgid ""
 1.12032  "You can start writing simple templates immediately using the keywords below."
 1.12033  msgstr ""
 1.12034  
 1.12035  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12036 -#: ../en/ch11-template.xml:137
 1.12037 +#: ../en/ch10-template.xml:138
 1.12038  msgid ""
 1.12039  "<literal role=\"template-keyword\">author</literal>: String.  The unmodified "
 1.12040  "author of the changeset."
 1.12041  msgstr ""
 1.12042  
 1.12043  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12044 -#: ../en/ch11-template.xml:141
 1.12045 +#: ../en/ch10-template.xml:142
 1.12046  msgid ""
 1.12047  "<literal role=\"template-keyword\">branches</literal>: String.  The name of "
 1.12048  "the branch on which the changeset was committed.  Will be empty if the branch "
 1.12049 @@ -12755,7 +11840,7 @@
 1.12050  msgstr ""
 1.12051  
 1.12052  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12053 -#: ../en/ch11-template.xml:147
 1.12054 +#: ../en/ch10-template.xml:148
 1.12055  msgid ""
 1.12056  "<literal role=\"template-keyword\">date</literal>: Date information.  The "
 1.12057  "date when the changeset was committed.  This is <emphasis>not</emphasis> "
 1.12058 @@ -12767,70 +11852,70 @@
 1.12059  msgstr ""
 1.12060  
 1.12061  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12062 -#: ../en/ch11-template.xml:158
 1.12063 +#: ../en/ch10-template.xml:159
 1.12064  msgid ""
 1.12065  "<literal role=\"template-keyword\">desc</literal>: String.  The text of the "
 1.12066  "changeset description."
 1.12067  msgstr ""
 1.12068  
 1.12069  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12070 -#: ../en/ch11-template.xml:161
 1.12071 +#: ../en/ch10-template.xml:162
 1.12072  msgid ""
 1.12073  "<literal role=\"template-keyword\">files</literal>: List of strings.  All "
 1.12074  "files modified, added, or removed by this changeset."
 1.12075  msgstr ""
 1.12076  
 1.12077  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12078 -#: ../en/ch11-template.xml:166
 1.12079 +#: ../en/ch10-template.xml:167
 1.12080  msgid ""
 1.12081  "<literal role=\"template-keyword\">file_adds</literal>: List of strings.  "
 1.12082  "Files added by this changeset."
 1.12083  msgstr ""
 1.12084  
 1.12085  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12086 -#: ../en/ch11-template.xml:170
 1.12087 +#: ../en/ch10-template.xml:171
 1.12088  msgid ""
 1.12089  "<literal role=\"template-keyword\">file_dels</literal>: List of strings.  "
 1.12090  "Files removed by this changeset."
 1.12091  msgstr ""
 1.12092  
 1.12093  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12094 -#: ../en/ch11-template.xml:174
 1.12095 +#: ../en/ch10-template.xml:175
 1.12096  msgid ""
 1.12097  "<literal role=\"template-keyword\">node</literal>: String.  The changeset "
 1.12098  "identification hash, as a 40-character hexadecimal string."
 1.12099  msgstr ""
 1.12100  
 1.12101  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12102 -#: ../en/ch11-template.xml:178
 1.12103 +#: ../en/ch10-template.xml:179
 1.12104  msgid ""
 1.12105  "<literal role=\"template-keyword\">parents</literal>: List of strings.  The "
 1.12106  "parents of the changeset."
 1.12107  msgstr ""
 1.12108  
 1.12109  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12110 -#: ../en/ch11-template.xml:182
 1.12111 +#: ../en/ch10-template.xml:183
 1.12112  msgid ""
 1.12113  "<literal role=\"template-keyword\">rev</literal>: Integer.  The repository-"
 1.12114  "local changeset revision number."
 1.12115  msgstr ""
 1.12116  
 1.12117  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12118 -#: ../en/ch11-template.xml:186
 1.12119 +#: ../en/ch10-template.xml:187
 1.12120  msgid ""
 1.12121  "<literal role=\"template-keyword\">tags</literal>: List of strings.  Any tags "
 1.12122  "associated with the changeset."
 1.12123  msgstr ""
 1.12124  
 1.12125  #. type: Content of: <book><chapter><sect1><para>
 1.12126 -#: ../en/ch11-template.xml:191
 1.12127 +#: ../en/ch10-template.xml:192
 1.12128  msgid ""
 1.12129  "A few simple experiments will show us what to expect when we use these "
 1.12130  "keywords; you can see the results below."
 1.12131  msgstr ""
 1.12132  
 1.12133  #. type: Content of: <book><chapter><sect1><para>
 1.12134 -#: ../en/ch11-template.xml:196
 1.12135 +#: ../en/ch10-template.xml:197
 1.12136  msgid ""
 1.12137  "As we noted above, the date keyword does not produce human-readable output, "
 1.12138  "so we must treat it specially.  This involves using a <emphasis>filter</"
 1.12139 @@ -12839,12 +11924,12 @@
 1.12140  msgstr ""
 1.12141  
 1.12142  #. type: Content of: <book><chapter><sect1><title>
 1.12143 -#: ../en/ch11-template.xml:206
 1.12144 +#: ../en/ch10-template.xml:207
 1.12145  msgid "Escape sequences"
 1.12146  msgstr "转义序列"
 1.12147  
 1.12148  #. type: Content of: <book><chapter><sect1><para>
 1.12149 -#: ../en/ch11-template.xml:208
 1.12150 +#: ../en/ch10-template.xml:209
 1.12151  msgid ""
 1.12152  "Mercurial's templating engine recognises the most commonly used escape "
 1.12153  "sequences in strings.  When it sees a backslash (<quote><literal>\\</"
 1.12154 @@ -12853,48 +11938,48 @@
 1.12155  msgstr ""
 1.12156  
 1.12157  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12158 -#: ../en/ch11-template.xml:215
 1.12159 -msgid ""
 1.12160 -"<literal>\\textbackslash\\textbackslash</literal>: Backslash, <quote><literal>"
 1.12161 -"\\</literal></quote>, ASCII 134."
 1.12162 +#: ../en/ch10-template.xml:216
 1.12163 +msgid ""
 1.12164 +"<literal>\\</literal>: Backslash, <quote><literal>\\</literal></quote>, ASCII "
 1.12165 +"134."
 1.12166  msgstr ""
 1.12167  
 1.12168  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12169 -#: ../en/ch11-template.xml:219
 1.12170 -msgid "<literal>\\textbackslash n</literal>: Newline, ASCII 12."
 1.12171 +#: ../en/ch10-template.xml:220
 1.12172 +msgid "<literal>\\n</literal>: Newline, ASCII 12."
 1.12173  msgstr ""
 1.12174  
 1.12175  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12176 -#: ../en/ch11-template.xml:222
 1.12177 -msgid "<literal>\\textbackslash r</literal>: Carriage return, ASCII 15."
 1.12178 +#: ../en/ch10-template.xml:223
 1.12179 +msgid "<literal>\\r</literal>: Carriage return, ASCII 15."
 1.12180  msgstr ""
 1.12181  
 1.12182  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12183 -#: ../en/ch11-template.xml:225
 1.12184 -msgid "<literal>\\textbackslash t</literal>: Tab, ASCII 11."
 1.12185 +#: ../en/ch10-template.xml:226
 1.12186 +msgid "<literal>\\t</literal>: Tab, ASCII 11."
 1.12187  msgstr ""
 1.12188  
 1.12189  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12190 -#: ../en/ch11-template.xml:228
 1.12191 -msgid "<literal>\\textbackslash v</literal>: Vertical tab, ASCII 13."
 1.12192 +#: ../en/ch10-template.xml:229
 1.12193 +msgid "<literal>\\v</literal>: Vertical tab, ASCII 13."
 1.12194  msgstr ""
 1.12195  
 1.12196  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12197 -#: ../en/ch11-template.xml:231
 1.12198 -msgid ""
 1.12199 -"<literal>\\textbackslash {</literal>: Open curly brace, <quote><literal>{</"
 1.12200 -"literal></quote>, ASCII 173."
 1.12201 +#: ../en/ch10-template.xml:232
 1.12202 +msgid ""
 1.12203 +"<literal>{</literal>: Open curly brace, <quote><literal>{</literal></quote>, "
 1.12204 +"ASCII 173."
 1.12205  msgstr ""
 1.12206  
 1.12207  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12208 -#: ../en/ch11-template.xml:235
 1.12209 -msgid ""
 1.12210 -"<literal>\\textbackslash }</literal>: Close curly brace, <quote><literal>}</"
 1.12211 -"literal></quote>, ASCII 175."
 1.12212 -msgstr ""
 1.12213 -
 1.12214 -#. type: Content of: <book><chapter><sect1><para>
 1.12215 -#: ../en/ch11-template.xml:240
 1.12216 +#: ../en/ch10-template.xml:236
 1.12217 +msgid ""
 1.12218 +"<literal>}</literal>: Close curly brace, <quote><literal>}</literal></quote>, "
 1.12219 +"ASCII 175."
 1.12220 +msgstr ""
 1.12221 +
 1.12222 +#. type: Content of: <book><chapter><sect1><para>
 1.12223 +#: ../en/ch10-template.xml:241
 1.12224  msgid ""
 1.12225  "As indicated above, if you want the expansion of a template to contain a "
 1.12226  "literal <quote><literal>\\</literal></quote>, <quote><literal>{</literal></"
 1.12227 @@ -12902,12 +11987,12 @@
 1.12228  msgstr ""
 1.12229  
 1.12230  #. type: Content of: <book><chapter><sect1><title>
 1.12231 -#: ../en/ch11-template.xml:248
 1.12232 +#: ../en/ch10-template.xml:249
 1.12233  msgid "Filtering keywords to change their results"
 1.12234  msgstr "通过过滤关键字来修改输出结果"
 1.12235  
 1.12236  #. type: Content of: <book><chapter><sect1><para>
 1.12237 -#: ../en/ch11-template.xml:250
 1.12238 +#: ../en/ch10-template.xml:251
 1.12239  msgid ""
 1.12240  "Some of the results of template expansion are not immediately easy to use.  "
 1.12241  "Mercurial lets you specify an optional chain of <emphasis>filters</emphasis> "
 1.12242 @@ -12917,7 +12002,7 @@
 1.12243  msgstr ""
 1.12244  
 1.12245  #. type: Content of: <book><chapter><sect1><para>
 1.12246 -#: ../en/ch11-template.xml:257
 1.12247 +#: ../en/ch10-template.xml:258
 1.12248  msgid ""
 1.12249  "Below is a list of the most commonly used filters that Mercurial supports.  "
 1.12250  "While some filters can be applied to any text, others can only be used in "
 1.12251 @@ -12926,7 +12011,7 @@
 1.12252  msgstr ""
 1.12253  
 1.12254  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12255 -#: ../en/ch11-template.xml:264
 1.12256 +#: ../en/ch10-template.xml:265
 1.12257  msgid ""
 1.12258  "<literal role=\"template-filter\">addbreaks</literal>: Any text. Add an XHTML "
 1.12259  "<quote><literal>&lt;br/&gt;</literal></quote> tag before the end of every "
 1.12260 @@ -12935,7 +12020,7 @@
 1.12261  msgstr ""
 1.12262  
 1.12263  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12264 -#: ../en/ch11-template.xml:271
 1.12265 +#: ../en/ch10-template.xml:272
 1.12266  msgid ""
 1.12267  "<literal role=\"template-kw-filt-date\">age</literal>: <literal role="
 1.12268  "\"template-keyword\">date</literal> keyword.  Render the age of the date, "
 1.12269 @@ -12944,7 +12029,7 @@
 1.12270  msgstr ""
 1.12271  
 1.12272  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12273 -#: ../en/ch11-template.xml:278
 1.12274 +#: ../en/ch10-template.xml:279
 1.12275  msgid ""
 1.12276  "<literal role=\"template-filter\">basename</literal>: Any text, but most "
 1.12277  "useful for the <literal role=\"template-keyword\">files</literal> keyword and "
 1.12278 @@ -12954,7 +12039,7 @@
 1.12279  msgstr ""
 1.12280  
 1.12281  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12282 -#: ../en/ch11-template.xml:287
 1.12283 +#: ../en/ch10-template.xml:288
 1.12284  msgid ""
 1.12285  "<literal role=\"template-kw-filt-date\">date</literal>: <literal role="
 1.12286  "\"template-keyword\">date</literal> keyword.  Render a date in a similar "
 1.12287 @@ -12964,7 +12049,7 @@
 1.12288  msgstr ""
 1.12289  
 1.12290  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12291 -#: ../en/ch11-template.xml:295
 1.12292 +#: ../en/ch10-template.xml:296
 1.12293  msgid ""
 1.12294  "<literal role=\"template-kw-filt-author\">domain</literal>: Any text, but "
 1.12295  "most useful for the <literal role=\"template-keyword\">author</literal> "
 1.12296 @@ -12975,7 +12060,7 @@
 1.12297  msgstr ""
 1.12298  
 1.12299  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12300 -#: ../en/ch11-template.xml:305
 1.12301 +#: ../en/ch10-template.xml:306
 1.12302  msgid ""
 1.12303  "<literal role=\"template-kw-filt-author\">email</literal>: Any text, but most "
 1.12304  "useful for the <literal role=\"template-keyword\">author</literal> keyword.  "
 1.12305 @@ -12985,7 +12070,7 @@
 1.12306  msgstr ""
 1.12307  
 1.12308  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12309 -#: ../en/ch11-template.xml:314
 1.12310 +#: ../en/ch10-template.xml:315
 1.12311  msgid ""
 1.12312  "<literal role=\"template-filter\">escape</literal>: Any text.  Replace the "
 1.12313  "special XML/XHTML characters <quote><literal>&amp;</literal></quote>, "
 1.12314 @@ -12994,7 +12079,7 @@
 1.12315  msgstr ""
 1.12316  
 1.12317  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12318 -#: ../en/ch11-template.xml:322
 1.12319 +#: ../en/ch10-template.xml:323
 1.12320  msgid ""
 1.12321  "<literal role=\"template-filter\">fill68</literal>: Any text.  Wrap the text "
 1.12322  "to fit in 68 columns.  This is useful before you pass text through the "
 1.12323 @@ -13003,21 +12088,21 @@
 1.12324  msgstr ""
 1.12325  
 1.12326  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12327 -#: ../en/ch11-template.xml:330
 1.12328 +#: ../en/ch10-template.xml:331
 1.12329  msgid ""
 1.12330  "<literal role=\"template-filter\">fill76</literal>: Any text.  Wrap the text "
 1.12331  "to fit in 76 columns."
 1.12332  msgstr ""
 1.12333  
 1.12334  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12335 -#: ../en/ch11-template.xml:334
 1.12336 +#: ../en/ch10-template.xml:335
 1.12337  msgid ""
 1.12338  "<literal role=\"template-filter\">firstline</literal>: Any text.  Yield the "
 1.12339  "first line of text, without any trailing newlines."
 1.12340  msgstr ""
 1.12341  
 1.12342  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12343 -#: ../en/ch11-template.xml:339
 1.12344 +#: ../en/ch10-template.xml:340
 1.12345  msgid ""
 1.12346  "<literal role=\"template-kw-filt-date\">hgdate</literal>: <literal role="
 1.12347  "\"template-keyword\">date</literal> keyword.  Render the date as a pair of "
 1.12348 @@ -13026,7 +12111,7 @@
 1.12349  msgstr ""
 1.12350  
 1.12351  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12352 -#: ../en/ch11-template.xml:346
 1.12353 +#: ../en/ch10-template.xml:347
 1.12354  msgid ""
 1.12355  "<literal role=\"template-kw-filt-date\">isodate</literal>: <literal role="
 1.12356  "\"template-keyword\">date</literal> keyword.  Render the date as a text "
 1.12357 @@ -13035,7 +12120,7 @@
 1.12358  msgstr ""
 1.12359  
 1.12360  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12361 -#: ../en/ch11-template.xml:353
 1.12362 +#: ../en/ch10-template.xml:354
 1.12363  msgid ""
 1.12364  "<literal role=\"template-filter\">obfuscate</literal>: Any text, but most "
 1.12365  "useful for the <literal role=\"template-keyword\">author</literal> keyword.  "
 1.12366 @@ -13044,7 +12129,7 @@
 1.12367  msgstr ""
 1.12368  
 1.12369  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12370 -#: ../en/ch11-template.xml:361
 1.12371 +#: ../en/ch10-template.xml:362
 1.12372  msgid ""
 1.12373  "<literal role=\"template-kw-filt-author\">person</literal>: Any text, but "
 1.12374  "most useful for the <literal role=\"template-keyword\">author</literal> "
 1.12375 @@ -13054,7 +12139,7 @@
 1.12376  msgstr ""
 1.12377  
 1.12378  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12379 -#: ../en/ch11-template.xml:370
 1.12380 +#: ../en/ch10-template.xml:371
 1.12381  msgid ""
 1.12382  "<literal role=\"template-kw-filt-date\">rfc822date</literal>: <literal role="
 1.12383  "\"template-keyword\">date</literal> keyword.  Render a date using the same "
 1.12384 @@ -13063,7 +12148,7 @@
 1.12385  msgstr ""
 1.12386  
 1.12387  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12388 -#: ../en/ch11-template.xml:377
 1.12389 +#: ../en/ch10-template.xml:378
 1.12390  msgid ""
 1.12391  "<literal role=\"template-kw-filt-node\">short</literal>: Changeset hash.  "
 1.12392  "Yield the short form of a changeset hash, i.e. a 12-character hexadecimal "
 1.12393 @@ -13071,7 +12156,7 @@
 1.12394  msgstr ""
 1.12395  
 1.12396  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12397 -#: ../en/ch11-template.xml:382
 1.12398 +#: ../en/ch10-template.xml:383
 1.12399  msgid ""
 1.12400  "<literal role=\"template-kw-filt-date\">shortdate</literal>: <literal role="
 1.12401  "\"template-keyword\">date</literal> keyword.  Render the year, month, and day "
 1.12402 @@ -13080,21 +12165,21 @@
 1.12403  msgstr ""
 1.12404  
 1.12405  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12406 -#: ../en/ch11-template.xml:388
 1.12407 +#: ../en/ch10-template.xml:389
 1.12408  msgid ""
 1.12409  "<literal role=\"template-filter\">strip</literal>: Any text.  Strip all "
 1.12410  "leading and trailing whitespace from the string."
 1.12411  msgstr ""
 1.12412  
 1.12413  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12414 -#: ../en/ch11-template.xml:392
 1.12415 +#: ../en/ch10-template.xml:393
 1.12416  msgid ""
 1.12417  "<literal role=\"template-filter\">tabindent</literal>: Any text.  Yield the "
 1.12418  "text, with every line except the first starting with a tab character."
 1.12419  msgstr ""
 1.12420  
 1.12421  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12422 -#: ../en/ch11-template.xml:397
 1.12423 +#: ../en/ch10-template.xml:398
 1.12424  msgid ""
 1.12425  "<literal role=\"template-filter\">urlescape</literal>: Any text.  Escape all "
 1.12426  "characters that are considered <quote>special</quote> by URL parsers.  For "
 1.12427 @@ -13102,7 +12187,7 @@
 1.12428  msgstr ""
 1.12429  
 1.12430  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.12431 -#: ../en/ch11-template.xml:404
 1.12432 +#: ../en/ch10-template.xml:405
 1.12433  msgid ""
 1.12434  "<literal role=\"template-kw-filt-author\">user</literal>: Any text, but most "
 1.12435  "useful for the <literal role=\"template-keyword\">author</literal> keyword.  "
 1.12436 @@ -13112,7 +12197,7 @@
 1.12437  msgstr ""
 1.12438  
 1.12439  #. type: Content of: <book><chapter><sect1><note><para>
 1.12440 -#: ../en/ch11-template.xml:417
 1.12441 +#: ../en/ch10-template.xml:418
 1.12442  msgid ""
 1.12443  "If you try to apply a filter to a piece of data that it cannot process, "
 1.12444  "Mercurial will fail and print a Python exception.  For example, trying to run "
 1.12445 @@ -13122,12 +12207,12 @@
 1.12446  msgstr ""
 1.12447  
 1.12448  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.12449 -#: ../en/ch11-template.xml:426
 1.12450 +#: ../en/ch10-template.xml:427
 1.12451  msgid "Combining filters"
 1.12452  msgstr "组合过滤器"
 1.12453  
 1.12454  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12455 -#: ../en/ch11-template.xml:428
 1.12456 +#: ../en/ch10-template.xml:429
 1.12457  msgid ""
 1.12458  "It is easy to combine filters to yield output in the form you would like.  "
 1.12459  "The following chain of filters tidies up a description, then makes sure that "
 1.12460 @@ -13137,7 +12222,7 @@
 1.12461  msgstr ""
 1.12462  
 1.12463  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12464 -#: ../en/ch11-template.xml:437
 1.12465 +#: ../en/ch10-template.xml:438
 1.12466  msgid ""
 1.12467  "Note the use of <quote><literal>\\t</literal></quote> (a tab character) in "
 1.12468  "the template to force the first line to be indented; this is necessary since "
 1.12469 @@ -13146,7 +12231,7 @@
 1.12470  msgstr ""
 1.12471  
 1.12472  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12473 -#: ../en/ch11-template.xml:443
 1.12474 +#: ../en/ch10-template.xml:444
 1.12475  msgid ""
 1.12476  "Keep in mind that the order of filters in a chain is significant.  The first "
 1.12477  "filter is applied to the result of the keyword; the second to the result of "
 1.12478 @@ -13156,12 +12241,12 @@
 1.12479  msgstr ""
 1.12480  
 1.12481  #. type: Content of: <book><chapter><sect1><title>
 1.12482 -#: ../en/ch11-template.xml:454
 1.12483 +#: ../en/ch10-template.xml:455
 1.12484  msgid "From templates to styles"
 1.12485  msgstr "从模版到样式"
 1.12486  
 1.12487  #. type: Content of: <book><chapter><sect1><para>
 1.12488 -#: ../en/ch11-template.xml:456
 1.12489 +#: ../en/ch10-template.xml:457
 1.12490  msgid ""
 1.12491  "A command line template provides a quick and simple way to format some "
 1.12492  "output.  Templates can become verbose, though, and it's useful to be able to "
 1.12493 @@ -13170,7 +12255,7 @@
 1.12494  msgstr ""
 1.12495  
 1.12496  #. type: Content of: <book><chapter><sect1><para>
 1.12497 -#: ../en/ch11-template.xml:461
 1.12498 +#: ../en/ch10-template.xml:462
 1.12499  msgid ""
 1.12500  "More than that, using a style file unlocks the power of Mercurial's "
 1.12501  "templating engine in ways that are not possible using the command line "
 1.12502 @@ -13178,49 +12263,49 @@
 1.12503  msgstr ""
 1.12504  
 1.12505  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.12506 -#: ../en/ch11-template.xml:467
 1.12507 +#: ../en/ch10-template.xml:468
 1.12508  msgid "The simplest of style files"
 1.12509  msgstr "最简单的样式文件"
 1.12510  
 1.12511  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12512 -#: ../en/ch11-template.xml:469
 1.12513 +#: ../en/ch10-template.xml:470
 1.12514  msgid "Our simple style file contains just one line:"
 1.12515  msgstr ""
 1.12516  
 1.12517  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12518 -#: ../en/ch11-template.xml:473
 1.12519 +#: ../en/ch10-template.xml:474
 1.12520  msgid ""
 1.12521  "This tells Mercurial, <quote>if you're printing a changeset, use the text on "
 1.12522  "the right as the template</quote>."
 1.12523  msgstr ""
 1.12524  
 1.12525  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.12526 -#: ../en/ch11-template.xml:479
 1.12527 +#: ../en/ch10-template.xml:480
 1.12528  msgid "Style file syntax"
 1.12529  msgstr "样式文件语法"
 1.12530  
 1.12531  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12532 -#: ../en/ch11-template.xml:481
 1.12533 +#: ../en/ch10-template.xml:482
 1.12534  msgid "The syntax rules for a style file are simple."
 1.12535  msgstr ""
 1.12536  
 1.12537  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12538 -#: ../en/ch11-template.xml:484
 1.12539 +#: ../en/ch10-template.xml:485
 1.12540  msgid "The file is processed one line at a time."
 1.12541  msgstr ""
 1.12542  
 1.12543  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12544 -#: ../en/ch11-template.xml:487
 1.12545 +#: ../en/ch10-template.xml:488
 1.12546  msgid "Leading and trailing white space are ignored."
 1.12547  msgstr ""
 1.12548  
 1.12549  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12550 -#: ../en/ch11-template.xml:490
 1.12551 +#: ../en/ch10-template.xml:491
 1.12552  msgid "Empty lines are skipped."
 1.12553  msgstr ""
 1.12554  
 1.12555  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12556 -#: ../en/ch11-template.xml:492
 1.12557 +#: ../en/ch10-template.xml:493
 1.12558  msgid ""
 1.12559  "If a line starts with either of the characters <quote><literal>#</literal></"
 1.12560  "quote> or <quote><literal>;</literal></quote>, the entire line is treated as "
 1.12561 @@ -13228,7 +12313,7 @@
 1.12562  msgstr ""
 1.12563  
 1.12564  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12565 -#: ../en/ch11-template.xml:497
 1.12566 +#: ../en/ch10-template.xml:498
 1.12567  msgid ""
 1.12568  "A line starts with a keyword.  This must start with an alphabetic character "
 1.12569  "or underscore, and can subsequently contain any alphanumeric character or "
 1.12570 @@ -13237,21 +12322,21 @@
 1.12571  msgstr ""
 1.12572  
 1.12573  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12574 -#: ../en/ch11-template.xml:503
 1.12575 +#: ../en/ch10-template.xml:504
 1.12576  msgid ""
 1.12577  "The next element must be an <quote><literal>=</literal></quote> character, "
 1.12578  "which can be preceded or followed by an arbitrary amount of white space."
 1.12579  msgstr ""
 1.12580  
 1.12581  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12582 -#: ../en/ch11-template.xml:508
 1.12583 +#: ../en/ch10-template.xml:509
 1.12584  msgid ""
 1.12585  "If the rest of the line starts and ends with matching quote characters "
 1.12586  "(either single or double quote), it is treated as a template body."
 1.12587  msgstr ""
 1.12588  
 1.12589  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12590 -#: ../en/ch11-template.xml:512
 1.12591 +#: ../en/ch10-template.xml:513
 1.12592  msgid ""
 1.12593  "If the rest of the line <emphasis>does not</emphasis> start with a quote "
 1.12594  "character, it is treated as the name of a file; the contents of this file "
 1.12595 @@ -13259,12 +12344,12 @@
 1.12596  msgstr ""
 1.12597  
 1.12598  #. type: Content of: <book><chapter><sect1><title>
 1.12599 -#: ../en/ch11-template.xml:521
 1.12600 +#: ../en/ch10-template.xml:522
 1.12601  msgid "Style files by example"
 1.12602  msgstr "样式文件例子"
 1.12603  
 1.12604  #. type: Content of: <book><chapter><sect1><para>
 1.12605 -#: ../en/ch11-template.xml:523
 1.12606 +#: ../en/ch10-template.xml:524
 1.12607  msgid ""
 1.12608  "To illustrate how to write a style file, we will construct a few by example.  "
 1.12609  "Rather than provide a complete style file and walk through it, we'll mirror "
 1.12610 @@ -13273,12 +12358,12 @@
 1.12611  msgstr ""
 1.12612  
 1.12613  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.12614 -#: ../en/ch11-template.xml:530
 1.12615 +#: ../en/ch10-template.xml:531
 1.12616  msgid "Identifying mistakes in style files"
 1.12617  msgstr "在样式文件中定位错误"
 1.12618  
 1.12619  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12620 -#: ../en/ch11-template.xml:532
 1.12621 +#: ../en/ch10-template.xml:533
 1.12622  msgid ""
 1.12623  "If Mercurial encounters a problem in a style file you are working on, it "
 1.12624  "prints a terse error message that, once you figure out what it means, is "
 1.12625 @@ -13286,7 +12371,7 @@
 1.12626  msgstr ""
 1.12627  
 1.12628  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12629 -#: ../en/ch11-template.xml:538
 1.12630 +#: ../en/ch10-template.xml:539
 1.12631  msgid ""
 1.12632  "Notice that <filename>broken.style</filename> attempts to define a "
 1.12633  "<literal>changeset</literal> keyword, but forgets to give any content for it. "
 1.12634 @@ -13294,35 +12379,35 @@
 1.12635  msgstr ""
 1.12636  
 1.12637  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12638 -#: ../en/ch11-template.xml:545
 1.12639 +#: ../en/ch10-template.xml:546
 1.12640  msgid "This error message looks intimidating, but it is not too hard to follow."
 1.12641  msgstr ""
 1.12642  
 1.12643  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12644 -#: ../en/ch11-template.xml:549
 1.12645 +#: ../en/ch10-template.xml:550
 1.12646  msgid ""
 1.12647  "The first component is simply Mercurial's way of saying <quote>I am giving "
 1.12648  "up</quote>."
 1.12649  msgstr ""
 1.12650  
 1.12651  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12652 -#: ../en/ch11-template.xml:554
 1.12653 +#: ../en/ch10-template.xml:554
 1.12654  msgid "Next comes the name of the style file that contains the error."
 1.12655  msgstr ""
 1.12656  
 1.12657  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12658 -#: ../en/ch11-template.xml:560
 1.12659 +#: ../en/ch10-template.xml:558
 1.12660  msgid ""
 1.12661  "Following the file name is the line number where the error was encountered."
 1.12662  msgstr ""
 1.12663  
 1.12664  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12665 -#: ../en/ch11-template.xml:565
 1.12666 +#: ../en/ch10-template.xml:562
 1.12667  msgid "Finally, a description of what went wrong."
 1.12668  msgstr ""
 1.12669  
 1.12670  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12671 -#: ../en/ch11-template.xml:570
 1.12672 +#: ../en/ch10-template.xml:566
 1.12673  msgid ""
 1.12674  "The description of the problem is not always clear (as in this case), but "
 1.12675  "even when it is cryptic, it is almost always trivial to visually inspect the "
 1.12676 @@ -13330,12 +12415,12 @@
 1.12677  msgstr ""
 1.12678  
 1.12679  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.12680 -#: ../en/ch11-template.xml:578
 1.12681 +#: ../en/ch10-template.xml:574
 1.12682  msgid "Uniquely identifying a repository"
 1.12683  msgstr "版本库的唯一标识"
 1.12684  
 1.12685  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12686 -#: ../en/ch11-template.xml:580
 1.12687 +#: ../en/ch10-template.xml:576
 1.12688  msgid ""
 1.12689  "If you would like to be able to identify a Mercurial repository <quote>fairly "
 1.12690  "uniquely</quote> using a short string as an identifier, you can use the first "
 1.12691 @@ -13343,21 +12428,21 @@
 1.12692  msgstr ""
 1.12693  
 1.12694  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12695 -#: ../en/ch11-template.xml:587
 1.12696 +#: ../en/ch10-template.xml:583
 1.12697  msgid ""
 1.12698  "This is not guaranteed to be unique, but it is nevertheless useful in many "
 1.12699  "cases."
 1.12700  msgstr ""
 1.12701  
 1.12702  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12703 -#: ../en/ch11-template.xml:590
 1.12704 +#: ../en/ch10-template.xml:586
 1.12705  msgid ""
 1.12706  "It will not work in a completely empty repository, because such a repository "
 1.12707  "does not have a revision zero."
 1.12708  msgstr ""
 1.12709  
 1.12710  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12711 -#: ../en/ch11-template.xml:594
 1.12712 +#: ../en/ch10-template.xml:590
 1.12713  msgid ""
 1.12714  "Neither will it work in the (extremely rare)  case where a repository is a "
 1.12715  "merge of two or more formerly independent repositories, and you still have "
 1.12716 @@ -13365,18 +12450,18 @@
 1.12717  msgstr ""
 1.12718  
 1.12719  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12720 -#: ../en/ch11-template.xml:599
 1.12721 +#: ../en/ch10-template.xml:595
 1.12722  msgid "Here are some uses to which you could put this identifier:"
 1.12723  msgstr ""
 1.12724  
 1.12725  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12726 -#: ../en/ch11-template.xml:602
 1.12727 +#: ../en/ch10-template.xml:598
 1.12728  msgid ""
 1.12729  "As a key into a table for a database that manages repositories on a server."
 1.12730  msgstr ""
 1.12731  
 1.12732  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12733 -#: ../en/ch11-template.xml:605
 1.12734 +#: ../en/ch10-template.xml:601
 1.12735  msgid ""
 1.12736  "As half of a {<emphasis>repository ID</emphasis>, <emphasis>revision ID</"
 1.12737  "emphasis>} tuple.  Save this information away when you run an automated build "
 1.12738 @@ -13385,13 +12470,13 @@
 1.12739  msgstr ""
 1.12740  
 1.12741  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.12742 -#: ../en/ch11-template.xml:614
 1.12743 +#: ../en/ch10-template.xml:610
 1.12744  msgid "Mimicking Subversion's output"
 1.12745  msgstr "模仿 Subversion 的输出"
 1.12746  
 1.12747  #
 1.12748  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12749 -#: ../en/ch11-template.xml:616
 1.12750 +#: ../en/ch10-template.xml:612
 1.12751  msgid ""
 1.12752  "Let's try to emulate the default output format used by another revision "
 1.12753  "control tool, Subversion."
 1.12754 @@ -13399,7 +12484,7 @@
 1.12755  
 1.12756  #
 1.12757  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12758 -#: ../en/ch11-template.xml:621
 1.12759 +#: ../en/ch10-template.xml:617
 1.12760  msgid ""
 1.12761  "Since Subversion's output style is fairly simple, it is easy to copy-and-"
 1.12762  "paste a hunk of its output into a file, and replace the text produced above "
 1.12763 @@ -13407,14 +12492,14 @@
 1.12764  msgstr ""
 1.12765  
 1.12766  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12767 -#: ../en/ch11-template.xml:628
 1.12768 +#: ../en/ch10-template.xml:624
 1.12769  msgid ""
 1.12770  "There are a few small ways in which this template deviates from the output "
 1.12771  "produced by Subversion."
 1.12772  msgstr ""
 1.12773  
 1.12774  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12775 -#: ../en/ch11-template.xml:631
 1.12776 +#: ../en/ch10-template.xml:627
 1.12777  msgid ""
 1.12778  "Subversion prints a <quote>readable</quote> date (the <quote><literal>Wed, 27 "
 1.12779  "Sep 2006</literal></quote> in the example output above) in parentheses.  "
 1.12780 @@ -13423,7 +12508,7 @@
 1.12781  msgstr ""
 1.12782  
 1.12783  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12784 -#: ../en/ch11-template.xml:638
 1.12785 +#: ../en/ch10-template.xml:634
 1.12786  msgid ""
 1.12787  "We emulate Subversion's printing of <quote>separator</quote> lines full of "
 1.12788  "<quote><literal>-</literal></quote> characters by ending the template with "
 1.12789 @@ -13433,7 +12518,7 @@
 1.12790  msgstr ""
 1.12791  
 1.12792  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.12793 -#: ../en/ch11-template.xml:647
 1.12794 +#: ../en/ch10-template.xml:643
 1.12795  msgid ""
 1.12796  "Subversion's output includes a count in the header of the number of lines in "
 1.12797  "the commit message.  We cannot replicate this in Mercurial; the templating "
 1.12798 @@ -13443,7 +12528,7 @@
 1.12799  
 1.12800  #
 1.12801  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12802 -#: ../en/ch11-template.xml:653
 1.12803 +#: ../en/ch10-template.xml:649
 1.12804  msgid ""
 1.12805  "It took me no more than a minute or two of work to replace literal text from "
 1.12806  "an example of Subversion's output with some keywords and filters to give the "
 1.12807 @@ -13451,7 +12536,7 @@
 1.12808  msgstr ""
 1.12809  
 1.12810  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12811 -#: ../en/ch11-template.xml:660
 1.12812 +#: ../en/ch10-template.xml:656
 1.12813  msgid ""
 1.12814  "We could have included the text of the template file directly in the style "
 1.12815  "file by enclosing it in quotes and replacing the newlines with "
 1.12816 @@ -13464,17 +12549,17 @@
 1.12817  msgstr ""
 1.12818  
 1.12819  #. type: Content of: <book><chapter><title>
 1.12820 -#: ../en/ch12-mq.xml:5
 1.12821 +#: ../en/ch11-mq.xml:5
 1.12822  msgid "Managing change with Mercurial Queues"
 1.12823  msgstr "使用 MQ 管理修改"
 1.12824  
 1.12825  #. type: Content of: <book><chapter><sect1><title>
 1.12826 -#: ../en/ch12-mq.xml:8
 1.12827 +#: ../en/ch11-mq.xml:8
 1.12828  msgid "The patch management problem"
 1.12829  msgstr "补丁的管理问题"
 1.12830  
 1.12831  #. type: Content of: <book><chapter><sect1><para>
 1.12832 -#: ../en/ch12-mq.xml:10
 1.12833 +#: ../en/ch11-mq.xml:10
 1.12834  msgid ""
 1.12835  "Here is a common scenario: you need to install a software package from "
 1.12836  "source, but you find a bug that you must fix in the source before you can "
 1.12837 @@ -13486,7 +12571,7 @@
 1.12838  msgstr ""
 1.12839  
 1.12840  #. type: Content of: <book><chapter><sect1><para>
 1.12841 -#: ../en/ch12-mq.xml:20
 1.12842 +#: ../en/ch11-mq.xml:20
 1.12843  msgid ""
 1.12844  "This is a simple case of the <quote>patch management</quote> problem.  You "
 1.12845  "have an <quote>upstream</quote> source tree that you can't change; you need "
 1.12846 @@ -13496,7 +12581,7 @@
 1.12847  msgstr ""
 1.12848  
 1.12849  #. type: Content of: <book><chapter><sect1><para>
 1.12850 -#: ../en/ch12-mq.xml:27
 1.12851 +#: ../en/ch11-mq.xml:27
 1.12852  msgid ""
 1.12853  "The patch management problem arises in many situations.  Probably the most "
 1.12854  "visible is that a user of an open source software project will contribute a "
 1.12855 @@ -13504,7 +12589,7 @@
 1.12856  msgstr ""
 1.12857  
 1.12858  #. type: Content of: <book><chapter><sect1><para>
 1.12859 -#: ../en/ch12-mq.xml:32
 1.12860 +#: ../en/ch11-mq.xml:32
 1.12861  msgid ""
 1.12862  "Distributors of operating systems that include open source software often "
 1.12863  "need to make changes to the packages they distribute so that they will build "
 1.12864 @@ -13512,7 +12597,7 @@
 1.12865  msgstr ""
 1.12866  
 1.12867  #. type: Content of: <book><chapter><sect1><para>
 1.12868 -#: ../en/ch12-mq.xml:37
 1.12869 +#: ../en/ch11-mq.xml:37
 1.12870  msgid ""
 1.12871  "When you have few changes to maintain, it is easy to manage a single patch "
 1.12872  "using the standard <command>diff</command> and <command>patch</command> "
 1.12873 @@ -13529,7 +12614,7 @@
 1.12874  msgstr ""
 1.12875  
 1.12876  #. type: Content of: <book><chapter><sect1><para>
 1.12877 -#: ../en/ch12-mq.xml:52
 1.12878 +#: ../en/ch11-mq.xml:52
 1.12879  msgid ""
 1.12880  "Maintaining a single patch against an upstream tree is a little tedious and "
 1.12881  "error-prone, but not difficult.  However, the complexity of the problem grows "
 1.12882 @@ -13539,7 +12624,7 @@
 1.12883  msgstr ""
 1.12884  
 1.12885  #. type: Content of: <book><chapter><sect1><para>
 1.12886 -#: ../en/ch12-mq.xml:59
 1.12887 +#: ../en/ch11-mq.xml:59
 1.12888  msgid ""
 1.12889  "Fortunately, Mercurial includes a powerful extension, Mercurial Queues (or "
 1.12890  "simply <quote>MQ</quote>), that massively simplifies the patch management "
 1.12891 @@ -13547,12 +12632,12 @@
 1.12892  msgstr ""
 1.12893  
 1.12894  #. type: Content of: <book><chapter><sect1><title>
 1.12895 -#: ../en/ch12-mq.xml:65
 1.12896 +#: ../en/ch11-mq.xml:65
 1.12897  msgid "The prehistory of Mercurial Queues"
 1.12898  msgstr "MQ 的历史"
 1.12899  
 1.12900  #. type: Content of: <book><chapter><sect1><para>
 1.12901 -#: ../en/ch12-mq.xml:67
 1.12902 +#: ../en/ch11-mq.xml:67
 1.12903  msgid ""
 1.12904  "During the late 1990s, several Linux kernel developers started to maintain "
 1.12905  "<quote>patch series</quote> that modified the behaviour of the Linux kernel.  "
 1.12906 @@ -13561,7 +12646,7 @@
 1.12907  msgstr ""
 1.12908  
 1.12909  #. type: Content of: <book><chapter><sect1><para>
 1.12910 -#: ../en/ch12-mq.xml:73
 1.12911 +#: ../en/ch11-mq.xml:73
 1.12912  msgid ""
 1.12913  "The sizes of these patch series grew rapidly.  In 2002, Andrew Morton "
 1.12914  "published some shell scripts he had been using to automate the task of "
 1.12915 @@ -13570,12 +12655,12 @@
 1.12916  msgstr ""
 1.12917  
 1.12918  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.12919 -#: ../en/ch12-mq.xml:80
 1.12920 +#: ../en/ch11-mq.xml:80
 1.12921  msgid "A patchwork quilt"
 1.12922  msgstr ""
 1.12923  
 1.12924  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12925 -#: ../en/ch12-mq.xml:82
 1.12926 +#: ../en/ch11-mq.xml:82
 1.12927  msgid ""
 1.12928  "In early 2003, Andreas Gruenbacher and Martin Quinson borrowed the approach "
 1.12929  "of Andrew's scripts and published a tool called <quote>patchwork quilt</"
 1.12930 @@ -13586,7 +12671,7 @@
 1.12931  msgstr ""
 1.12932  
 1.12933  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12934 -#: ../en/ch12-mq.xml:91
 1.12935 +#: ../en/ch11-mq.xml:91
 1.12936  msgid ""
 1.12937  "Quilt manages a <emphasis>stack of patches</emphasis> on top of a directory "
 1.12938  "tree. To begin, you tell quilt to manage a directory tree, and tell it which "
 1.12939 @@ -13596,7 +12681,7 @@
 1.12940  msgstr ""
 1.12941  
 1.12942  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12943 -#: ../en/ch12-mq.xml:99
 1.12944 +#: ../en/ch11-mq.xml:99
 1.12945  msgid ""
 1.12946  "The refresh step causes quilt to scan the directory tree; it updates the "
 1.12947  "patch with all of the changes you have made.  You can create another patch on "
 1.12948 @@ -13606,7 +12691,7 @@
 1.12949  msgstr ""
 1.12950  
 1.12951  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12952 -#: ../en/ch12-mq.xml:106
 1.12953 +#: ../en/ch11-mq.xml:106
 1.12954  msgid ""
 1.12955  "You can <emphasis>change</emphasis> which patches are applied to the tree.  "
 1.12956  "If you <quote>pop</quote> a patch, the changes made by that patch will vanish "
 1.12957 @@ -13620,19 +12705,19 @@
 1.12958  msgstr ""
 1.12959  
 1.12960  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12961 -#: ../en/ch12-mq.xml:118
 1.12962 +#: ../en/ch11-mq.xml:118
 1.12963  msgid ""
 1.12964  "Quilt knows nothing about revision control tools, so it works equally well on "
 1.12965  "top of an unpacked tarball or a Subversion working copy."
 1.12966  msgstr ""
 1.12967  
 1.12968  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.12969 -#: ../en/ch12-mq.xml:124
 1.12970 +#: ../en/ch11-mq.xml:124
 1.12971  msgid "From patchwork quilt to Mercurial Queues"
 1.12972  msgstr "从 patchwork quilt 到 MQ"
 1.12973  
 1.12974  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12975 -#: ../en/ch12-mq.xml:126
 1.12976 +#: ../en/ch11-mq.xml:126
 1.12977  msgid ""
 1.12978  "In mid-2005, Chris Mason took the features of quilt and wrote an extension "
 1.12979  "that he called Mercurial Queues, which added quilt-like behaviour to "
 1.12980 @@ -13640,7 +12725,7 @@
 1.12981  msgstr ""
 1.12982  
 1.12983  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12984 -#: ../en/ch12-mq.xml:130
 1.12985 +#: ../en/ch11-mq.xml:130
 1.12986  msgid ""
 1.12987  "The key difference between quilt and MQ is that quilt knows nothing about "
 1.12988  "revision control systems, while MQ is <emphasis>integrated</emphasis> into "
 1.12989 @@ -13649,7 +12734,7 @@
 1.12990  msgstr ""
 1.12991  
 1.12992  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.12993 -#: ../en/ch12-mq.xml:136
 1.12994 +#: ../en/ch11-mq.xml:136
 1.12995  msgid ""
 1.12996  "Because quilt does not care about revision control tools, it is still a "
 1.12997  "tremendously useful piece of software to know about for situations where you "
 1.12998 @@ -13657,19 +12742,19 @@
 1.12999  msgstr ""
 1.13000  
 1.13001  #. type: Content of: <book><chapter><sect1><title>
 1.13002 -#: ../en/ch12-mq.xml:144
 1.13003 +#: ../en/ch11-mq.xml:144
 1.13004  msgid "The huge advantage of MQ"
 1.13005  msgstr "MQ 的巨大优势"
 1.13006  
 1.13007  #. type: Content of: <book><chapter><sect1><para>
 1.13008 -#: ../en/ch12-mq.xml:146
 1.13009 +#: ../en/ch11-mq.xml:146
 1.13010  msgid ""
 1.13011  "I cannot overstate the value that MQ offers through the unification of "
 1.13012  "patches and revision control."
 1.13013  msgstr ""
 1.13014  
 1.13015  #. type: Content of: <book><chapter><sect1><para>
 1.13016 -#: ../en/ch12-mq.xml:149
 1.13017 +#: ../en/ch11-mq.xml:149
 1.13018  msgid ""
 1.13019  "A major reason that patches have persisted in the free software and open "
 1.13020  "source world&emdash;in spite of the availability of increasingly capable "
 1.13021 @@ -13678,7 +12763,7 @@
 1.13022  msgstr ""
 1.13023  
 1.13024  #. type: Content of: <book><chapter><sect1><para>
 1.13025 -#: ../en/ch12-mq.xml:155
 1.13026 +#: ../en/ch11-mq.xml:155
 1.13027  msgid ""
 1.13028  "Traditional revision control tools make a permanent, irreversible record of "
 1.13029  "everything that you do.  While this has great value, it's also somewhat "
 1.13030 @@ -13689,7 +12774,7 @@
 1.13031  msgstr ""
 1.13032  
 1.13033  #. type: Content of: <book><chapter><sect1><para>
 1.13034 -#: ../en/ch12-mq.xml:163
 1.13035 +#: ../en/ch11-mq.xml:163
 1.13036  msgid ""
 1.13037  "By contrast, MQ's marriage of distributed revision control with patches makes "
 1.13038  "it much easier to isolate your work.  Your patches live on top of normal "
 1.13039 @@ -13700,7 +12785,7 @@
 1.13040  msgstr ""
 1.13041  
 1.13042  #. type: Content of: <book><chapter><sect1><para>
 1.13043 -#: ../en/ch12-mq.xml:171
 1.13044 +#: ../en/ch11-mq.xml:171
 1.13045  msgid ""
 1.13046  "As an example, the integration of patches with revision control makes "
 1.13047  "understanding patches and debugging their effects&emdash;and their interplay "
 1.13048 @@ -13715,19 +12800,19 @@
 1.13049  msgstr ""
 1.13050  
 1.13051  #. type: Content of: <book><chapter><sect1><title>
 1.13052 -#: ../en/ch12-mq.xml:187
 1.13053 +#: ../en/ch11-mq.xml:187
 1.13054  msgid "Understanding patches"
 1.13055  msgstr "理解补丁"
 1.13056  
 1.13057  #. type: Content of: <book><chapter><sect1><para>
 1.13058 -#: ../en/ch12-mq.xml:189
 1.13059 +#: ../en/ch11-mq.xml:189
 1.13060  msgid ""
 1.13061  "Because MQ doesn't hide its patch-oriented nature, it is helpful to "
 1.13062  "understand what patches are, and a little about the tools that work with them."
 1.13063  msgstr ""
 1.13064  
 1.13065  #. type: Content of: <book><chapter><sect1><para>
 1.13066 -#: ../en/ch12-mq.xml:193
 1.13067 +#: ../en/ch11-mq.xml:193
 1.13068  msgid ""
 1.13069  "The traditional Unix <command>diff</command> command compares two files, and "
 1.13070  "prints a list of differences between them. The <command>patch</command> "
 1.13071 @@ -13737,7 +12822,7 @@
 1.13072  msgstr ""
 1.13073  
 1.13074  #. type: Content of: <book><chapter><sect1><para>
 1.13075 -#: ../en/ch12-mq.xml:202
 1.13076 +#: ../en/ch11-mq.xml:202
 1.13077  msgid ""
 1.13078  "The type of file that <command>diff</command> generates (and <command>patch</"
 1.13079  "command> takes as input) is called a <quote>patch</quote> or a <quote>diff</"
 1.13080 @@ -13746,7 +12831,7 @@
 1.13081  msgstr ""
 1.13082  
 1.13083  #. type: Content of: <book><chapter><sect1><para>
 1.13084 -#: ../en/ch12-mq.xml:208
 1.13085 +#: ../en/ch11-mq.xml:208
 1.13086  msgid ""
 1.13087  "A patch file can start with arbitrary text; the <command>patch</command> "
 1.13088  "command ignores this text, but MQ uses it as the commit message when creating "
 1.13089 @@ -13756,7 +12841,7 @@
 1.13090  msgstr ""
 1.13091  
 1.13092  #. type: Content of: <book><chapter><sect1><para>
 1.13093 -#: ../en/ch12-mq.xml:215
 1.13094 +#: ../en/ch11-mq.xml:215
 1.13095  msgid ""
 1.13096  "MQ works with <emphasis>unified</emphasis> diffs (<command>patch</command> "
 1.13097  "can accept several other diff formats, but MQ doesn't).  A unified diff "
 1.13098 @@ -13767,7 +12852,7 @@
 1.13099  msgstr ""
 1.13100  
 1.13101  #. type: Content of: <book><chapter><sect1><para>
 1.13102 -#: ../en/ch12-mq.xml:223
 1.13103 +#: ../en/ch11-mq.xml:223
 1.13104  msgid ""
 1.13105  "After the file header comes a series of <emphasis>hunks</emphasis>.  Each "
 1.13106  "hunk starts with a header; this identifies the range of line numbers within "
 1.13107 @@ -13780,7 +12865,7 @@
 1.13108  msgstr ""
 1.13109  
 1.13110  #. type: Content of: <book><chapter><sect1><para>
 1.13111 -#: ../en/ch12-mq.xml:235
 1.13112 +#: ../en/ch11-mq.xml:235
 1.13113  msgid ""
 1.13114  "Each line of context begins with a space character.  Within the hunk, a line "
 1.13115  "that begins with <quote><literal>-</literal></quote> means <quote>remove this "
 1.13116 @@ -13790,7 +12875,7 @@
 1.13117  msgstr ""
 1.13118  
 1.13119  #. type: Content of: <book><chapter><sect1><para>
 1.13120 -#: ../en/ch12-mq.xml:243
 1.13121 +#: ../en/ch11-mq.xml:243
 1.13122  msgid ""
 1.13123  "We will return to some of the more subtle aspects of patches later (in "
 1.13124  "section <xref linkend=\"sec.mq.adv-patch\"/>), but you should have enough "
 1.13125 @@ -13798,12 +12883,12 @@
 1.13126  msgstr ""
 1.13127  
 1.13128  #. type: Content of: <book><chapter><sect1><title>
 1.13129 -#: ../en/ch12-mq.xml:250
 1.13130 +#: ../en/ch11-mq.xml:250
 1.13131  msgid "Getting started with Mercurial Queues"
 1.13132  msgstr "开始使用 MQ"
 1.13133  
 1.13134  #. type: Content of: <book><chapter><sect1><para>
 1.13135 -#: ../en/ch12-mq.xml:252
 1.13136 +#: ../en/ch11-mq.xml:252
 1.13137  msgid ""
 1.13138  "Because MQ is implemented as an extension, you must explicitly enable before "
 1.13139  "you can use it.  (You don't need to download anything; MQ ships with the "
 1.13140 @@ -13812,7 +12897,7 @@
 1.13141  msgstr ""
 1.13142  
 1.13143  #. type: Content of: <book><chapter><sect1><para>
 1.13144 -#: ../en/ch12-mq.xml:261
 1.13145 +#: ../en/ch11-mq.xml:262
 1.13146  msgid ""
 1.13147  "Once the extension is enabled, it will make a number of new commands "
 1.13148  "available.  To verify that the extension is working, you can use <command "
 1.13149 @@ -13821,7 +12906,7 @@
 1.13150  msgstr ""
 1.13151  
 1.13152  #. type: Content of: <book><chapter><sect1><para>
 1.13153 -#: ../en/ch12-mq.xml:269
 1.13154 +#: ../en/ch11-mq.xml:270
 1.13155  msgid ""
 1.13156  "You can use MQ with <emphasis>any</emphasis> Mercurial repository, and its "
 1.13157  "commands only operate within that repository.  To get started, simply prepare "
 1.13158 @@ -13829,7 +12914,7 @@
 1.13159  msgstr ""
 1.13160  
 1.13161  #. type: Content of: <book><chapter><sect1><para>
 1.13162 -#: ../en/ch12-mq.xml:276
 1.13163 +#: ../en/ch11-mq.xml:277
 1.13164  msgid ""
 1.13165  "This command creates an empty directory called <filename role=\"special\" "
 1.13166  "class=\"directory\">.hg/patches</filename>, where MQ will keep its metadata.  "
 1.13167 @@ -13838,12 +12923,12 @@
 1.13168  msgstr ""
 1.13169  
 1.13170  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13171 -#: ../en/ch12-mq.xml:283
 1.13172 +#: ../en/ch11-mq.xml:284
 1.13173  msgid "Creating a new patch"
 1.13174  msgstr "创建新补丁"
 1.13175  
 1.13176  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13177 -#: ../en/ch12-mq.xml:285
 1.13178 +#: ../en/ch11-mq.xml:286
 1.13179  msgid ""
 1.13180  "To begin work on a new patch, use the <command role=\"hg-ext-mq\">qnew</"
 1.13181  "command> command.  This command takes one argument, the name of the patch to "
 1.13182 @@ -13851,14 +12936,14 @@
 1.13183  msgstr ""
 1.13184  
 1.13185  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13186 -#: ../en/ch12-mq.xml:289
 1.13187 +#: ../en/ch11-mq.xml:290
 1.13188  msgid ""
 1.13189  "MQ will use this as the name of an actual file in the <filename role=\"special"
 1.13190  "\" class=\"directory\">.hg/patches</filename> directory, as you can see below."
 1.13191  msgstr ""
 1.13192  
 1.13193  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13194 -#: ../en/ch12-mq.xml:296
 1.13195 +#: ../en/ch11-mq.xml:297
 1.13196  msgid ""
 1.13197  "Also newly present in the <filename role=\"special\" class=\"directory\">.hg/"
 1.13198  "patches</filename> directory are two other files, <filename role=\"special"
 1.13199 @@ -13871,7 +12956,7 @@
 1.13200  msgstr ""
 1.13201  
 1.13202  #. type: Content of: <book><chapter><sect1><sect2><note><para>
 1.13203 -#: ../en/ch12-mq.xml:308
 1.13204 +#: ../en/ch11-mq.xml:309
 1.13205  msgid ""
 1.13206  "You may sometimes want to edit the <filename role=\"special\">series</"
 1.13207  "filename> file by hand; for example, to change the sequence in which some "
 1.13208 @@ -13881,7 +12966,7 @@
 1.13209  msgstr ""
 1.13210  
 1.13211  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13212 -#: ../en/ch12-mq.xml:317
 1.13213 +#: ../en/ch11-mq.xml:318
 1.13214  msgid ""
 1.13215  "Once you have created your new patch, you can edit files in the working "
 1.13216  "directory as you usually would.  All of the normal Mercurial commands, such "
 1.13217 @@ -13890,12 +12975,12 @@
 1.13218  msgstr ""
 1.13219  
 1.13220  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13221 -#: ../en/ch12-mq.xml:325
 1.13222 +#: ../en/ch11-mq.xml:326
 1.13223  msgid "Refreshing a patch"
 1.13224  msgstr "刷新补丁"
 1.13225  
 1.13226  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13227 -#: ../en/ch12-mq.xml:327
 1.13228 +#: ../en/ch11-mq.xml:328
 1.13229  msgid ""
 1.13230  "When you reach a point where you want to save your work, use the <command "
 1.13231  "role=\"hg-ext-mq\">qrefresh</command> command to update the patch you are "
 1.13232 @@ -13903,14 +12988,14 @@
 1.13233  msgstr ""
 1.13234  
 1.13235  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13236 -#: ../en/ch12-mq.xml:333
 1.13237 +#: ../en/ch11-mq.xml:334
 1.13238  msgid ""
 1.13239  "This command folds the changes you have made in the working directory into "
 1.13240  "your patch, and updates its corresponding changeset to contain those changes."
 1.13241  msgstr ""
 1.13242  
 1.13243  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13244 -#: ../en/ch12-mq.xml:337
 1.13245 +#: ../en/ch11-mq.xml:338
 1.13246  msgid ""
 1.13247  "You can run <command role=\"hg-ext-mq\">qrefresh</command> as often as you "
 1.13248  "like, so it's a good way to <quote>checkpoint</quote> your work.  Refresh "
 1.13249 @@ -13920,12 +13005,12 @@
 1.13250  msgstr ""
 1.13251  
 1.13252  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13253 -#: ../en/ch12-mq.xml:348
 1.13254 +#: ../en/ch11-mq.xml:349
 1.13255  msgid "Stacking and tracking patches"
 1.13256  msgstr "堆叠和跟踪补丁"
 1.13257  
 1.13258  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13259 -#: ../en/ch12-mq.xml:350
 1.13260 +#: ../en/ch11-mq.xml:351
 1.13261  msgid ""
 1.13262  "Once you have finished working on a patch, or need to work on another, you "
 1.13263  "can use the <command role=\"hg-ext-mq\">qnew</command> command again to "
 1.13264 @@ -13934,7 +13019,7 @@
 1.13265  msgstr ""
 1.13266  
 1.13267  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13268 -#: ../en/ch12-mq.xml:357
 1.13269 +#: ../en/ch11-mq.xml:358
 1.13270  msgid ""
 1.13271  "Notice that the patch contains the changes in our prior patch as part of its "
 1.13272  "context (you can see this more clearly in the output of <command role=\"hg-cmd"
 1.13273 @@ -13942,7 +13027,7 @@
 1.13274  msgstr ""
 1.13275  
 1.13276  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13277 -#: ../en/ch12-mq.xml:362
 1.13278 +#: ../en/ch11-mq.xml:363
 1.13279  msgid ""
 1.13280  "So far, with the exception of <command role=\"hg-ext-mq\">qnew</command> and "
 1.13281  "<command role=\"hg-ext-mq\">qrefresh</command>, we've been careful to only "
 1.13282 @@ -13951,7 +13036,7 @@
 1.13283  msgstr ""
 1.13284  
 1.13285  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13286 -#: ../en/ch12-mq.xml:372
 1.13287 +#: ../en/ch11-mq.xml:373
 1.13288  msgid ""
 1.13289  "The <command role=\"hg-ext-mq\">qseries</command> command lists every patch "
 1.13290  "that MQ knows about in this repository, from oldest to newest (most recently "
 1.13291 @@ -13959,7 +13044,7 @@
 1.13292  msgstr ""
 1.13293  
 1.13294  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13295 -#: ../en/ch12-mq.xml:378
 1.13296 +#: ../en/ch11-mq.xml:379
 1.13297  msgid ""
 1.13298  "The <command role=\"hg-ext-mq\">qapplied</command> command lists every patch "
 1.13299  "that MQ has <emphasis>applied</emphasis> in this repository, again from "
 1.13300 @@ -13967,12 +13052,12 @@
 1.13301  msgstr ""
 1.13302  
 1.13303  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13304 -#: ../en/ch12-mq.xml:387
 1.13305 +#: ../en/ch11-mq.xml:388
 1.13306  msgid "Manipulating the patch stack"
 1.13307  msgstr "操作补丁堆栈"
 1.13308  
 1.13309  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13310 -#: ../en/ch12-mq.xml:389
 1.13311 +#: ../en/ch11-mq.xml:390
 1.13312  msgid ""
 1.13313  "The previous discussion implied that there must be a difference between "
 1.13314  "<quote>known</quote> and <quote>applied</quote> patches, and there is.  MQ "
 1.13315 @@ -13980,7 +13065,7 @@
 1.13316  msgstr ""
 1.13317  
 1.13318  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13319 -#: ../en/ch12-mq.xml:394
 1.13320 +#: ../en/ch11-mq.xml:395
 1.13321  msgid ""
 1.13322  "An <emphasis>applied</emphasis> patch has a corresponding changeset in the "
 1.13323  "repository, and the effects of the patch and changeset are visible in the "
 1.13324 @@ -13994,17 +13079,17 @@
 1.13325  msgstr ""
 1.13326  
 1.13327  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
 1.13328 -#: ../en/ch12-mq.xml:408
 1.13329 +#: ../en/ch11-mq.xml:409
 1.13330  msgid "<imageobject><imagedata fileref=\"images/mq-stack.png\"/></imageobject>"
 1.13331  msgstr ""
 1.13332  
 1.13333  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
 1.13334 -#: ../en/ch12-mq.xml:410
 1.13335 +#: ../en/ch11-mq.xml:411
 1.13336  msgid "Applied and unapplied patches in the MQ patch stack"
 1.13337  msgstr ""
 1.13338  
 1.13339  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13340 -#: ../en/ch12-mq.xml:415
 1.13341 +#: ../en/ch11-mq.xml:416
 1.13342  msgid ""
 1.13343  "You can reapply an unapplied, or popped, patch using the <command role=\"hg-"
 1.13344  "ext-mq\">qpush</command> command.  This creates a new changeset to correspond "
 1.13345 @@ -14014,7 +13099,7 @@
 1.13346  msgstr ""
 1.13347  
 1.13348  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13349 -#: ../en/ch12-mq.xml:424
 1.13350 +#: ../en/ch11-mq.xml:425
 1.13351  msgid ""
 1.13352  "Notice that once we have popped a patch or two patches, the output of "
 1.13353  "<command role=\"hg-ext-mq\">qseries</command> remains the same, while that of "
 1.13354 @@ -14022,12 +13107,12 @@
 1.13355  msgstr ""
 1.13356  
 1.13357  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13358 -#: ../en/ch12-mq.xml:432
 1.13359 +#: ../en/ch11-mq.xml:433
 1.13360  msgid "Pushing and popping many patches"
 1.13361  msgstr "压入或弹出多个补丁"
 1.13362  
 1.13363  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13364 -#: ../en/ch12-mq.xml:434
 1.13365 +#: ../en/ch11-mq.xml:435
 1.13366  msgid ""
 1.13367  "While <command role=\"hg-ext-mq\">qpush</command> and <command role=\"hg-ext-"
 1.13368  "mq\">qpop</command> each operate on a single patch at a time by default, you "
 1.13369 @@ -14040,12 +13125,12 @@
 1.13370  msgstr ""
 1.13371  
 1.13372  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13373 -#: ../en/ch12-mq.xml:451
 1.13374 +#: ../en/ch11-mq.xml:452
 1.13375  msgid "Safety checks, and overriding them"
 1.13376  msgstr "安全的检查,然后覆盖它们"
 1.13377  
 1.13378  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13379 -#: ../en/ch12-mq.xml:453
 1.13380 +#: ../en/ch11-mq.xml:454
 1.13381  msgid ""
 1.13382  "Several MQ commands check the working directory before they do anything, and "
 1.13383  "fail if they find any modifications.  They do this to ensure that you won't "
 1.13384 @@ -14057,7 +13142,7 @@
 1.13385  msgstr ""
 1.13386  
 1.13387  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13388 -#: ../en/ch12-mq.xml:465
 1.13389 +#: ../en/ch11-mq.xml:466
 1.13390  msgid ""
 1.13391  "Commands that check the working directory all take an <quote>I know what I'm "
 1.13392  "doing</quote> option, which is always named <option>-f</option>.  The exact "
 1.13393 @@ -14071,12 +13156,12 @@
 1.13394  msgstr ""
 1.13395  
 1.13396  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13397 -#: ../en/ch12-mq.xml:480
 1.13398 +#: ../en/ch11-mq.xml:481
 1.13399  msgid "Working on several patches at once"
 1.13400  msgstr "同时处理多个补丁"
 1.13401  
 1.13402  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13403 -#: ../en/ch12-mq.xml:482
 1.13404 +#: ../en/ch11-mq.xml:483
 1.13405  msgid ""
 1.13406  "The <command role=\"hg-ext-mq\">qrefresh</command> command always refreshes "
 1.13407  "the <emphasis>topmost</emphasis> applied patch.  This means that you can "
 1.13408 @@ -14085,7 +13170,7 @@
 1.13409  msgstr ""
 1.13410  
 1.13411  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13412 -#: ../en/ch12-mq.xml:489
 1.13413 +#: ../en/ch11-mq.xml:490
 1.13414  msgid ""
 1.13415  "Here's an example that illustrates how you can use this ability. Let's say "
 1.13416  "you're developing a new feature as two patches.  The first is a change to the "
 1.13417 @@ -14101,12 +13186,12 @@
 1.13418  msgstr ""
 1.13419  
 1.13420  #. type: Content of: <book><chapter><sect1><title>
 1.13421 -#: ../en/ch12-mq.xml:506
 1.13422 +#: ../en/ch11-mq.xml:507
 1.13423  msgid "More about patches"
 1.13424  msgstr "关于补丁的更多信息"
 1.13425  
 1.13426  #. type: Content of: <book><chapter><sect1><para>
 1.13427 -#: ../en/ch12-mq.xml:508
 1.13428 +#: ../en/ch11-mq.xml:509
 1.13429  msgid ""
 1.13430  "MQ uses the GNU <command>patch</command> command to apply patches, so it's "
 1.13431  "helpful to know a few more detailed aspects of how <command>patch</command> "
 1.13432 @@ -14114,12 +13199,12 @@
 1.13433  msgstr ""
 1.13434  
 1.13435  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13436 -#: ../en/ch12-mq.xml:514
 1.13437 +#: ../en/ch11-mq.xml:515
 1.13438  msgid "The strip count"
 1.13439  msgstr "修剪计数"
 1.13440  
 1.13441  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13442 -#: ../en/ch12-mq.xml:516
 1.13443 +#: ../en/ch11-mq.xml:517
 1.13444  msgid ""
 1.13445  "If you look at the file headers in a patch, you will notice that the "
 1.13446  "pathnames usually have an extra component on the front that isn't present in "
 1.13447 @@ -14129,7 +13214,7 @@
 1.13448  msgstr ""
 1.13449  
 1.13450  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13451 -#: ../en/ch12-mq.xml:523
 1.13452 +#: ../en/ch11-mq.xml:524
 1.13453  msgid ""
 1.13454  "Alice would unpack a tarball, edit her files, then decide that she wanted to "
 1.13455  "create a patch.  So she'd rename her working directory, unpack the tarball "
 1.13456 @@ -14143,7 +13228,7 @@
 1.13457  msgstr ""
 1.13458  
 1.13459  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13460 -#: ../en/ch12-mq.xml:536
 1.13461 +#: ../en/ch11-mq.xml:537
 1.13462  msgid ""
 1.13463  "Since someone receiving a patch from the Alices of the net would be unlikely "
 1.13464  "to have unmodified and modified directories with exactly the same names, the "
 1.13465 @@ -14154,7 +13239,7 @@
 1.13466  msgstr ""
 1.13467  
 1.13468  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13469 -#: ../en/ch12-mq.xml:544
 1.13470 +#: ../en/ch11-mq.xml:545
 1.13471  msgid ""
 1.13472  "An option of <quote><literal>-p1</literal></quote> means <quote>use a strip "
 1.13473  "count of one</quote>.  If <command>patch</command> sees a file name "
 1.13474 @@ -14168,7 +13253,7 @@
 1.13475  msgstr ""
 1.13476  
 1.13477  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13478 -#: ../en/ch12-mq.xml:557
 1.13479 +#: ../en/ch11-mq.xml:558
 1.13480  msgid ""
 1.13481  "The <quote>standard</quote> strip count for patches is one; almost all "
 1.13482  "patches contain one leading path name component that needs to be stripped. "
 1.13483 @@ -14178,7 +13263,7 @@
 1.13484  msgstr ""
 1.13485  
 1.13486  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13487 -#: ../en/ch12-mq.xml:565
 1.13488 +#: ../en/ch11-mq.xml:566
 1.13489  msgid ""
 1.13490  "If you receive a patch from someone that you want to add to your patch queue, "
 1.13491  "and the patch needs a strip count other than one, you cannot just <command "
 1.13492 @@ -14195,12 +13280,12 @@
 1.13493  msgstr ""
 1.13494  
 1.13495  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13496 -#: ../en/ch12-mq.xml:584
 1.13497 +#: ../en/ch11-mq.xml:585
 1.13498  msgid "Strategies for applying a patch"
 1.13499  msgstr "应用补丁的策略"
 1.13500  
 1.13501  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13502 -#: ../en/ch12-mq.xml:586
 1.13503 +#: ../en/ch11-mq.xml:587
 1.13504  msgid ""
 1.13505  "When <command>patch</command> applies a hunk, it tries a handful of "
 1.13506  "successively less accurate strategies to try to make the hunk apply. This "
 1.13507 @@ -14210,7 +13295,7 @@
 1.13508  msgstr ""
 1.13509  
 1.13510  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13511 -#: ../en/ch12-mq.xml:593
 1.13512 +#: ../en/ch11-mq.xml:594
 1.13513  msgid ""
 1.13514  "First, <command>patch</command> tries an exact match, where the line numbers, "
 1.13515  "the context, and the text to be modified must apply exactly.  If it cannot "
 1.13516 @@ -14221,7 +13306,7 @@
 1.13517  msgstr ""
 1.13518  
 1.13519  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13520 -#: ../en/ch12-mq.xml:602
 1.13521 +#: ../en/ch11-mq.xml:603
 1.13522  msgid ""
 1.13523  "If a context-only match fails, <command>patch</command> removes the first and "
 1.13524  "last lines of the context, and tries a <emphasis>reduced</emphasis> context-"
 1.13525 @@ -14232,7 +13317,7 @@
 1.13526  msgstr ""
 1.13527  
 1.13528  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13529 -#: ../en/ch12-mq.xml:611
 1.13530 +#: ../en/ch11-mq.xml:612
 1.13531  msgid ""
 1.13532  "When neither of these techniques works, <command>patch</command> prints a "
 1.13533  "message saying that the hunk in question was rejected.  It saves rejected "
 1.13534 @@ -14249,33 +13334,33 @@
 1.13535  msgstr ""
 1.13536  
 1.13537  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13538 -#: ../en/ch12-mq.xml:629
 1.13539 +#: ../en/ch11-mq.xml:630
 1.13540  msgid "Some quirks of patch representation"
 1.13541  msgstr "补丁的一些特性"
 1.13542  
 1.13543  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13544 -#: ../en/ch12-mq.xml:631
 1.13545 +#: ../en/ch11-mq.xml:632
 1.13546  msgid ""
 1.13547  "There are a few useful things to know about how <command>patch</command> "
 1.13548  "works with files."
 1.13549  msgstr ""
 1.13550  
 1.13551  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13552 -#: ../en/ch12-mq.xml:634
 1.13553 +#: ../en/ch11-mq.xml:635
 1.13554  msgid ""
 1.13555  "This should already be obvious, but <command>patch</command> cannot handle "
 1.13556  "binary files."
 1.13557  msgstr ""
 1.13558  
 1.13559  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13560 -#: ../en/ch12-mq.xml:638
 1.13561 +#: ../en/ch11-mq.xml:639
 1.13562  msgid ""
 1.13563  "Neither does it care about the executable bit; it creates new files as "
 1.13564  "readable, but not executable."
 1.13565  msgstr ""
 1.13566  
 1.13567  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13568 -#: ../en/ch12-mq.xml:642
 1.13569 +#: ../en/ch11-mq.xml:643
 1.13570  msgid ""
 1.13571  "<command>patch</command> treats the removal of a file as a diff between the "
 1.13572  "file to be removed and the empty file.  So your idea of <quote>I deleted this "
 1.13573 @@ -14284,7 +13369,7 @@
 1.13574  msgstr ""
 1.13575  
 1.13576  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13577 -#: ../en/ch12-mq.xml:648
 1.13578 +#: ../en/ch11-mq.xml:649
 1.13579  msgid ""
 1.13580  "It treats the addition of a file as a diff between the empty file and the "
 1.13581  "file to be added.  So in a patch, your idea of <quote>I added this file</"
 1.13582 @@ -14292,7 +13377,7 @@
 1.13583  msgstr ""
 1.13584  
 1.13585  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13586 -#: ../en/ch12-mq.xml:654
 1.13587 +#: ../en/ch11-mq.xml:655
 1.13588  msgid ""
 1.13589  "It treats a renamed file as the removal of the old name, and the addition of "
 1.13590  "the new name.  This means that renamed files have a big footprint in "
 1.13591 @@ -14301,7 +13386,7 @@
 1.13592  msgstr ""
 1.13593  
 1.13594  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13595 -#: ../en/ch12-mq.xml:660
 1.13596 +#: ../en/ch11-mq.xml:661
 1.13597  msgid ""
 1.13598  "<command>patch</command> cannot represent empty files, so you cannot use a "
 1.13599  "patch to represent the notion <quote>I added this empty file to the tree</"
 1.13600 @@ -14309,12 +13394,12 @@
 1.13601  msgstr ""
 1.13602  
 1.13603  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13604 -#: ../en/ch12-mq.xml:667
 1.13605 +#: ../en/ch11-mq.xml:668
 1.13606  msgid "Beware the fuzz"
 1.13607  msgstr "当心毛刺"
 1.13608  
 1.13609  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13610 -#: ../en/ch12-mq.xml:669
 1.13611 +#: ../en/ch11-mq.xml:670
 1.13612  msgid ""
 1.13613  "While applying a hunk at an offset, or with a fuzz factor, will often be "
 1.13614  "completely successful, these inexact techniques naturally leave open the "
 1.13615 @@ -14326,7 +13411,7 @@
 1.13616  msgstr ""
 1.13617  
 1.13618  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13619 -#: ../en/ch12-mq.xml:679
 1.13620 +#: ../en/ch11-mq.xml:680
 1.13621  msgid ""
 1.13622  "It's often a good idea to refresh a patch that has applied with an offset or "
 1.13623  "fuzz factor; refreshing the patch generates new context information that will "
 1.13624 @@ -14339,12 +13424,12 @@
 1.13625  msgstr ""
 1.13626  
 1.13627  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.13628 -#: ../en/ch12-mq.xml:692
 1.13629 +#: ../en/ch11-mq.xml:693
 1.13630  msgid "Handling rejection"
 1.13631  msgstr "处理拒绝"
 1.13632  
 1.13633  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13634 -#: ../en/ch12-mq.xml:694
 1.13635 +#: ../en/ch11-mq.xml:695
 1.13636  msgid ""
 1.13637  "If <command role=\"hg-ext-mq\">qpush</command> fails to apply a patch, it "
 1.13638  "will print an error message and exit.  If it has left <filename role=\"special"
 1.13639 @@ -14353,7 +13438,7 @@
 1.13640  msgstr ""
 1.13641  
 1.13642  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13643 -#: ../en/ch12-mq.xml:700
 1.13644 +#: ../en/ch11-mq.xml:701
 1.13645  msgid ""
 1.13646  "If your patch <emphasis>used to</emphasis> apply cleanly, and no longer does "
 1.13647  "because you've changed the underlying code that your patches are based on, "
 1.13648 @@ -14362,7 +13447,7 @@
 1.13649  msgstr ""
 1.13650  
 1.13651  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13652 -#: ../en/ch12-mq.xml:706
 1.13653 +#: ../en/ch11-mq.xml:707
 1.13654  msgid ""
 1.13655  "Unfortunately, there aren't any great techniques for dealing with rejected "
 1.13656  "hunks.  Most often, you'll need to view the <filename role=\"special\">.rej</"
 1.13657 @@ -14370,7 +13455,7 @@
 1.13658  msgstr ""
 1.13659  
 1.13660  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13661 -#: ../en/ch12-mq.xml:711
 1.13662 +#: ../en/ch11-mq.xml:712
 1.13663  msgid ""
 1.13664  "If you're feeling adventurous, Neil Brown, a Linux kernel hacker, wrote a "
 1.13665  "tool called <command>wiggle</command> <citation>web:wiggle</citation>, which "
 1.13666 @@ -14379,7 +13464,7 @@
 1.13667  msgstr ""
 1.13668  
 1.13669  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13670 -#: ../en/ch12-mq.xml:717
 1.13671 +#: ../en/ch11-mq.xml:718
 1.13672  msgid ""
 1.13673  "Another Linux kernel hacker, Chris Mason (the author of Mercurial Queues), "
 1.13674  "wrote a similar tool called <command>mpatch</command> <citation>web:mpatch</"
 1.13675 @@ -14389,31 +13474,31 @@
 1.13676  msgstr ""
 1.13677  
 1.13678  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13679 -#: ../en/ch12-mq.xml:726
 1.13680 +#: ../en/ch11-mq.xml:727
 1.13681  msgid "The context in the middle of a hunk has changed."
 1.13682  msgstr ""
 1.13683  
 1.13684  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13685 -#: ../en/ch12-mq.xml:729
 1.13686 +#: ../en/ch11-mq.xml:730
 1.13687  msgid "A hunk is missing some context at the beginning or end."
 1.13688  msgstr ""
 1.13689  
 1.13690  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13691 -#: ../en/ch12-mq.xml:732
 1.13692 +#: ../en/ch11-mq.xml:733
 1.13693  msgid ""
 1.13694  "A large hunk might apply better&emdash;either entirely or in part&emdash;if "
 1.13695  "it was broken up into smaller hunks."
 1.13696  msgstr ""
 1.13697  
 1.13698  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.13699 -#: ../en/ch12-mq.xml:736
 1.13700 +#: ../en/ch11-mq.xml:737
 1.13701  msgid ""
 1.13702  "A hunk removes lines with slightly different content than those currently "
 1.13703  "present in the file."
 1.13704  msgstr ""
 1.13705  
 1.13706  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.13707 -#: ../en/ch12-mq.xml:740
 1.13708 +#: ../en/ch11-mq.xml:741
 1.13709  msgid ""
 1.13710  "If you use <command>wiggle</command> or <command>mpatch</command>, you should "
 1.13711  "be doubly careful to check your results when you're done.  In fact, "
 1.13712 @@ -14423,12 +13508,12 @@
 1.13713  msgstr ""
 1.13714  
 1.13715  #. type: Content of: <book><chapter><sect1><title>
 1.13716 -#: ../en/ch12-mq.xml:752
 1.13717 +#: ../en/ch11-mq.xml:753
 1.13718  msgid "Getting the best performance out of MQ"
 1.13719  msgstr "MQ 的性能"
 1.13720  
 1.13721  #. type: Content of: <book><chapter><sect1><para>
 1.13722 -#: ../en/ch12-mq.xml:754
 1.13723 +#: ../en/ch11-mq.xml:755
 1.13724  msgid ""
 1.13725  "MQ is very efficient at handling a large number of patches.  I ran some "
 1.13726  "performance experiments in mid-2006 for a talk that I gave at the 2006 "
 1.13727 @@ -14439,7 +13524,7 @@
 1.13728  msgstr ""
 1.13729  
 1.13730  #. type: Content of: <book><chapter><sect1><para>
 1.13731 -#: ../en/ch12-mq.xml:763
 1.13732 +#: ../en/ch11-mq.xml:764
 1.13733  msgid ""
 1.13734  "On my old, slow laptop, I was able to <command role=\"hg-cmd\">hg qpush "
 1.13735  "<option role=\"hg-ext-mq-cmd-qpush-opt\">hg -a</option></command> all 1,738 "
 1.13736 @@ -14451,14 +13536,14 @@
 1.13737  msgstr ""
 1.13738  
 1.13739  #. type: Content of: <book><chapter><sect1><para>
 1.13740 -#: ../en/ch12-mq.xml:774
 1.13741 +#: ../en/ch11-mq.xml:775
 1.13742  msgid ""
 1.13743  "Clearly, MQ is well suited to working in large trees, but there are a few "
 1.13744  "tricks you can use to get the best performance of it."
 1.13745  msgstr ""
 1.13746  
 1.13747  #. type: Content of: <book><chapter><sect1><para>
 1.13748 -#: ../en/ch12-mq.xml:778
 1.13749 +#: ../en/ch11-mq.xml:779
 1.13750  msgid ""
 1.13751  "First of all, try to <quote>batch</quote> operations together.  Every time "
 1.13752  "you run <command role=\"hg-ext-mq\">qpush</command> or <command role=\"hg-ext-"
 1.13753 @@ -14470,7 +13555,7 @@
 1.13754  msgstr ""
 1.13755  
 1.13756  #. type: Content of: <book><chapter><sect1><para>
 1.13757 -#: ../en/ch12-mq.xml:789
 1.13758 +#: ../en/ch11-mq.xml:790
 1.13759  msgid ""
 1.13760  "The <command role=\"hg-ext-mq\">qpush</command> and <command role=\"hg-ext-mq"
 1.13761  "\">qpop</command> commands allow you to push and pop multiple patches at a "
 1.13762 @@ -14482,7 +13567,7 @@
 1.13763  msgstr ""
 1.13764  
 1.13765  #. type: Content of: <book><chapter><sect1><para>
 1.13766 -#: ../en/ch12-mq.xml:799
 1.13767 +#: ../en/ch11-mq.xml:800
 1.13768  msgid ""
 1.13769  "You can identify a destination patch using either the name of the patch, or "
 1.13770  "by number.  If you use numeric addressing, patches are counted from zero; "
 1.13771 @@ -14490,12 +13575,12 @@
 1.13772  msgstr ""
 1.13773  
 1.13774  #. type: Content of: <book><chapter><sect1><title>
 1.13775 -#: ../en/ch12-mq.xml:806
 1.13776 +#: ../en/ch11-mq.xml:807
 1.13777  msgid "Updating your patches when the underlying code changes"
 1.13778  msgstr "当基础代码改变时,更新补丁的方法"
 1.13779  
 1.13780  #. type: Content of: <book><chapter><sect1><para>
 1.13781 -#: ../en/ch12-mq.xml:809
 1.13782 +#: ../en/ch11-mq.xml:810
 1.13783  msgid ""
 1.13784  "It's common to have a stack of patches on top of an underlying repository "
 1.13785  "that you don't modify directly.  If you're working on changes to third-party "
 1.13786 @@ -14506,7 +13591,7 @@
 1.13787  msgstr ""
 1.13788  
 1.13789  #. type: Content of: <book><chapter><sect1><para>
 1.13790 -#: ../en/ch12-mq.xml:818
 1.13791 +#: ../en/ch11-mq.xml:819
 1.13792  msgid ""
 1.13793  "The simplest way to do this is to <command role=\"hg-cmd\">hg qpop <option "
 1.13794  "role=\"hg-ext-mq-cmd-qpop-opt\">hg -a</option></command> your patches, then "
 1.13795 @@ -14520,7 +13605,7 @@
 1.13796  msgstr ""
 1.13797  
 1.13798  #. type: Content of: <book><chapter><sect1><para>
 1.13799 -#: ../en/ch12-mq.xml:830
 1.13800 +#: ../en/ch11-mq.xml:831
 1.13801  msgid ""
 1.13802  "This approach is easy to use and works well if you don't expect changes to "
 1.13803  "the underlying code to affect how well your patches apply. If your patch "
 1.13804 @@ -14530,7 +13615,7 @@
 1.13805  msgstr ""
 1.13806  
 1.13807  #. type: Content of: <book><chapter><sect1><para>
 1.13808 -#: ../en/ch12-mq.xml:837
 1.13809 +#: ../en/ch11-mq.xml:838
 1.13810  msgid ""
 1.13811  "It's possible to partially automate the rebasing process.  If your patches "
 1.13812  "apply cleanly against some revision of the underlying repo, MQ can use this "
 1.13813 @@ -14539,19 +13624,19 @@
 1.13814  msgstr ""
 1.13815  
 1.13816  #. type: Content of: <book><chapter><sect1><para>
 1.13817 -#: ../en/ch12-mq.xml:843
 1.13818 +#: ../en/ch11-mq.xml:844
 1.13819  msgid "The process is a little involved."
 1.13820  msgstr ""
 1.13821  
 1.13822  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.13823 -#: ../en/ch12-mq.xml:845
 1.13824 +#: ../en/ch11-mq.xml:846
 1.13825  msgid ""
 1.13826  "To begin, <command role=\"hg-cmd\">hg qpush -a</command> all of your patches "
 1.13827  "on top of the revision where you know that they apply cleanly."
 1.13828  msgstr ""
 1.13829  
 1.13830  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.13831 -#: ../en/ch12-mq.xml:849
 1.13832 +#: ../en/ch11-mq.xml:850
 1.13833  msgid ""
 1.13834  "Save a backup copy of your patch directory using <command role=\"hg-cmd\">hg "
 1.13835  "qsave <option role=\"hg-ext-mq-cmd-qsave-opt\">hg -e</option> <option role="
 1.13836 @@ -14566,7 +13651,7 @@
 1.13837  msgstr ""
 1.13838  
 1.13839  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.13840 -#: ../en/ch12-mq.xml:863
 1.13841 +#: ../en/ch11-mq.xml:864
 1.13842  msgid ""
 1.13843  "Use <command role=\"hg-cmd\">hg pull</command> to bring new changes into the "
 1.13844  "underlying repository.  (Don't run <command role=\"hg-cmd\">hg pull -u</"
 1.13845 @@ -14574,7 +13659,7 @@
 1.13846  msgstr ""
 1.13847  
 1.13848  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.13849 -#: ../en/ch12-mq.xml:868
 1.13850 +#: ../en/ch11-mq.xml:869
 1.13851  msgid ""
 1.13852  "Update to the new tip revision, using <command role=\"hg-cmd\">hg update "
 1.13853  "<option role=\"hg-opt-update\">-C</option></command> to override the patches "
 1.13854 @@ -14582,17 +13667,16 @@
 1.13855  msgstr ""
 1.13856  
 1.13857  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.13858 -#: ../en/ch12-mq.xml:873
 1.13859 -msgid ""
 1.13860 -"Merge all patches using \\hgcmdargs{qpush}{<option role=\"hg-ext-mq-cmd-qpush-"
 1.13861 -"opt\">hg -m</option> <option role=\"hg-ext-mq-cmd-qpush-opt\">hg -a</"
 1.13862 -"option>}.  The <option role=\"hg-ext-mq-cmd-qpush-opt\">hg -m</option> option "
 1.13863 -"to <command role=\"hg-ext-mq\">qpush</command> tells MQ to perform a three-"
 1.13864 -"way merge if the patch fails to apply."
 1.13865 -msgstr ""
 1.13866 -
 1.13867 -#. type: Content of: <book><chapter><sect1><para>
 1.13868 -#: ../en/ch12-mq.xml:883
 1.13869 +#: ../en/ch11-mq.xml:874
 1.13870 +msgid ""
 1.13871 +"Merge all patches using <command>hg qpush -m -a</command>.  The <option role="
 1.13872 +"\"hg-ext-mq-cmd-qpush-opt\">-m</option> option to <command role=\"hg-ext-mq"
 1.13873 +"\">qpush</command> tells MQ to perform a three-way merge if the patch fails "
 1.13874 +"to apply."
 1.13875 +msgstr ""
 1.13876 +
 1.13877 +#. type: Content of: <book><chapter><sect1><para>
 1.13878 +#: ../en/ch11-mq.xml:882
 1.13879  msgid ""
 1.13880  "During the <command role=\"hg-cmd\">hg qpush <option role=\"hg-ext-mq-cmd-"
 1.13881  "qpush-opt\">hg -m</option></command>, each patch in the <filename role="
 1.13882 @@ -14604,14 +13688,14 @@
 1.13883  msgstr ""
 1.13884  
 1.13885  #. type: Content of: <book><chapter><sect1><para>
 1.13886 -#: ../en/ch12-mq.xml:893
 1.13887 +#: ../en/ch11-mq.xml:892
 1.13888  msgid ""
 1.13889  "When you finish resolving the effects of a patch, MQ refreshes your patch "
 1.13890  "based on the result of the merge."
 1.13891  msgstr ""
 1.13892  
 1.13893  #. type: Content of: <book><chapter><sect1><para>
 1.13894 -#: ../en/ch12-mq.xml:896
 1.13895 +#: ../en/ch11-mq.xml:895
 1.13896  msgid ""
 1.13897  "At the end of this process, your repository will have one extra head from the "
 1.13898  "old patch queue, and a copy of the old patch queue will be in <filename role="
 1.13899 @@ -14623,12 +13707,12 @@
 1.13900  msgstr ""
 1.13901  
 1.13902  #. type: Content of: <book><chapter><sect1><title>
 1.13903 -#: ../en/ch12-mq.xml:908
 1.13904 +#: ../en/ch11-mq.xml:907
 1.13905  msgid "Identifying patches"
 1.13906  msgstr "标识补丁"
 1.13907  
 1.13908  #. type: Content of: <book><chapter><sect1><para>
 1.13909 -#: ../en/ch12-mq.xml:910
 1.13910 +#: ../en/ch11-mq.xml:909
 1.13911  msgid ""
 1.13912  "MQ commands that work with patches let you refer to a patch either by using "
 1.13913  "its name or by a number.  By name is obvious enough; pass the name "
 1.13914 @@ -14638,7 +13722,7 @@
 1.13915  msgstr ""
 1.13916  
 1.13917  #. type: Content of: <book><chapter><sect1><para>
 1.13918 -#: ../en/ch12-mq.xml:917
 1.13919 +#: ../en/ch11-mq.xml:916
 1.13920  msgid ""
 1.13921  "As a shortcut, you can refer to a patch using both a name and a numeric "
 1.13922  "offset; <literal>foo.patch-2</literal> means <quote>two patches before "
 1.13923 @@ -14647,7 +13731,7 @@
 1.13924  msgstr ""
 1.13925  
 1.13926  #. type: Content of: <book><chapter><sect1><para>
 1.13927 -#: ../en/ch12-mq.xml:923
 1.13928 +#: ../en/ch11-mq.xml:922
 1.13929  msgid ""
 1.13930  "Referring to a patch by index isn't much different.  The first patch printed "
 1.13931  "in the output of <command role=\"hg-ext-mq\">qseries</command> is patch zero "
 1.13932 @@ -14656,51 +13740,45 @@
 1.13933  msgstr ""
 1.13934  
 1.13935  #. type: Content of: <book><chapter><sect1><para>
 1.13936 -#: ../en/ch12-mq.xml:929
 1.13937 +#: ../en/ch11-mq.xml:928
 1.13938  msgid ""
 1.13939  "MQ also makes it easy to work with patches when you are using normal "
 1.13940  "Mercurial commands.  Every command that accepts a changeset ID will also "
 1.13941  "accept the name of an applied patch.  MQ augments the tags normally in the "
 1.13942  "repository with an eponymous one for each applied patch.  In addition, the "
 1.13943 -"special tags \\index{tags!special tag names!<literal>qbase</literal>}"
 1.13944 -"<literal>qbase</literal> and \\index{tags!special tag names!<literal>qtip</"
 1.13945 -"literal>}<literal>qtip</literal> identify the <quote>bottom-most</quote> and "
 1.13946 -"topmost applied patches, respectively."
 1.13947 -msgstr ""
 1.13948 -
 1.13949 -#. type: Content of: <book><chapter><sect1><para>
 1.13950 -#: ../en/ch12-mq.xml:941
 1.13951 +"special tags <literal role=\"tag\">qbase</literal> and <literal role=\"tag"
 1.13952 +"\">qtip</literal> identify the <quote>bottom-most</quote> and topmost applied "
 1.13953 +"patches, respectively."
 1.13954 +msgstr ""
 1.13955 +
 1.13956 +#. type: Content of: <book><chapter><sect1><para>
 1.13957 +#: ../en/ch11-mq.xml:938
 1.13958  msgid ""
 1.13959  "These additions to Mercurial's normal tagging capabilities make dealing with "
 1.13960  "patches even more of a breeze."
 1.13961  msgstr ""
 1.13962  
 1.13963  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.13964 -#: ../en/ch12-mq.xml:944
 1.13965 +#: ../en/ch11-mq.xml:941
 1.13966  msgid "Want to patchbomb a mailing list with your latest series of changes?"
 1.13967  msgstr ""
 1.13968  
 1.13969  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.13970 -#: ../en/ch12-mq.xml:948
 1.13971 +#: ../en/ch11-mq.xml:944
 1.13972  msgid ""
 1.13973  "(Don't know what <quote>patchbombing</quote> is? See section <xref linkend="
 1.13974  "\"sec.hgext.patchbomb\"/>.)"
 1.13975  msgstr ""
 1.13976  
 1.13977  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.13978 -#: ../en/ch12-mq.xml:951
 1.13979 +#: ../en/ch11-mq.xml:947
 1.13980  msgid ""
 1.13981  "Need to see all of the patches since <literal>foo.patch</literal> that have "
 1.13982  "touched files in a subdirectory of your tree?"
 1.13983  msgstr ""
 1.13984  
 1.13985 -#. type: Content of: <book><chapter><sect1><itemizedlist><listitem><programlisting><emphasis>
 1.13986 -#: ../en/ch12-mq.xml:955
 1.13987 -msgid "subdir"
 1.13988 -msgstr ""
 1.13989 -
 1.13990 -#. type: Content of: <book><chapter><sect1><para>
 1.13991 -#: ../en/ch12-mq.xml:960
 1.13992 +#. type: Content of: <book><chapter><sect1><para>
 1.13993 +#: ../en/ch11-mq.xml:954
 1.13994  msgid ""
 1.13995  "Because MQ makes the names of patches available to the rest of Mercurial "
 1.13996  "through its normal internal tag machinery, you don't need to type in the "
 1.13997 @@ -14708,7 +13786,7 @@
 1.13998  msgstr ""
 1.13999  
 1.14000  #. type: Content of: <book><chapter><sect1><para>
 1.14001 -#: ../en/ch12-mq.xml:965
 1.14002 +#: ../en/ch11-mq.xml:959
 1.14003  msgid ""
 1.14004  "Another nice consequence of representing patch names as tags is that when you "
 1.14005  "run the <command role=\"hg-cmd\">hg log</command> command, it will display a "
 1.14006 @@ -14719,19 +13797,19 @@
 1.14007  msgstr ""
 1.14008  
 1.14009  #. type: Content of: <book><chapter><sect1><title>
 1.14010 -#: ../en/ch12-mq.xml:978
 1.14011 +#: ../en/ch11-mq.xml:972
 1.14012  msgid "Useful things to know about"
 1.14013  msgstr "其它需要了解的东西"
 1.14014  
 1.14015  #. type: Content of: <book><chapter><sect1><para>
 1.14016 -#: ../en/ch12-mq.xml:980
 1.14017 +#: ../en/ch11-mq.xml:974
 1.14018  msgid ""
 1.14019  "There are a number of aspects of MQ usage that don't fit tidily into sections "
 1.14020  "of their own, but that are good to know.  Here they are, in one place."
 1.14021  msgstr ""
 1.14022  
 1.14023  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14024 -#: ../en/ch12-mq.xml:985
 1.14025 +#: ../en/ch11-mq.xml:979
 1.14026  msgid ""
 1.14027  "Normally, when you <command role=\"hg-ext-mq\">qpop</command> a patch and "
 1.14028  "<command role=\"hg-ext-mq\">qpush</command> it again, the changeset that "
 1.14029 @@ -14742,7 +13820,7 @@
 1.14030  msgstr ""
 1.14031  
 1.14032  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14033 -#: ../en/ch12-mq.xml:994
 1.14034 +#: ../en/ch11-mq.xml:988
 1.14035  msgid ""
 1.14036  "It's not a good idea to <command role=\"hg-cmd\">hg merge</command> changes "
 1.14037  "from another branch with a patch changeset, at least if you want to maintain "
 1.14038 @@ -14752,12 +13830,12 @@
 1.14039  msgstr ""
 1.14040  
 1.14041  #. type: Content of: <book><chapter><sect1><title>
 1.14042 -#: ../en/ch12-mq.xml:1005
 1.14043 +#: ../en/ch11-mq.xml:999
 1.14044  msgid "Managing patches in a repository"
 1.14045  msgstr "在版本库管理补丁"
 1.14046  
 1.14047  #. type: Content of: <book><chapter><sect1><para>
 1.14048 -#: ../en/ch12-mq.xml:1007
 1.14049 +#: ../en/ch11-mq.xml:1001
 1.14050  msgid ""
 1.14051  "Because MQ's <filename role=\"special\" class=\"directory\">.hg/patches</"
 1.14052  "filename> directory resides outside a Mercurial repository's working "
 1.14053 @@ -14766,7 +13844,7 @@
 1.14054  msgstr ""
 1.14055  
 1.14056  #. type: Content of: <book><chapter><sect1><para>
 1.14057 -#: ../en/ch12-mq.xml:1013
 1.14058 +#: ../en/ch11-mq.xml:1007
 1.14059  msgid ""
 1.14060  "This presents the interesting possibility of managing the contents of the "
 1.14061  "patch directory as a Mercurial repository in its own right.  This can be a "
 1.14062 @@ -14777,7 +13855,7 @@
 1.14063  msgstr ""
 1.14064  
 1.14065  #. type: Content of: <book><chapter><sect1><para>
 1.14066 -#: ../en/ch12-mq.xml:1022
 1.14067 +#: ../en/ch11-mq.xml:1016
 1.14068  msgid ""
 1.14069  "You can then share different versions of the same patch stack among multiple "
 1.14070  "underlying repositories.  I use this when I am developing a Linux kernel "
 1.14071 @@ -14789,7 +13867,7 @@
 1.14072  msgstr ""
 1.14073  
 1.14074  #. type: Content of: <book><chapter><sect1><para>
 1.14075 -#: ../en/ch12-mq.xml:1032
 1.14076 +#: ../en/ch11-mq.xml:1026
 1.14077  msgid ""
 1.14078  "Managing patches in a repository makes it possible for multiple developers to "
 1.14079  "work on the same patch series without colliding with each other, all on top "
 1.14080 @@ -14797,12 +13875,12 @@
 1.14081  msgstr ""
 1.14082  
 1.14083  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.14084 -#: ../en/ch12-mq.xml:1038
 1.14085 +#: ../en/ch11-mq.xml:1032
 1.14086  msgid "MQ support for patch repositories"
 1.14087  msgstr "MQ 支持补丁版本库"
 1.14088  
 1.14089  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14090 -#: ../en/ch12-mq.xml:1040
 1.14091 +#: ../en/ch11-mq.xml:1034
 1.14092  msgid ""
 1.14093  "MQ helps you to work with the <filename role=\"special\" class=\"directory\">."
 1.14094  "hg/patches</filename> directory as a repository; when you prepare a "
 1.14095 @@ -14813,7 +13891,7 @@
 1.14096  msgstr ""
 1.14097  
 1.14098  #. type: Content of: <book><chapter><sect1><sect2><note><para>
 1.14099 -#: ../en/ch12-mq.xml:1050
 1.14100 +#: ../en/ch11-mq.xml:1044
 1.14101  msgid ""
 1.14102  "If you forget to use the <option role=\"hg-ext-mq-cmd-qinit-opt\">hg -c</"
 1.14103  "option> option, you can simply go into the <filename role=\"special\" class="
 1.14104 @@ -14824,7 +13902,7 @@
 1.14105  msgstr ""
 1.14106  
 1.14107  #. type: Content of: <book><chapter><sect1><sect2><note><para>
 1.14108 -#: ../en/ch12-mq.xml:1059
 1.14109 +#: ../en/ch11-mq.xml:1053
 1.14110  msgid ""
 1.14111  "(<command role=\"hg-cmd\">hg qinit <option role=\"hg-ext-mq-cmd-qinit-opt"
 1.14112  "\">hg -c</option></command> does this for you automatically); you "
 1.14113 @@ -14833,7 +13911,7 @@
 1.14114  msgstr ""
 1.14115  
 1.14116  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14117 -#: ../en/ch12-mq.xml:1066
 1.14118 +#: ../en/ch11-mq.xml:1060
 1.14119  msgid ""
 1.14120  "As a convenience, if MQ notices that the <filename class=\"directory\">.hg/"
 1.14121  "patches</filename> directory is a repository, it will automatically <command "
 1.14122 @@ -14841,7 +13919,7 @@
 1.14123  msgstr ""
 1.14124  
 1.14125  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14126 -#: ../en/ch12-mq.xml:1071
 1.14127 +#: ../en/ch11-mq.xml:1065
 1.14128  msgid ""
 1.14129  "MQ provides a shortcut command, <command role=\"hg-ext-mq\">qcommit</"
 1.14130  "command>, that runs <command role=\"hg-cmd\">hg commit</command> in the "
 1.14131 @@ -14850,7 +13928,7 @@
 1.14132  msgstr ""
 1.14133  
 1.14134  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14135 -#: ../en/ch12-mq.xml:1077
 1.14136 +#: ../en/ch11-mq.xml:1071
 1.14137  msgid ""
 1.14138  "Finally, as a convenience to manage the patch directory, you can define the "
 1.14139  "alias <command>mq</command> on Unix systems. For example, on Linux systems "
 1.14140 @@ -14859,26 +13937,26 @@
 1.14141  msgstr ""
 1.14142  
 1.14143  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14144 -#: ../en/ch12-mq.xml:1087
 1.14145 +#: ../en/ch11-mq.xml:1080
 1.14146  msgid ""
 1.14147  "You can then issue commands of the form <command>mq pull</command> from the "
 1.14148  "main repository."
 1.14149  msgstr ""
 1.14150  
 1.14151  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.14152 -#: ../en/ch12-mq.xml:1092
 1.14153 +#: ../en/ch11-mq.xml:1085
 1.14154  msgid "A few things to watch out for"
 1.14155  msgstr "需要注意的事情"
 1.14156  
 1.14157  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14158 -#: ../en/ch12-mq.xml:1094
 1.14159 +#: ../en/ch11-mq.xml:1087
 1.14160  msgid ""
 1.14161  "MQ's support for working with a repository full of patches is limited in a "
 1.14162  "few small respects."
 1.14163  msgstr ""
 1.14164  
 1.14165  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14166 -#: ../en/ch12-mq.xml:1097
 1.14167 +#: ../en/ch11-mq.xml:1090
 1.14168  msgid ""
 1.14169  "MQ cannot automatically detect changes that you make to the patch directory.  "
 1.14170  "If you <command role=\"hg-cmd\">hg pull</command>, manually edit, or <command "
 1.14171 @@ -14892,12 +13970,12 @@
 1.14172  msgstr ""
 1.14173  
 1.14174  #. type: Content of: <book><chapter><sect1><title>
 1.14175 -#: ../en/ch12-mq.xml:1113
 1.14176 +#: ../en/ch11-mq.xml:1106
 1.14177  msgid "Third party tools for working with patches"
 1.14178  msgstr "操作补丁的第三方工具"
 1.14179  
 1.14180  #. type: Content of: <book><chapter><sect1><para>
 1.14181 -#: ../en/ch12-mq.xml:1115
 1.14182 +#: ../en/ch11-mq.xml:1108
 1.14183  msgid ""
 1.14184  "Once you've been working with patches for a while, you'll find yourself "
 1.14185  "hungry for tools that will help you to understand and manipulate the patches "
 1.14186 @@ -14905,7 +13983,7 @@
 1.14187  msgstr ""
 1.14188  
 1.14189  #. type: Content of: <book><chapter><sect1><para>
 1.14190 -#: ../en/ch12-mq.xml:1119
 1.14191 +#: ../en/ch11-mq.xml:1112
 1.14192  msgid ""
 1.14193  "The <command>diffstat</command> command <citation>web:diffstat</citation> "
 1.14194  "generates a histogram of the modifications made to each file in a patch.  It "
 1.14195 @@ -14918,7 +13996,7 @@
 1.14196  msgstr ""
 1.14197  
 1.14198  #. type: Content of: <book><chapter><sect1><para>
 1.14199 -#: ../en/ch12-mq.xml:1133
 1.14200 +#: ../en/ch11-mq.xml:1126
 1.14201  msgid ""
 1.14202  "The <literal role=\"package\">patchutils</literal> package <citation>web:"
 1.14203  "patchutils</citation> is invaluable. It provides a set of small utilities "
 1.14204 @@ -14933,12 +14011,12 @@
 1.14205  msgstr ""
 1.14206  
 1.14207  #. type: Content of: <book><chapter><sect1><title>
 1.14208 -#: ../en/ch12-mq.xml:1149
 1.14209 +#: ../en/ch11-mq.xml:1142
 1.14210  msgid "Good ways to work with patches"
 1.14211  msgstr "操作补丁的好习惯"
 1.14212  
 1.14213  #. type: Content of: <book><chapter><sect1><para>
 1.14214 -#: ../en/ch12-mq.xml:1151
 1.14215 +#: ../en/ch11-mq.xml:1144
 1.14216  msgid ""
 1.14217  "Whether you are working on a patch series to submit to a free software or "
 1.14218  "open source project, or a series that you intend to treat as a sequence of "
 1.14219 @@ -14947,7 +14025,7 @@
 1.14220  msgstr ""
 1.14221  
 1.14222  #. type: Content of: <book><chapter><sect1><para>
 1.14223 -#: ../en/ch12-mq.xml:1157
 1.14224 +#: ../en/ch11-mq.xml:1150
 1.14225  msgid ""
 1.14226  "Give your patches descriptive names.  A good name for a patch might be "
 1.14227  "<filename>rework-device-alloc.patch</filename>, because it will immediately "
 1.14228 @@ -14961,7 +14039,7 @@
 1.14229  msgstr ""
 1.14230  
 1.14231  #. type: Content of: <book><chapter><sect1><para>
 1.14232 -#: ../en/ch12-mq.xml:1169
 1.14233 +#: ../en/ch11-mq.xml:1162
 1.14234  msgid ""
 1.14235  "Be aware of what patch you're working on.  Use the <command role=\"hg-ext-mq"
 1.14236  "\">qtop</command> command and skim over the text of your patches "
 1.14237 @@ -14974,7 +14052,7 @@
 1.14238  msgstr ""
 1.14239  
 1.14240  #. type: Content of: <book><chapter><sect1><para>
 1.14241 -#: ../en/ch12-mq.xml:1179
 1.14242 +#: ../en/ch11-mq.xml:1172
 1.14243  msgid ""
 1.14244  "For this reason, it is very much worth investing a little time to learn how "
 1.14245  "to use some of the third-party tools I described in section <xref linkend="
 1.14246 @@ -14985,17 +14063,17 @@
 1.14247  msgstr ""
 1.14248  
 1.14249  #. type: Content of: <book><chapter><sect1><title>
 1.14250 -#: ../en/ch12-mq.xml:1190
 1.14251 +#: ../en/ch11-mq.xml:1183
 1.14252  msgid "MQ cookbook"
 1.14253  msgstr "MQ 手册"
 1.14254  
 1.14255  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.14256 -#: ../en/ch12-mq.xml:1193
 1.14257 +#: ../en/ch11-mq.xml:1186
 1.14258  msgid "Manage <quote>trivial</quote> patches"
 1.14259  msgstr "管理<quote>琐碎的</quote>补丁"
 1.14260  
 1.14261  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14262 -#: ../en/ch12-mq.xml:1195
 1.14263 +#: ../en/ch11-mq.xml:1188
 1.14264  msgid ""
 1.14265  "Because the overhead of dropping files into a new Mercurial repository is so "
 1.14266  "low, it makes a lot of sense to manage patches this way even if you simply "
 1.14267 @@ -15004,26 +14082,26 @@
 1.14268  
 1.14269  #
 1.14270  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14271 -#: ../en/ch12-mq.xml:1200
 1.14272 +#: ../en/ch11-mq.xml:1193
 1.14273  msgid ""
 1.14274  "Begin by downloading and unpacking the source tarball, and turning it into a "
 1.14275  "Mercurial repository."
 1.14276  msgstr ""
 1.14277  
 1.14278  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14279 -#: ../en/ch12-mq.xml:1205
 1.14280 +#: ../en/ch11-mq.xml:1198
 1.14281  msgid "Continue by creating a patch stack and making your changes."
 1.14282  msgstr ""
 1.14283  
 1.14284  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14285 -#: ../en/ch12-mq.xml:1210
 1.14286 +#: ../en/ch11-mq.xml:1203
 1.14287  msgid ""
 1.14288  "Let's say a few weeks or months pass, and your package author releases a new "
 1.14289  "version.  First, bring their changes into the repository."
 1.14290  msgstr ""
 1.14291  
 1.14292  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14293 -#: ../en/ch12-mq.xml:1216
 1.14294 +#: ../en/ch11-mq.xml:1209
 1.14295  msgid ""
 1.14296  "The pipeline starting with <command role=\"hg-cmd\">hg locate</command> above "
 1.14297  "deletes all files in the working directory, so that <command role=\"hg-cmd"
 1.14298 @@ -15033,17 +14111,17 @@
 1.14299  msgstr ""
 1.14300  
 1.14301  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14302 -#: ../en/ch12-mq.xml:1224
 1.14303 +#: ../en/ch11-mq.xml:1217
 1.14304  msgid "Finally, you can apply your patches on top of the new tree."
 1.14305  msgstr ""
 1.14306  
 1.14307  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.14308 -#: ../en/ch12-mq.xml:1231
 1.14309 +#: ../en/ch11-mq.xml:1224
 1.14310  msgid "Combining entire patches"
 1.14311  msgstr "组合全部的补丁"
 1.14312  
 1.14313  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14314 -#: ../en/ch12-mq.xml:1233
 1.14315 +#: ../en/ch11-mq.xml:1226
 1.14316  msgid ""
 1.14317  "MQ provides a command, <command role=\"hg-ext-mq\">qfold</command> that lets "
 1.14318  "you combine entire patches.  This <quote>folds</quote> the patches you name, "
 1.14319 @@ -15053,7 +14131,7 @@
 1.14320  msgstr ""
 1.14321  
 1.14322  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14323 -#: ../en/ch12-mq.xml:1241
 1.14324 +#: ../en/ch11-mq.xml:1234
 1.14325  msgid ""
 1.14326  "The order in which you fold patches matters.  If your topmost applied patch "
 1.14327  "is <literal>foo</literal>, and you <command role=\"hg-ext-mq\">qfold</"
 1.14328 @@ -15064,19 +14142,19 @@
 1.14329  msgstr ""
 1.14330  
 1.14331  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.14332 -#: ../en/ch12-mq.xml:1252
 1.14333 +#: ../en/ch11-mq.xml:1245
 1.14334  msgid "Merging part of one patch into another"
 1.14335  msgstr "合并补丁的部分内容到其它补丁"
 1.14336  
 1.14337  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14338 -#: ../en/ch12-mq.xml:1254
 1.14339 +#: ../en/ch11-mq.xml:1247
 1.14340  msgid ""
 1.14341  "Merging <emphasis>part</emphasis> of one patch into another is more difficult "
 1.14342  "than combining entire patches."
 1.14343  msgstr ""
 1.14344  
 1.14345  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14346 -#: ../en/ch12-mq.xml:1258
 1.14347 +#: ../en/ch11-mq.xml:1251
 1.14348  msgid ""
 1.14349  "If you want to move changes to entire files, you can use <command>filterdiff</"
 1.14350  "command>'s <option role=\"cmd-opt-filterdiff\">-i</option> and <option role="
 1.14351 @@ -15090,7 +14168,7 @@
 1.14352  msgstr ""
 1.14353  
 1.14354  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14355 -#: ../en/ch12-mq.xml:1271
 1.14356 +#: ../en/ch11-mq.xml:1264
 1.14357  msgid ""
 1.14358  "If you have a patch that has multiple hunks modifying a file, and you only "
 1.14359  "want to move a few of those hunks, the job becomes more messy, but you can "
 1.14360 @@ -15099,32 +14177,32 @@
 1.14361  msgstr ""
 1.14362  
 1.14363  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14364 -#: ../en/ch12-mq.xml:1279
 1.14365 +#: ../en/ch11-mq.xml:1272
 1.14366  msgid "This command prints three different kinds of number:"
 1.14367  msgstr ""
 1.14368  
 1.14369  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.14370 -#: ../en/ch12-mq.xml:1282
 1.14371 +#: ../en/ch11-mq.xml:1275
 1.14372  msgid ""
 1.14373  "(in the first column) a <emphasis>file number</emphasis> to identify each "
 1.14374  "file modified in the patch;"
 1.14375  msgstr ""
 1.14376  
 1.14377  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.14378 -#: ../en/ch12-mq.xml:1286
 1.14379 +#: ../en/ch11-mq.xml:1279
 1.14380  msgid ""
 1.14381  "(on the next line, indented) the line number within a modified file where a "
 1.14382  "hunk starts; and"
 1.14383  msgstr ""
 1.14384  
 1.14385  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.14386 -#: ../en/ch12-mq.xml:1289
 1.14387 +#: ../en/ch11-mq.xml:1282
 1.14388  msgid ""
 1.14389  "(on the same line) a <emphasis>hunk number</emphasis> to identify that hunk."
 1.14390  msgstr ""
 1.14391  
 1.14392  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14393 -#: ../en/ch12-mq.xml:1293
 1.14394 +#: ../en/ch11-mq.xml:1286
 1.14395  msgid ""
 1.14396  "You'll have to use some visual inspection, and reading of the patch, to "
 1.14397  "identify the file and hunk numbers you'll want, but you can then pass them to "
 1.14398 @@ -15134,7 +14212,7 @@
 1.14399  msgstr ""
 1.14400  
 1.14401  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14402 -#: ../en/ch12-mq.xml:1301
 1.14403 +#: ../en/ch11-mq.xml:1294
 1.14404  msgid ""
 1.14405  "Once you have this hunk, you can concatenate it onto the end of your "
 1.14406  "destination patch and continue with the remainder of section <xref linkend="
 1.14407 @@ -15142,19 +14220,19 @@
 1.14408  msgstr ""
 1.14409  
 1.14410  #. type: Content of: <book><chapter><sect1><title>
 1.14411 -#: ../en/ch12-mq.xml:1308
 1.14412 +#: ../en/ch11-mq.xml:1301
 1.14413  msgid "Differences between quilt and MQ"
 1.14414  msgstr "MQ 与 quilt 的区别"
 1.14415  
 1.14416  #. type: Content of: <book><chapter><sect1><para>
 1.14417 -#: ../en/ch12-mq.xml:1310
 1.14418 +#: ../en/ch11-mq.xml:1303
 1.14419  msgid ""
 1.14420  "If you are already familiar with quilt, MQ provides a similar command set.  "
 1.14421  "There are a few differences in the way that it works."
 1.14422  msgstr ""
 1.14423  
 1.14424  #. type: Content of: <book><chapter><sect1><para>
 1.14425 -#: ../en/ch12-mq.xml:1314
 1.14426 +#: ../en/ch11-mq.xml:1307
 1.14427  msgid ""
 1.14428  "You will already have noticed that most quilt commands have MQ counterparts "
 1.14429  "that simply begin with a <quote><literal>q</literal></quote>.  The exceptions "
 1.14430 @@ -15166,12 +14244,12 @@
 1.14431  msgstr ""
 1.14432  
 1.14433  #. type: Content of: <book><chapter><title>
 1.14434 -#: ../en/ch13-mq-collab.xml:5
 1.14435 +#: ../en/ch12-mq-collab.xml:5
 1.14436  msgid "Advanced uses of Mercurial Queues"
 1.14437  msgstr "MQ 的高级用法"
 1.14438  
 1.14439  #. type: Content of: <book><chapter><para>
 1.14440 -#: ../en/ch13-mq-collab.xml:7
 1.14441 +#: ../en/ch12-mq-collab.xml:7
 1.14442  msgid ""
 1.14443  "While it's easy to pick up straightforward uses of Mercurial Queues, use of a "
 1.14444  "little discipline and some of MQ's less frequently used capabilities makes it "
 1.14445 @@ -15179,7 +14257,7 @@
 1.14446  msgstr ""
 1.14447  
 1.14448  #. type: Content of: <book><chapter><para>
 1.14449 -#: ../en/ch13-mq-collab.xml:12
 1.14450 +#: ../en/ch12-mq-collab.xml:12
 1.14451  msgid ""
 1.14452  "In this chapter, I will use as an example a technique I have used to manage "
 1.14453  "the development of an Infiniband device driver for the Linux kernel.  The "
 1.14454 @@ -15189,7 +14267,7 @@
 1.14455  msgstr ""
 1.14456  
 1.14457  #. type: Content of: <book><chapter><para>
 1.14458 -#: ../en/ch13-mq-collab.xml:18
 1.14459 +#: ../en/ch12-mq-collab.xml:18
 1.14460  msgid ""
 1.14461  "While much of the material in this chapter is specific to Linux, the same "
 1.14462  "principles apply to any code base for which you're not the primary owner, and "
 1.14463 @@ -15197,12 +14275,12 @@
 1.14464  msgstr ""
 1.14465  
 1.14466  #. type: Content of: <book><chapter><sect1><title>
 1.14467 -#: ../en/ch13-mq-collab.xml:24
 1.14468 +#: ../en/ch12-mq-collab.xml:24
 1.14469  msgid "The problem of many targets"
 1.14470  msgstr "多个目标的问题"
 1.14471  
 1.14472  #. type: Content of: <book><chapter><sect1><para>
 1.14473 -#: ../en/ch13-mq-collab.xml:26
 1.14474 +#: ../en/ch12-mq-collab.xml:26
 1.14475  msgid ""
 1.14476  "The Linux kernel changes rapidly, and has never been internally stable; "
 1.14477  "developers frequently make drastic changes between releases. This means that "
 1.14478 @@ -15212,14 +14290,14 @@
 1.14479  msgstr ""
 1.14480  
 1.14481  #. type: Content of: <book><chapter><sect1><para>
 1.14482 -#: ../en/ch13-mq-collab.xml:33
 1.14483 +#: ../en/ch12-mq-collab.xml:33
 1.14484  msgid ""
 1.14485  "To maintain a driver, we have to keep a number of distinct versions of Linux "
 1.14486  "in mind."
 1.14487  msgstr ""
 1.14488  
 1.14489  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14490 -#: ../en/ch13-mq-collab.xml:36
 1.14491 +#: ../en/ch12-mq-collab.xml:36
 1.14492  msgid ""
 1.14493  "One target is the main Linux kernel development tree. Maintenance of the code "
 1.14494  "is in this case partly shared by other developers in the kernel community, "
 1.14495 @@ -15228,7 +14306,7 @@
 1.14496  msgstr ""
 1.14497  
 1.14498  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14499 -#: ../en/ch13-mq-collab.xml:42
 1.14500 +#: ../en/ch12-mq-collab.xml:42
 1.14501  msgid ""
 1.14502  "We also maintain a number of <quote>backports</quote> to older versions of "
 1.14503  "the Linux kernel, to support the needs of customers who are running older "
 1.14504 @@ -15239,7 +14317,7 @@
 1.14505  msgstr ""
 1.14506  
 1.14507  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14508 -#: ../en/ch13-mq-collab.xml:50
 1.14509 +#: ../en/ch12-mq-collab.xml:50
 1.14510  msgid ""
 1.14511  "Finally, we make software releases on a schedule that is necessarily not "
 1.14512  "aligned with those used by Linux distributors and kernel developers, so that "
 1.14513 @@ -15248,19 +14326,19 @@
 1.14514  msgstr ""
 1.14515  
 1.14516  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.14517 -#: ../en/ch13-mq-collab.xml:58
 1.14518 +#: ../en/ch12-mq-collab.xml:58
 1.14519  msgid "Tempting approaches that don't work well"
 1.14520  msgstr "工作不好的诱人方法"
 1.14521  
 1.14522  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14523 -#: ../en/ch13-mq-collab.xml:60
 1.14524 +#: ../en/ch12-mq-collab.xml:60
 1.14525  msgid ""
 1.14526  "There are two <quote>standard</quote> ways to maintain a piece of software "
 1.14527  "that has to target many different environments."
 1.14528  msgstr ""
 1.14529  
 1.14530  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14531 -#: ../en/ch13-mq-collab.xml:64
 1.14532 +#: ../en/ch12-mq-collab.xml:64
 1.14533  msgid ""
 1.14534  "The first is to maintain a number of branches, each intended for a single "
 1.14535  "target.  The trouble with this approach is that you must maintain iron "
 1.14536 @@ -15272,7 +14350,7 @@
 1.14537  msgstr ""
 1.14538  
 1.14539  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14540 -#: ../en/ch13-mq-collab.xml:74
 1.14541 +#: ../en/ch12-mq-collab.xml:74
 1.14542  msgid ""
 1.14543  "The second is to maintain a single source tree filled with conditional "
 1.14544  "statements that turn chunks of code on or off depending on the intended "
 1.14545 @@ -15284,7 +14362,7 @@
 1.14546  msgstr ""
 1.14547  
 1.14548  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14549 -#: ../en/ch13-mq-collab.xml:83
 1.14550 +#: ../en/ch12-mq-collab.xml:83
 1.14551  msgid ""
 1.14552  "Neither of these approaches is well suited to a situation where you don't "
 1.14553  "<quote>own</quote> the canonical copy of a source tree.  In the case of a "
 1.14554 @@ -15296,14 +14374,14 @@
 1.14555  msgstr ""
 1.14556  
 1.14557  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14558 -#: ../en/ch13-mq-collab.xml:93
 1.14559 +#: ../en/ch12-mq-collab.xml:93
 1.14560  msgid ""
 1.14561  "These approaches have the added weakness of making it difficult to generate "
 1.14562  "well-formed patches to submit upstream."
 1.14563  msgstr ""
 1.14564  
 1.14565  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14566 -#: ../en/ch13-mq-collab.xml:97
 1.14567 +#: ../en/ch12-mq-collab.xml:97
 1.14568  msgid ""
 1.14569  "In principle, Mercurial Queues seems like a good candidate to manage a "
 1.14570  "development scenario such as the above.  While this is indeed the case, MQ "
 1.14571 @@ -15311,12 +14389,12 @@
 1.14572  msgstr ""
 1.14573  
 1.14574  #. type: Content of: <book><chapter><sect1><title>
 1.14575 -#: ../en/ch13-mq-collab.xml:105
 1.14576 +#: ../en/ch12-mq-collab.xml:105
 1.14577  msgid "Conditionally applying patches with guards"
 1.14578  msgstr "有条件的应用补丁"
 1.14579  
 1.14580  #. type: Content of: <book><chapter><sect1><para>
 1.14581 -#: ../en/ch13-mq-collab.xml:107
 1.14582 +#: ../en/ch12-mq-collab.xml:107
 1.14583  msgid ""
 1.14584  "Perhaps the best way to maintain sanity with so many targets is to be able to "
 1.14585  "choose specific patches to apply for a given situation.  MQ provides a "
 1.14586 @@ -15326,14 +14404,14 @@
 1.14587  msgstr ""
 1.14588  
 1.14589  #. type: Content of: <book><chapter><sect1><para>
 1.14590 -#: ../en/ch13-mq-collab.xml:116
 1.14591 +#: ../en/ch12-mq-collab.xml:116
 1.14592  msgid ""
 1.14593  "This gives us a tiny repository that contains two patches that don't have any "
 1.14594  "dependencies on each other, because they touch different files."
 1.14595  msgstr ""
 1.14596  
 1.14597  #. type: Content of: <book><chapter><sect1><para>
 1.14598 -#: ../en/ch13-mq-collab.xml:120
 1.14599 +#: ../en/ch12-mq-collab.xml:120
 1.14600  msgid ""
 1.14601  "The idea behind conditional application is that you can <quote>tag</quote> a "
 1.14602  "patch with a <emphasis>guard</emphasis>, which is simply a text string of "
 1.14603 @@ -15343,7 +14421,7 @@
 1.14604  msgstr ""
 1.14605  
 1.14606  #. type: Content of: <book><chapter><sect1><para>
 1.14607 -#: ../en/ch13-mq-collab.xml:127
 1.14608 +#: ../en/ch12-mq-collab.xml:127
 1.14609  msgid ""
 1.14610  "A patch can have an arbitrary number of guards; each one is "
 1.14611  "<emphasis>positive</emphasis> (<quote>apply this patch if this guard is "
 1.14612 @@ -15352,12 +14430,12 @@
 1.14613  msgstr ""
 1.14614  
 1.14615  #. type: Content of: <book><chapter><sect1><title>
 1.14616 -#: ../en/ch13-mq-collab.xml:135
 1.14617 +#: ../en/ch12-mq-collab.xml:135
 1.14618  msgid "Controlling the guards on a patch"
 1.14619  msgstr "控制补丁的应用条件"
 1.14620  
 1.14621  #. type: Content of: <book><chapter><sect1><para>
 1.14622 -#: ../en/ch13-mq-collab.xml:137
 1.14623 +#: ../en/ch12-mq-collab.xml:137
 1.14624  msgid ""
 1.14625  "The <command role=\"hg-ext-mq\">qguard</command> command lets you determine "
 1.14626  "which guards should apply to a patch, or display the guards that are already "
 1.14627 @@ -15366,21 +14444,21 @@
 1.14628  msgstr ""
 1.14629  
 1.14630  #. type: Content of: <book><chapter><sect1><para>
 1.14631 -#: ../en/ch13-mq-collab.xml:144
 1.14632 +#: ../en/ch12-mq-collab.xml:144
 1.14633  msgid ""
 1.14634  "To set a positive guard on a patch, prefix the name of the guard with a "
 1.14635  "<quote><literal>+</literal></quote>."
 1.14636  msgstr ""
 1.14637  
 1.14638  #. type: Content of: <book><chapter><sect1><para>
 1.14639 -#: ../en/ch13-mq-collab.xml:149
 1.14640 +#: ../en/ch12-mq-collab.xml:149
 1.14641  msgid ""
 1.14642  "To set a negative guard on a patch, prefix the name of the guard with a "
 1.14643  "<quote><literal>-</literal></quote>."
 1.14644  msgstr ""
 1.14645  
 1.14646  #. type: Content of: <book><chapter><sect1><note><para>
 1.14647 -#: ../en/ch13-mq-collab.xml:156
 1.14648 +#: ../en/ch12-mq-collab.xml:156
 1.14649  msgid ""
 1.14650  "The <command role=\"hg-ext-mq\">qguard</command> command <emphasis>sets</"
 1.14651  "emphasis> the guards on a patch; it doesn't <emphasis>modify</emphasis> "
 1.14652 @@ -15392,7 +14470,7 @@
 1.14653  
 1.14654  #
 1.14655  #. type: Content of: <book><chapter><sect1><para>
 1.14656 -#: ../en/ch13-mq-collab.xml:165
 1.14657 +#: ../en/ch12-mq-collab.xml:165
 1.14658  msgid ""
 1.14659  "Mercurial stores guards in the <filename role=\"special\">series</filename> "
 1.14660  "file; the form in which they are stored is easy both to understand and to "
 1.14661 @@ -15402,12 +14480,12 @@
 1.14662  msgstr ""
 1.14663  
 1.14664  #. type: Content of: <book><chapter><sect1><title>
 1.14665 -#: ../en/ch13-mq-collab.xml:177
 1.14666 +#: ../en/ch12-mq-collab.xml:177
 1.14667  msgid "Selecting the guards to use"
 1.14668  msgstr "选择使用的条件"
 1.14669  
 1.14670  #. type: Content of: <book><chapter><sect1><para>
 1.14671 -#: ../en/ch13-mq-collab.xml:179
 1.14672 +#: ../en/ch12-mq-collab.xml:179
 1.14673  msgid ""
 1.14674  "The <command role=\"hg-ext-mq\">qselect</command> command determines which "
 1.14675  "guards are active at a given time.  The effect of this is to determine which "
 1.14676 @@ -15417,7 +14495,7 @@
 1.14677  msgstr ""
 1.14678  
 1.14679  #. type: Content of: <book><chapter><sect1><para>
 1.14680 -#: ../en/ch13-mq-collab.xml:186
 1.14681 +#: ../en/ch12-mq-collab.xml:186
 1.14682  msgid ""
 1.14683  "With no arguments, the <command role=\"hg-ext-mq\">qselect</command> command "
 1.14684  "lists the guards currently in effect, one per line of output.  Each argument "
 1.14685 @@ -15425,21 +14503,21 @@
 1.14686  msgstr ""
 1.14687  
 1.14688  #. type: Content of: <book><chapter><sect1><para>
 1.14689 -#: ../en/ch13-mq-collab.xml:193
 1.14690 +#: ../en/ch12-mq-collab.xml:193
 1.14691  msgid ""
 1.14692  "In case you're interested, the currently selected guards are stored in the "
 1.14693  "<filename role=\"special\">guards</filename> file."
 1.14694  msgstr ""
 1.14695  
 1.14696  #. type: Content of: <book><chapter><sect1><para>
 1.14697 -#: ../en/ch13-mq-collab.xml:198
 1.14698 +#: ../en/ch12-mq-collab.xml:198
 1.14699  msgid ""
 1.14700  "We can see the effect the selected guards have when we run <command role=\"hg-"
 1.14701  "ext-mq\">qpush</command>."
 1.14702  msgstr ""
 1.14703  
 1.14704  #. type: Content of: <book><chapter><sect1><para>
 1.14705 -#: ../en/ch13-mq-collab.xml:203
 1.14706 +#: ../en/ch12-mq-collab.xml:203
 1.14707  msgid ""
 1.14708  "A guard cannot start with a <quote><literal>+</literal></quote> or "
 1.14709  "<quote><literal>-</literal></quote> character.  The name of a guard must not "
 1.14710 @@ -15448,61 +14526,61 @@
 1.14711  msgstr ""
 1.14712  
 1.14713  #. type: Content of: <book><chapter><sect1><para>
 1.14714 -#: ../en/ch13-mq-collab.xml:212
 1.14715 +#: ../en/ch12-mq-collab.xml:212
 1.14716  msgid "Changing the selected guards changes the patches that are applied."
 1.14717  msgstr ""
 1.14718  
 1.14719  #. type: Content of: <book><chapter><sect1><para>
 1.14720 -#: ../en/ch13-mq-collab.xml:217
 1.14721 +#: ../en/ch12-mq-collab.xml:217
 1.14722  msgid ""
 1.14723  "You can see in the example below that negative guards take precedence over "
 1.14724  "positive guards."
 1.14725  msgstr ""
 1.14726  
 1.14727  #. type: Content of: <book><chapter><sect1><title>
 1.14728 -#: ../en/ch13-mq-collab.xml:224
 1.14729 +#: ../en/ch12-mq-collab.xml:224
 1.14730  msgid "MQ's rules for applying patches"
 1.14731  msgstr "MQ 应用补丁的规则"
 1.14732  
 1.14733  #. type: Content of: <book><chapter><sect1><para>
 1.14734 -#: ../en/ch13-mq-collab.xml:226
 1.14735 +#: ../en/ch12-mq-collab.xml:226
 1.14736  msgid ""
 1.14737  "The rules that MQ uses when deciding whether to apply a patch are as follows."
 1.14738  msgstr ""
 1.14739  
 1.14740  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14741 -#: ../en/ch13-mq-collab.xml:229
 1.14742 +#: ../en/ch12-mq-collab.xml:229
 1.14743  msgid "A patch that has no guards is always applied."
 1.14744  msgstr ""
 1.14745  
 1.14746  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14747 -#: ../en/ch13-mq-collab.xml:232
 1.14748 +#: ../en/ch12-mq-collab.xml:232
 1.14749  msgid ""
 1.14750  "If the patch has any negative guard that matches any currently selected "
 1.14751  "guard, the patch is skipped."
 1.14752  msgstr ""
 1.14753  
 1.14754  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14755 -#: ../en/ch13-mq-collab.xml:235
 1.14756 +#: ../en/ch12-mq-collab.xml:235
 1.14757  msgid ""
 1.14758  "If the patch has any positive guard that matches any currently selected "
 1.14759  "guard, the patch is applied."
 1.14760  msgstr ""
 1.14761  
 1.14762  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14763 -#: ../en/ch13-mq-collab.xml:238
 1.14764 +#: ../en/ch12-mq-collab.xml:238
 1.14765  msgid ""
 1.14766  "If the patch has positive or negative guards, but none matches any currently "
 1.14767  "selected guard, the patch is skipped."
 1.14768  msgstr ""
 1.14769  
 1.14770  #. type: Content of: <book><chapter><sect1><title>
 1.14771 -#: ../en/ch13-mq-collab.xml:245
 1.14772 +#: ../en/ch12-mq-collab.xml:245
 1.14773  msgid "Trimming the work environment"
 1.14774  msgstr "修剪工作环境"
 1.14775  
 1.14776  #. type: Content of: <book><chapter><sect1><para>
 1.14777 -#: ../en/ch13-mq-collab.xml:247
 1.14778 +#: ../en/ch12-mq-collab.xml:247
 1.14779  msgid ""
 1.14780  "In working on the device driver I mentioned earlier, I don't apply the "
 1.14781  "patches to a normal Linux kernel tree.  Instead, I use a repository that "
 1.14782 @@ -15512,7 +14590,7 @@
 1.14783  msgstr ""
 1.14784  
 1.14785  #. type: Content of: <book><chapter><sect1><para>
 1.14786 -#: ../en/ch13-mq-collab.xml:254
 1.14787 +#: ../en/ch12-mq-collab.xml:254
 1.14788  msgid ""
 1.14789  "I then choose a <quote>base</quote> version on top of which the patches are "
 1.14790  "applied.  This is a snapshot of the Linux kernel tree as of a revision of my "
 1.14791 @@ -15524,7 +14602,7 @@
 1.14792  msgstr ""
 1.14793  
 1.14794  #. type: Content of: <book><chapter><sect1><para>
 1.14795 -#: ../en/ch13-mq-collab.xml:263
 1.14796 +#: ../en/ch12-mq-collab.xml:263
 1.14797  msgid ""
 1.14798  "Normally, the base tree atop which the patches apply should be a snapshot of "
 1.14799  "a very recent upstream tree.  This best facilitates the development of "
 1.14800 @@ -15532,12 +14610,12 @@
 1.14801  msgstr ""
 1.14802  
 1.14803  #. type: Content of: <book><chapter><sect1><title>
 1.14804 -#: ../en/ch13-mq-collab.xml:270
 1.14805 +#: ../en/ch12-mq-collab.xml:270
 1.14806  msgid "Dividing up the <filename role=\"special\">series</filename> file"
 1.14807  msgstr "分类补丁<filename role=\"special\">系列</filename>"
 1.14808  
 1.14809  #. type: Content of: <book><chapter><sect1><para>
 1.14810 -#: ../en/ch13-mq-collab.xml:273
 1.14811 +#: ../en/ch12-mq-collab.xml:273
 1.14812  msgid ""
 1.14813  "I categorise the patches in the <filename role=\"special\">series</filename> "
 1.14814  "file into a number of logical groups.  Each section of like patches begins "
 1.14815 @@ -15546,14 +14624,14 @@
 1.14816  msgstr ""
 1.14817  
 1.14818  #. type: Content of: <book><chapter><sect1><para>
 1.14819 -#: ../en/ch13-mq-collab.xml:279
 1.14820 +#: ../en/ch12-mq-collab.xml:279
 1.14821  msgid ""
 1.14822  "The sequence of patch groups that I maintain follows.  The ordering of these "
 1.14823  "groups is important; I'll describe why after I introduce the groups."
 1.14824  msgstr ""
 1.14825  
 1.14826  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14827 -#: ../en/ch13-mq-collab.xml:283
 1.14828 +#: ../en/ch12-mq-collab.xml:283
 1.14829  msgid ""
 1.14830  "The <quote>accepted</quote> group.  Patches that the development team has "
 1.14831  "submitted to the maintainer of the Infiniband subsystem, and which he has "
 1.14832 @@ -15564,14 +14642,14 @@
 1.14833  msgstr ""
 1.14834  
 1.14835  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14836 -#: ../en/ch13-mq-collab.xml:291
 1.14837 +#: ../en/ch12-mq-collab.xml:291
 1.14838  msgid ""
 1.14839  "The <quote>rework</quote> group.  Patches that I have submitted, but that the "
 1.14840  "upstream maintainer has requested modifications to before he will accept them."
 1.14841  msgstr ""
 1.14842  
 1.14843  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14844 -#: ../en/ch13-mq-collab.xml:296
 1.14845 +#: ../en/ch12-mq-collab.xml:296
 1.14846  msgid ""
 1.14847  "The <quote>pending</quote> group.  Patches that I have not yet submitted to "
 1.14848  "the upstream maintainer, but which we have finished working on. These will be "
 1.14849 @@ -15582,21 +14660,21 @@
 1.14850  msgstr ""
 1.14851  
 1.14852  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14853 -#: ../en/ch13-mq-collab.xml:305
 1.14854 +#: ../en/ch12-mq-collab.xml:305
 1.14855  msgid ""
 1.14856  "The <quote>in progress</quote> group.  Patches that are actively being "
 1.14857  "developed, and should not be submitted anywhere yet."
 1.14858  msgstr ""
 1.14859  
 1.14860  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14861 -#: ../en/ch13-mq-collab.xml:309
 1.14862 +#: ../en/ch12-mq-collab.xml:309
 1.14863  msgid ""
 1.14864  "The <quote>backport</quote> group.  Patches that adapt the source tree to "
 1.14865  "older versions of the kernel tree."
 1.14866  msgstr ""
 1.14867  
 1.14868  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14869 -#: ../en/ch13-mq-collab.xml:313
 1.14870 +#: ../en/ch12-mq-collab.xml:313
 1.14871  msgid ""
 1.14872  "The <quote>do not ship</quote> group.  Patches that for some reason should "
 1.14873  "never be submitted upstream.  For example, one such patch might change "
 1.14874 @@ -15606,7 +14684,7 @@
 1.14875  msgstr ""
 1.14876  
 1.14877  #. type: Content of: <book><chapter><sect1><para>
 1.14878 -#: ../en/ch13-mq-collab.xml:321
 1.14879 +#: ../en/ch12-mq-collab.xml:321
 1.14880  msgid ""
 1.14881  "Now to return to the reasons for ordering groups of patches in this way.  We "
 1.14882  "would like the lowest patches in the stack to be as stable as possible, so "
 1.14883 @@ -15616,7 +14694,7 @@
 1.14884  msgstr ""
 1.14885  
 1.14886  #. type: Content of: <book><chapter><sect1><para>
 1.14887 -#: ../en/ch13-mq-collab.xml:329
 1.14888 +#: ../en/ch12-mq-collab.xml:329
 1.14889  msgid ""
 1.14890  "We would also like the patches that we know we'll need to modify to be "
 1.14891  "applied on top of a source tree that resembles the upstream tree as closely "
 1.14892 @@ -15624,7 +14702,7 @@
 1.14893  msgstr ""
 1.14894  
 1.14895  #. type: Content of: <book><chapter><sect1><para>
 1.14896 -#: ../en/ch13-mq-collab.xml:334
 1.14897 +#: ../en/ch12-mq-collab.xml:334
 1.14898  msgid ""
 1.14899  "The <quote>backport</quote> and <quote>do not ship</quote> patches float at "
 1.14900  "the end of the <filename role=\"special\">series</filename> file.  The "
 1.14901 @@ -15633,19 +14711,19 @@
 1.14902  msgstr ""
 1.14903  
 1.14904  #. type: Content of: <book><chapter><sect1><title>
 1.14905 -#: ../en/ch13-mq-collab.xml:343
 1.14906 +#: ../en/ch12-mq-collab.xml:343
 1.14907  msgid "Maintaining the patch series"
 1.14908  msgstr "维护补丁系列"
 1.14909  
 1.14910  #. type: Content of: <book><chapter><sect1><para>
 1.14911 -#: ../en/ch13-mq-collab.xml:345
 1.14912 +#: ../en/ch12-mq-collab.xml:345
 1.14913  msgid ""
 1.14914  "In my work, I use a number of guards to control which patches are to be "
 1.14915  "applied."
 1.14916  msgstr ""
 1.14917  
 1.14918  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14919 -#: ../en/ch13-mq-collab.xml:349
 1.14920 +#: ../en/ch12-mq-collab.xml:349
 1.14921  msgid ""
 1.14922  "<quote>Accepted</quote> patches are guarded with <literal>accepted</"
 1.14923  "literal>.  I enable this guard most of the time.  When I'm applying the "
 1.14924 @@ -15654,7 +14732,7 @@
 1.14925  msgstr ""
 1.14926  
 1.14927  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14928 -#: ../en/ch13-mq-collab.xml:356
 1.14929 +#: ../en/ch12-mq-collab.xml:356
 1.14930  msgid ""
 1.14931  "Patches that are <quote>finished</quote>, but not yet submitted, have no "
 1.14932  "guards.  If I'm applying the patch stack to a copy of the upstream tree, I "
 1.14933 @@ -15662,21 +14740,21 @@
 1.14934  msgstr ""
 1.14935  
 1.14936  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14937 -#: ../en/ch13-mq-collab.xml:362
 1.14938 +#: ../en/ch12-mq-collab.xml:362
 1.14939  msgid ""
 1.14940  "Those patches that need reworking before being resubmitted are guarded with "
 1.14941  "<literal>rework</literal>."
 1.14942  msgstr ""
 1.14943  
 1.14944  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14945 -#: ../en/ch13-mq-collab.xml:366
 1.14946 +#: ../en/ch12-mq-collab.xml:366
 1.14947  msgid ""
 1.14948  "For those patches that are still under development, I use <literal>devel</"
 1.14949  "literal>."
 1.14950  msgstr ""
 1.14951  
 1.14952  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.14953 -#: ../en/ch13-mq-collab.xml:369
 1.14954 +#: ../en/ch12-mq-collab.xml:369
 1.14955  msgid ""
 1.14956  "A backport patch may have several guards, one for each version of the kernel "
 1.14957  "to which it applies.  For example, a patch that backports a piece of code to "
 1.14958 @@ -15684,7 +14762,7 @@
 1.14959  msgstr ""
 1.14960  
 1.14961  #. type: Content of: <book><chapter><sect1><para>
 1.14962 -#: ../en/ch13-mq-collab.xml:374
 1.14963 +#: ../en/ch12-mq-collab.xml:374
 1.14964  msgid ""
 1.14965  "This variety of guards gives me considerable flexibility in determining what "
 1.14966  "kind of source tree I want to end up with.  For most situations, the "
 1.14967 @@ -15693,12 +14771,12 @@
 1.14968  msgstr ""
 1.14969  
 1.14970  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.14971 -#: ../en/ch13-mq-collab.xml:381
 1.14972 +#: ../en/ch12-mq-collab.xml:381
 1.14973  msgid "The art of writing backport patches"
 1.14974  msgstr "编写向后移植补丁的艺术"
 1.14975  
 1.14976  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14977 -#: ../en/ch13-mq-collab.xml:383
 1.14978 +#: ../en/ch12-mq-collab.xml:383
 1.14979  msgid ""
 1.14980  "Using MQ, writing a backport patch is a simple process.  All such a patch has "
 1.14981  "to do is modify a piece of code that uses a kernel feature not present in the "
 1.14982 @@ -15707,7 +14785,7 @@
 1.14983  msgstr ""
 1.14984  
 1.14985  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14986 -#: ../en/ch13-mq-collab.xml:389
 1.14987 +#: ../en/ch12-mq-collab.xml:389
 1.14988  msgid ""
 1.14989  "A useful goal when writing a good backport patch is to make your code look as "
 1.14990  "if it was written for the older version of the kernel you're targeting.  The "
 1.14991 @@ -15721,7 +14799,7 @@
 1.14992  msgstr ""
 1.14993  
 1.14994  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.14995 -#: ../en/ch13-mq-collab.xml:402
 1.14996 +#: ../en/ch12-mq-collab.xml:402
 1.14997  msgid ""
 1.14998  "There are two reasons to divide backport patches into a distinct group, away "
 1.14999  "from the <quote>regular</quote> patches whose effects they modify. The first "
 1.15000 @@ -15734,17 +14812,17 @@
 1.15001  msgstr ""
 1.15002  
 1.15003  #. type: Content of: <book><chapter><sect1><title>
 1.15004 -#: ../en/ch13-mq-collab.xml:417
 1.15005 +#: ../en/ch12-mq-collab.xml:417
 1.15006  msgid "Useful tips for developing with MQ"
 1.15007  msgstr "使用 MQ 开发的技巧"
 1.15008  
 1.15009  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.15010 -#: ../en/ch13-mq-collab.xml:420
 1.15011 +#: ../en/ch12-mq-collab.xml:420
 1.15012  msgid "Organising patches in directories"
 1.15013  msgstr "将补丁放到几个目录中"
 1.15014  
 1.15015  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15016 -#: ../en/ch13-mq-collab.xml:422
 1.15017 +#: ../en/ch12-mq-collab.xml:422
 1.15018  msgid ""
 1.15019  "If you're working on a substantial project with MQ, it's not difficult to "
 1.15020  "accumulate a large number of patches.  For example, I have one patch "
 1.15021 @@ -15752,7 +14830,7 @@
 1.15022  msgstr ""
 1.15023  
 1.15024  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15025 -#: ../en/ch13-mq-collab.xml:427
 1.15026 +#: ../en/ch12-mq-collab.xml:427
 1.15027  msgid ""
 1.15028  "If you can group these patches into separate logical categories, you can if "
 1.15029  "you like store them in different directories; MQ has no problems with patch "
 1.15030 @@ -15760,12 +14838,12 @@
 1.15031  msgstr ""
 1.15032  
 1.15033  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.15034 -#: ../en/ch13-mq-collab.xml:434
 1.15035 +#: ../en/ch12-mq-collab.xml:434
 1.15036  msgid "Viewing the history of a patch"
 1.15037  msgstr "察看补丁的历史"
 1.15038  
 1.15039  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15040 -#: ../en/ch13-mq-collab.xml:436
 1.15041 +#: ../en/ch12-mq-collab.xml:436
 1.15042  msgid ""
 1.15043  "If you're developing a set of patches over a long time, it's a good idea to "
 1.15044  "maintain them in a repository, as discussed in section <xref linkend=\"sec.mq."
 1.15045 @@ -15778,7 +14856,7 @@
 1.15046  msgstr ""
 1.15047  
 1.15048  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15049 -#: ../en/ch13-mq-collab.xml:448
 1.15050 +#: ../en/ch12-mq-collab.xml:448
 1.15051  msgid ""
 1.15052  "However, you can use the <literal role=\"hg-ext\">extdiff</literal> "
 1.15053  "extension, which is bundled with Mercurial, to turn a diff of two versions of "
 1.15054 @@ -15791,18 +14869,18 @@
 1.15055  msgstr ""
 1.15056  
 1.15057  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15058 -#: ../en/ch13-mq-collab.xml:459
 1.15059 +#: ../en/ch12-mq-collab.xml:459
 1.15060  msgid ""
 1.15061  "You can enable the <literal role=\"hg-ext\">extdiff</literal> extension in "
 1.15062  "the usual way, by adding a line to the <literal role=\"rc-extensions"
 1.15063 -"\">extensions</literal> section of your <filename role=\"special\"> /.hgrc</"
 1.15064 +"\">extensions</literal> section of your <filename role=\"special\">~/.hgrc</"
 1.15065  "filename>."
 1.15066  msgstr ""
 1.15067  
 1.15068  #
 1.15069  #. 	&example.hg-interdiff; 
 1.15070  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15071 -#: ../en/ch13-mq-collab.xml:465
 1.15072 +#: ../en/ch12-mq-collab.xml:466
 1.15073  msgid ""
 1.15074  "The <command>interdiff</command> command expects to be passed the names of "
 1.15075  "two files, but the <literal role=\"hg-ext\">extdiff</literal> extension "
 1.15076 @@ -15815,7 +14893,7 @@
 1.15077  msgstr ""
 1.15078  
 1.15079  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15080 -#: ../en/ch13-mq-collab.xml:477
 1.15081 +#: ../en/ch12-mq-collab.xml:478
 1.15082  msgid ""
 1.15083  "With the <filename role=\"special\">hg-interdiff</filename> program in your "
 1.15084  "shell's search path, you can run it as follows, from inside an MQ patch "
 1.15085 @@ -15823,16 +14901,16 @@
 1.15086  msgstr ""
 1.15087  
 1.15088  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15089 -#: ../en/ch13-mq-collab.xml:482
 1.15090 +#: ../en/ch12-mq-collab.xml:482
 1.15091  msgid ""
 1.15092  "Since you'll probably want to use this long-winded command a lot, you can get "
 1.15093  "<literal role=\"hg-ext\">hgext</literal> to make it available as a normal "
 1.15094 -"Mercurial command, again by editing your <filename role=\"special\"> /.hgrc</"
 1.15095 +"Mercurial command, again by editing your <filename role=\"special\">~/.hgrc</"
 1.15096  "filename>."
 1.15097  msgstr ""
 1.15098  
 1.15099  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15100 -#: ../en/ch13-mq-collab.xml:489
 1.15101 +#: ../en/ch12-mq-collab.xml:489
 1.15102  msgid ""
 1.15103  "This directs <literal role=\"hg-ext\">hgext</literal> to make an "
 1.15104  "<literal>interdiff</literal> command available, so you can now shorten the "
 1.15105 @@ -15841,7 +14919,7 @@
 1.15106  msgstr ""
 1.15107  
 1.15108  #. type: Content of: <book><chapter><sect1><sect2><note><para>
 1.15109 -#: ../en/ch13-mq-collab.xml:498
 1.15110 +#: ../en/ch12-mq-collab.xml:497
 1.15111  msgid ""
 1.15112  "The <command>interdiff</command> command works well only if the underlying "
 1.15113  "files against which versions of a patch are generated remain the same.  If "
 1.15114 @@ -15850,7 +14928,7 @@
 1.15115  msgstr ""
 1.15116  
 1.15117  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15118 -#: ../en/ch13-mq-collab.xml:506
 1.15119 +#: ../en/ch12-mq-collab.xml:505
 1.15120  msgid ""
 1.15121  "The <literal role=\"hg-ext\">extdiff</literal> extension is useful for more "
 1.15122  "than merely improving the presentation of MQ patches.  To read more about it, "
 1.15123 @@ -15858,12 +14936,12 @@
 1.15124  msgstr ""
 1.15125  
 1.15126  #. type: Content of: <book><chapter><title>
 1.15127 -#: ../en/ch14-hgext.xml:5
 1.15128 +#: ../en/ch13-hgext.xml:5
 1.15129  msgid "Adding functionality with extensions"
 1.15130  msgstr "使用扩展增加功能"
 1.15131  
 1.15132  #. type: Content of: <book><chapter><para>
 1.15133 -#: ../en/ch14-hgext.xml:7
 1.15134 +#: ../en/ch13-hgext.xml:7
 1.15135  msgid ""
 1.15136  "While the core of Mercurial is quite complete from a functionality "
 1.15137  "standpoint, it's deliberately shorn of fancy features.  This approach of "
 1.15138 @@ -15872,7 +14950,7 @@
 1.15139  msgstr ""
 1.15140  
 1.15141  #. type: Content of: <book><chapter><para>
 1.15142 -#: ../en/ch14-hgext.xml:12
 1.15143 +#: ../en/ch13-hgext.xml:12
 1.15144  msgid ""
 1.15145  "However, Mercurial doesn't box you in with an inflexible command set: you can "
 1.15146  "add features to it as <emphasis>extensions</emphasis> (sometimes known as "
 1.15147 @@ -15881,7 +14959,7 @@
 1.15148  msgstr ""
 1.15149  
 1.15150  #. type: Content of: <book><chapter><itemizedlist><listitem><para>
 1.15151 -#: ../en/ch14-hgext.xml:18
 1.15152 +#: ../en/ch13-hgext.xml:18
 1.15153  msgid ""
 1.15154  "Section <xref linkend=\"sec.tour-merge.fetch\"/> covers the <literal role="
 1.15155  "\"hg-ext\">fetch</literal> extension; this combines pulling new changes and "
 1.15156 @@ -15890,7 +14968,7 @@
 1.15157  msgstr ""
 1.15158  
 1.15159  #. type: Content of: <book><chapter><itemizedlist><listitem><para>
 1.15160 -#: ../en/ch14-hgext.xml:24
 1.15161 +#: ../en/ch13-hgext.xml:24
 1.15162  msgid ""
 1.15163  "In chapter <xref linkend=\"chap.hook\"/>, we covered several extensions that "
 1.15164  "are useful for hook-related functionality: <literal role=\"hg-ext\">acl</"
 1.15165 @@ -15900,7 +14978,7 @@
 1.15166  msgstr ""
 1.15167  
 1.15168  #. type: Content of: <book><chapter><itemizedlist><listitem><para>
 1.15169 -#: ../en/ch14-hgext.xml:33
 1.15170 +#: ../en/ch13-hgext.xml:33
 1.15171  msgid ""
 1.15172  "The Mercurial Queues patch management extension is so invaluable that it "
 1.15173  "merits two chapters and an appendix all to itself. Chapter <xref linkend="
 1.15174 @@ -15910,7 +14988,7 @@
 1.15175  msgstr ""
 1.15176  
 1.15177  #. type: Content of: <book><chapter><para>
 1.15178 -#: ../en/ch14-hgext.xml:43
 1.15179 +#: ../en/ch13-hgext.xml:43
 1.15180  msgid ""
 1.15181  "In this chapter, we'll cover some of the other extensions that are available "
 1.15182  "for Mercurial, and briefly touch on some of the machinery you'll need to know "
 1.15183 @@ -15918,7 +14996,7 @@
 1.15184  msgstr ""
 1.15185  
 1.15186  #. type: Content of: <book><chapter><itemizedlist><listitem><para>
 1.15187 -#: ../en/ch14-hgext.xml:48
 1.15188 +#: ../en/ch13-hgext.xml:48
 1.15189  msgid ""
 1.15190  "In section <xref linkend=\"sec.hgext.inotify\"/>, we'll discuss the "
 1.15191  "possibility of <emphasis>huge</emphasis> performance improvements using the "
 1.15192 @@ -15926,21 +15004,21 @@
 1.15193  msgstr ""
 1.15194  
 1.15195  #. type: Content of: <book><chapter><sect1><title>
 1.15196 -#: ../en/ch14-hgext.xml:55
 1.15197 +#: ../en/ch13-hgext.xml:55
 1.15198  msgid ""
 1.15199  "Improve performance with the <literal role=\"hg-ext\">inotify</literal> "
 1.15200  "extension"
 1.15201  msgstr "使用扩展 <literal role=\"hg-ext\">inotify</literal> 以提高性能"
 1.15202  
 1.15203  #. type: Content of: <book><chapter><sect1><para>
 1.15204 -#: ../en/ch14-hgext.xml:58
 1.15205 +#: ../en/ch13-hgext.xml:58
 1.15206  msgid ""
 1.15207  "Are you interested in having some of the most common Mercurial operations run "
 1.15208  "as much as a hundred times faster? Read on!"
 1.15209  msgstr ""
 1.15210  
 1.15211  #. type: Content of: <book><chapter><sect1><para>
 1.15212 -#: ../en/ch14-hgext.xml:62
 1.15213 +#: ../en/ch13-hgext.xml:62
 1.15214  msgid ""
 1.15215  "Mercurial has great performance under normal circumstances.  For example, "
 1.15216  "when you run the <command role=\"hg-cmd\">hg status</command> command, "
 1.15217 @@ -15952,7 +15030,7 @@
 1.15218  msgstr ""
 1.15219  
 1.15220  #. type: Content of: <book><chapter><sect1><para>
 1.15221 -#: ../en/ch14-hgext.xml:72
 1.15222 +#: ../en/ch13-hgext.xml:72
 1.15223  msgid ""
 1.15224  "Because obtaining file status is crucial to good performance, the authors of "
 1.15225  "Mercurial have optimised this code to within an inch of its life.  However, "
 1.15226 @@ -15964,7 +15042,7 @@
 1.15227  msgstr ""
 1.15228  
 1.15229  #. type: Content of: <book><chapter><sect1><para>
 1.15230 -#: ../en/ch14-hgext.xml:82
 1.15231 +#: ../en/ch13-hgext.xml:82
 1.15232  msgid ""
 1.15233  "To put a number on the magnitude of this effect, I created a repository "
 1.15234  "containing 150,000 managed files.  I timed <command role=\"hg-cmd\">hg "
 1.15235 @@ -15973,7 +15051,7 @@
 1.15236  msgstr ""
 1.15237  
 1.15238  #. type: Content of: <book><chapter><sect1><para>
 1.15239 -#: ../en/ch14-hgext.xml:88
 1.15240 +#: ../en/ch13-hgext.xml:88
 1.15241  msgid ""
 1.15242  "Many modern operating systems contain a file notification facility. If a "
 1.15243  "program signs up to an appropriate service, the operating system will notify "
 1.15244 @@ -15983,7 +15061,7 @@
 1.15245  msgstr ""
 1.15246  
 1.15247  #. type: Content of: <book><chapter><sect1><para>
 1.15248 -#: ../en/ch14-hgext.xml:95
 1.15249 +#: ../en/ch13-hgext.xml:95
 1.15250  msgid ""
 1.15251  "Mercurial's <literal role=\"hg-ext\">inotify</literal> extension talks to the "
 1.15252  "kernel's <literal>inotify</literal> component to optimise <command role=\"hg-"
 1.15253 @@ -15998,7 +15076,7 @@
 1.15254  msgstr ""
 1.15255  
 1.15256  #. type: Content of: <book><chapter><sect1><para>
 1.15257 -#: ../en/ch14-hgext.xml:108
 1.15258 +#: ../en/ch13-hgext.xml:108
 1.15259  msgid ""
 1.15260  "Recall the ten seconds that I measured plain Mercurial as taking to run "
 1.15261  "<command role=\"hg-cmd\">hg status</command> on a 150,000 file repository.  "
 1.15262 @@ -16008,12 +15086,12 @@
 1.15263  msgstr ""
 1.15264  
 1.15265  #. type: Content of: <book><chapter><sect1><para>
 1.15266 -#: ../en/ch14-hgext.xml:115
 1.15267 +#: ../en/ch13-hgext.xml:115
 1.15268  msgid "Before we continue, please pay attention to some caveats."
 1.15269  msgstr ""
 1.15270  
 1.15271  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.15272 -#: ../en/ch14-hgext.xml:118
 1.15273 +#: ../en/ch13-hgext.xml:118
 1.15274  msgid ""
 1.15275  "The <literal role=\"hg-ext\">inotify</literal> extension is Linux-specific.  "
 1.15276  "Because it interfaces directly to the Linux kernel's <literal>inotify</"
 1.15277 @@ -16021,7 +15099,7 @@
 1.15278  msgstr ""
 1.15279  
 1.15280  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.15281 -#: ../en/ch14-hgext.xml:123
 1.15282 +#: ../en/ch13-hgext.xml:123
 1.15283  msgid ""
 1.15284  "It should work on any Linux distribution that was released after early 2005.  "
 1.15285  "Older distributions are likely to have a kernel that lacks <literal>inotify</"
 1.15286 @@ -16030,7 +15108,7 @@
 1.15287  msgstr ""
 1.15288  
 1.15289  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 1.15290 -#: ../en/ch14-hgext.xml:130
 1.15291 +#: ../en/ch13-hgext.xml:130
 1.15292  msgid ""
 1.15293  "Not all filesystems are suitable for use with the <literal role=\"hg-ext"
 1.15294  "\">inotify</literal> extension.  Network filesystems such as NFS are a non-"
 1.15295 @@ -16042,7 +15120,7 @@
 1.15296  msgstr ""
 1.15297  
 1.15298  #. type: Content of: <book><chapter><sect1><para>
 1.15299 -#: ../en/ch14-hgext.xml:141
 1.15300 +#: ../en/ch13-hgext.xml:141
 1.15301  msgid ""
 1.15302  "The <literal role=\"hg-ext\">inotify</literal> extension is not yet shipped "
 1.15303  "with Mercurial as of May 2007, so it's a little more involved to set up than "
 1.15304 @@ -16050,7 +15128,7 @@
 1.15305  msgstr ""
 1.15306  
 1.15307  #. type: Content of: <book><chapter><sect1><para>
 1.15308 -#: ../en/ch14-hgext.xml:146
 1.15309 +#: ../en/ch13-hgext.xml:146
 1.15310  msgid ""
 1.15311  "The extension currently comes in two parts: a set of patches to the Mercurial "
 1.15312  "source code, and a library of Python bindings to the <literal>inotify</"
 1.15313 @@ -16058,7 +15136,7 @@
 1.15314  msgstr ""
 1.15315  
 1.15316  #. type: Content of: <book><chapter><sect1><note><para>
 1.15317 -#: ../en/ch14-hgext.xml:150
 1.15318 +#: ../en/ch13-hgext.xml:150
 1.15319  msgid ""
 1.15320  "There are <emphasis>two</emphasis> Python <literal>inotify</literal> binding "
 1.15321  "libraries.  One of them is called <literal>pyinotify</literal>, and is "
 1.15322 @@ -16068,14 +15146,14 @@
 1.15323  msgstr ""
 1.15324  
 1.15325  #. type: Content of: <book><chapter><sect1><para>
 1.15326 -#: ../en/ch14-hgext.xml:157
 1.15327 +#: ../en/ch13-hgext.xml:157
 1.15328  msgid ""
 1.15329  "To get going, it's best to already have a functioning copy of Mercurial "
 1.15330  "installed."
 1.15331  msgstr ""
 1.15332  
 1.15333  #. type: Content of: <book><chapter><sect1><note><para>
 1.15334 -#: ../en/ch14-hgext.xml:160
 1.15335 +#: ../en/ch13-hgext.xml:160
 1.15336  msgid ""
 1.15337  "If you follow the instructions below, you'll be <emphasis>replacing</"
 1.15338  "emphasis> and overwriting any existing installation of Mercurial that you "
 1.15339 @@ -16084,14 +15162,14 @@
 1.15340  msgstr ""
 1.15341  
 1.15342  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.15343 -#: ../en/ch14-hgext.xml:167
 1.15344 +#: ../en/ch13-hgext.xml:167
 1.15345  msgid ""
 1.15346  "Clone the Python <literal>inotify</literal> binding repository.  Build and "
 1.15347  "install it."
 1.15348  msgstr ""
 1.15349  
 1.15350  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.15351 -#: ../en/ch14-hgext.xml:175
 1.15352 +#: ../en/ch13-hgext.xml:174
 1.15353  msgid ""
 1.15354  "Clone the <filename class=\"directory\">crew</filename> Mercurial "
 1.15355  "repository.  Clone the <literal role=\"hg-ext\">inotify</literal> patch "
 1.15356 @@ -16100,7 +15178,7 @@
 1.15357  msgstr ""
 1.15358  
 1.15359  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.15360 -#: ../en/ch14-hgext.xml:188
 1.15361 +#: ../en/ch13-hgext.xml:184
 1.15362  msgid ""
 1.15363  "Make sure that you have the Mercurial Queues extension, <literal role=\"hg-ext"
 1.15364  "\">mq</literal>, enabled.  If you've never used MQ, read section <xref "
 1.15365 @@ -16108,7 +15186,7 @@
 1.15366  msgstr ""
 1.15367  
 1.15368  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.15369 -#: ../en/ch14-hgext.xml:194
 1.15370 +#: ../en/ch13-hgext.xml:190
 1.15371  msgid ""
 1.15372  "Go into the <filename class=\"directory\">inotify</filename> repo, and apply "
 1.15373  "all of the <literal role=\"hg-ext\">inotify</literal> patches using the "
 1.15374 @@ -16117,27 +15195,27 @@
 1.15375  msgstr ""
 1.15376  
 1.15377  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.15378 -#: ../en/ch14-hgext.xml:204
 1.15379 +#: ../en/ch13-hgext.xml:199
 1.15380  msgid ""
 1.15381  "If you get an error message from <command role=\"hg-ext-mq\">qpush</command>, "
 1.15382  "you should not continue.  Instead, ask for help."
 1.15383  msgstr ""
 1.15384  
 1.15385  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
 1.15386 -#: ../en/ch14-hgext.xml:208
 1.15387 +#: ../en/ch13-hgext.xml:203
 1.15388  msgid "Build and install the patched version of Mercurial."
 1.15389  msgstr ""
 1.15390  
 1.15391  #. type: Content of: <book><chapter><sect1><para>
 1.15392 -#: ../en/ch14-hgext.xml:216
 1.15393 +#: ../en/ch13-hgext.xml:209
 1.15394  msgid ""
 1.15395  "Once you've build a suitably patched version of Mercurial, all you need to do "
 1.15396  "to enable the <literal role=\"hg-ext\">inotify</literal> extension is add an "
 1.15397 -"entry to your <filename role=\"special\"> /.hgrc</filename>."
 1.15398 -msgstr ""
 1.15399 -
 1.15400 -#. type: Content of: <book><chapter><sect1><para>
 1.15401 -#: ../en/ch14-hgext.xml:221
 1.15402 +"entry to your <filename role=\"special\">~/.hgrc</filename>."
 1.15403 +msgstr ""
 1.15404 +
 1.15405 +#. type: Content of: <book><chapter><sect1><para>
 1.15406 +#: ../en/ch13-hgext.xml:214
 1.15407  msgid ""
 1.15408  "When the <literal role=\"hg-ext\">inotify</literal> extension is enabled, "
 1.15409  "Mercurial will automatically and transparently start the status daemon the "
 1.15410 @@ -16146,7 +15224,7 @@
 1.15411  msgstr ""
 1.15412  
 1.15413  #. type: Content of: <book><chapter><sect1><para>
 1.15414 -#: ../en/ch14-hgext.xml:227
 1.15415 +#: ../en/ch13-hgext.xml:220
 1.15416  msgid ""
 1.15417  "The status daemon is started silently, and runs in the background.  If you "
 1.15418  "look at a list of running processes after you've enabled the <literal role="
 1.15419 @@ -16156,7 +15234,7 @@
 1.15420  msgstr ""
 1.15421  
 1.15422  #. type: Content of: <book><chapter><sect1><para>
 1.15423 -#: ../en/ch14-hgext.xml:235
 1.15424 +#: ../en/ch13-hgext.xml:228
 1.15425  msgid ""
 1.15426  "The first time you run a Mercurial command in a repository when you have the "
 1.15427  "<literal role=\"hg-ext\">inotify</literal> extension enabled, it will run "
 1.15428 @@ -16172,7 +15250,7 @@
 1.15429  msgstr ""
 1.15430  
 1.15431  #. type: Content of: <book><chapter><sect1><para>
 1.15432 -#: ../en/ch14-hgext.xml:249
 1.15433 +#: ../en/ch13-hgext.xml:242
 1.15434  msgid ""
 1.15435  "If you like, you can manually start a status daemon using the <command role="
 1.15436  "\"hg-ext-inotify\">inserve</command> command.  This gives you slightly finer "
 1.15437 @@ -16182,7 +15260,7 @@
 1.15438  msgstr ""
 1.15439  
 1.15440  #. type: Content of: <book><chapter><sect1><para>
 1.15441 -#: ../en/ch14-hgext.xml:256
 1.15442 +#: ../en/ch13-hgext.xml:249
 1.15443  msgid ""
 1.15444  "When you're using the <literal role=\"hg-ext\">inotify</literal> extension, "
 1.15445  "you should notice <emphasis>no difference at all</emphasis> in Mercurial's "
 1.15446 @@ -16193,14 +15271,14 @@
 1.15447  msgstr ""
 1.15448  
 1.15449  #. type: Content of: <book><chapter><sect1><title>
 1.15450 -#: ../en/ch14-hgext.xml:267
 1.15451 +#: ../en/ch13-hgext.xml:260
 1.15452  msgid ""
 1.15453  "Flexible diff support with the <literal role=\"hg-ext\">extdiff</literal> "
 1.15454  "extension"
 1.15455  msgstr "使用扩展 <literal role=\"hg-ext\">extdiff</literal> 以扩展差异支持"
 1.15456  
 1.15457  #. type: Content of: <book><chapter><sect1><para>
 1.15458 -#: ../en/ch14-hgext.xml:270
 1.15459 +#: ../en/ch13-hgext.xml:263
 1.15460  msgid ""
 1.15461  "Mercurial's built-in <command role=\"hg-cmd\">hg diff</command> command "
 1.15462  "outputs plaintext unified diffs."
 1.15463 @@ -16209,7 +15287,7 @@
 1.15464  "不同。"
 1.15465  
 1.15466  #. type: Content of: <book><chapter><sect1><para>
 1.15467 -#: ../en/ch14-hgext.xml:275
 1.15468 +#: ../en/ch13-hgext.xml:268
 1.15469  msgid ""
 1.15470  "If you would like to use an external tool to display modifications, you'll "
 1.15471  "want to use the <literal role=\"hg-ext\">extdiff</literal> extension.  This "
 1.15472 @@ -16217,16 +15295,16 @@
 1.15473  msgstr ""
 1.15474  
 1.15475  #. type: Content of: <book><chapter><sect1><para>
 1.15476 -#: ../en/ch14-hgext.xml:280
 1.15477 +#: ../en/ch13-hgext.xml:273
 1.15478  msgid ""
 1.15479  "The <literal role=\"hg-ext\">extdiff</literal> extension is bundled with "
 1.15480  "Mercurial, so it's easy to set up.  In the <literal role=\"rc-extensions"
 1.15481 -"\">extensions</literal> section of your <filename role=\"special\"> /.hgrc</"
 1.15482 +"\">extensions</literal> section of your <filename role=\"special\">~/.hgrc</"
 1.15483  "filename>, simply add a one-line entry to enable the extension."
 1.15484  msgstr ""
 1.15485  
 1.15486  #. type: Content of: <book><chapter><sect1><para>
 1.15487 -#: ../en/ch14-hgext.xml:286
 1.15488 +#: ../en/ch13-hgext.xml:280
 1.15489  msgid ""
 1.15490  "This introduces a command named <command role=\"hg-ext-extdiff\">extdiff</"
 1.15491  "command>, which by default uses your system's <command>diff</command> command "
 1.15492 @@ -16235,7 +15313,7 @@
 1.15493  msgstr ""
 1.15494  
 1.15495  #. type: Content of: <book><chapter><sect1><para>
 1.15496 -#: ../en/ch14-hgext.xml:294
 1.15497 +#: ../en/ch13-hgext.xml:288
 1.15498  msgid ""
 1.15499  "The result won't be exactly the same as with the built-in <command role=\"hg-"
 1.15500  "cmd\">hg diff</command> variations, because the output of <command>diff</"
 1.15501 @@ -16243,7 +15321,7 @@
 1.15502  msgstr ""
 1.15503  
 1.15504  #. type: Content of: <book><chapter><sect1><para>
 1.15505 -#: ../en/ch14-hgext.xml:299
 1.15506 +#: ../en/ch13-hgext.xml:293
 1.15507  msgid ""
 1.15508  "As the <quote><literal>making snapshot</literal></quote> lines of output "
 1.15509  "above imply, the <command role=\"hg-ext-extdiff\">extdiff</command> command "
 1.15510 @@ -16257,7 +15335,7 @@
 1.15511  msgstr ""
 1.15512  
 1.15513  #. type: Content of: <book><chapter><sect1><para>
 1.15514 -#: ../en/ch14-hgext.xml:312
 1.15515 +#: ../en/ch13-hgext.xml:306
 1.15516  msgid ""
 1.15517  "Snapshot directory names have the same base name as your repository. If your "
 1.15518  "repository path is <filename class=\"directory\">/quux/bar/foo</filename>, "
 1.15519 @@ -16274,7 +15352,7 @@
 1.15520  msgstr ""
 1.15521  
 1.15522  #. type: Content of: <book><chapter><sect1><para>
 1.15523 -#: ../en/ch14-hgext.xml:328
 1.15524 +#: ../en/ch13-hgext.xml:322
 1.15525  msgid ""
 1.15526  "The <command role=\"hg-ext-extdiff\">extdiff</command> command accepts two "
 1.15527  "important options. The <option role=\"hg-ext-extdiff-cmd-extdiff-opt\">hg -p</"
 1.15528 @@ -16292,7 +15370,7 @@
 1.15529  
 1.15530  #
 1.15531  #. type: Content of: <book><chapter><sect1><para>
 1.15532 -#: ../en/ch14-hgext.xml:345
 1.15533 +#: ../en/ch13-hgext.xml:339
 1.15534  msgid ""
 1.15535  "As an example, here's how to run the normal system <command>diff</command> "
 1.15536  "command, getting it to generate context diffs (using the <option role=\"cmd-"
 1.15537 @@ -16302,14 +15380,14 @@
 1.15538  msgstr ""
 1.15539  
 1.15540  #. type: Content of: <book><chapter><sect1><para>
 1.15541 -#: ../en/ch14-hgext.xml:354
 1.15542 +#: ../en/ch13-hgext.xml:348
 1.15543  msgid ""
 1.15544  "Launching a visual diff tool is just as easy.  Here's how to launch the "
 1.15545  "<command>kdiff3</command> viewer."
 1.15546  msgstr ""
 1.15547  
 1.15548  #. type: Content of: <book><chapter><sect1><para>
 1.15549 -#: ../en/ch14-hgext.xml:358
 1.15550 +#: ../en/ch13-hgext.xml:352
 1.15551  msgid ""
 1.15552  "If your diff viewing command can't deal with directories, you can easily work "
 1.15553  "around this with a little scripting.  For an example of such scripting in "
 1.15554 @@ -16319,12 +15397,12 @@
 1.15555  msgstr ""
 1.15556  
 1.15557  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.15558 -#: ../en/ch14-hgext.xml:366
 1.15559 +#: ../en/ch13-hgext.xml:360
 1.15560  msgid "Defining command aliases"
 1.15561  msgstr "定义命令的别名"
 1.15562  
 1.15563  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15564 -#: ../en/ch14-hgext.xml:368
 1.15565 +#: ../en/ch13-hgext.xml:362
 1.15566  msgid ""
 1.15567  "It can be cumbersome to remember the options to both the <command role=\"hg-"
 1.15568  "ext-extdiff\">extdiff</command> command and the diff viewer you want to use, "
 1.15569 @@ -16334,9 +15412,9 @@
 1.15570  msgstr ""
 1.15571  
 1.15572  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15573 -#: ../en/ch14-hgext.xml:375
 1.15574 -msgid ""
 1.15575 -"All you need to do is edit your <filename role=\"special\"> /.hgrc</"
 1.15576 +#: ../en/ch13-hgext.xml:369
 1.15577 +msgid ""
 1.15578 +"All you need to do is edit your <filename role=\"special\">~/.hgrc</"
 1.15579  "filename>, and add a section named <literal role=\"rc-extdiff\">extdiff</"
 1.15580  "literal>.  Inside this section, you can define multiple commands.  Here's how "
 1.15581  "to add a <literal>kdiff3</literal> command.  Once you've defined this, you "
 1.15582 @@ -16346,7 +15424,7 @@
 1.15583  msgstr ""
 1.15584  
 1.15585  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15586 -#: ../en/ch14-hgext.xml:384
 1.15587 +#: ../en/ch13-hgext.xml:379
 1.15588  msgid ""
 1.15589  "If you leave the right hand side of the definition empty, as above, the "
 1.15590  "<literal role=\"hg-ext\">extdiff</literal> extension uses the name of the "
 1.15591 @@ -16357,7 +15435,7 @@
 1.15592  msgstr ""
 1.15593  
 1.15594  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15595 -#: ../en/ch14-hgext.xml:393
 1.15596 +#: ../en/ch13-hgext.xml:389
 1.15597  msgid ""
 1.15598  "You can also specify the default options that you want to invoke your diff "
 1.15599  "viewing program with.  The prefix to use is <quote><literal>opts.</literal></"
 1.15600 @@ -16367,19 +15445,19 @@
 1.15601  msgstr ""
 1.15602  
 1.15603  #. type: Content of: <book><chapter><sect1><title>
 1.15604 -#: ../en/ch14-hgext.xml:406
 1.15605 +#: ../en/ch13-hgext.xml:403
 1.15606  msgid ""
 1.15607  "Cherrypicking changes with the <literal role=\"hg-ext\">transplant</literal> "
 1.15608  "extension"
 1.15609  msgstr "使用扩展 <literal role=\"hg-ext\">transplant</literal> 以挑选修改"
 1.15610  
 1.15611  #. type: Content of: <book><chapter><sect1><para>
 1.15612 -#: ../en/ch14-hgext.xml:409
 1.15613 +#: ../en/ch13-hgext.xml:406
 1.15614  msgid "Need to have a long chat with Brendan about this."
 1.15615  msgstr ""
 1.15616  
 1.15617  #. type: Content of: <book><chapter><sect1><title>
 1.15618 -#: ../en/ch14-hgext.xml:413
 1.15619 +#: ../en/ch13-hgext.xml:410
 1.15620  msgid ""
 1.15621  "Send changes via email with the <literal role=\"hg-ext\">patchbomb</literal> "
 1.15622  "extension"
 1.15623 @@ -16387,7 +15465,7 @@
 1.15624  "使用扩展 <literal role=\"hg-ext\">patchbomb</literal> 通过 email 发送修改"
 1.15625  
 1.15626  #. type: Content of: <book><chapter><sect1><para>
 1.15627 -#: ../en/ch14-hgext.xml:416
 1.15628 +#: ../en/ch13-hgext.xml:413
 1.15629  msgid ""
 1.15630  "Many projects have a culture of <quote>change review</quote>, in which people "
 1.15631  "send their modifications to a mailing list for others to read and comment on "
 1.15632 @@ -16397,7 +15475,7 @@
 1.15633  msgstr ""
 1.15634  
 1.15635  #. type: Content of: <book><chapter><sect1><para>
 1.15636 -#: ../en/ch14-hgext.xml:424
 1.15637 +#: ../en/ch13-hgext.xml:421
 1.15638  msgid ""
 1.15639  "Mercurial makes it easy to send changes over email for review or application, "
 1.15640  "via its <literal role=\"hg-ext\">patchbomb</literal> extension.  The "
 1.15641 @@ -16408,7 +15486,7 @@
 1.15642  msgstr ""
 1.15643  
 1.15644  #. type: Content of: <book><chapter><sect1><para>
 1.15645 -#: ../en/ch14-hgext.xml:432
 1.15646 +#: ../en/ch13-hgext.xml:429
 1.15647  msgid ""
 1.15648  "As usual, the basic configuration of the <literal role=\"hg-ext\">patchbomb</"
 1.15649  "literal> extension takes just one or two lines in your <filename role="
 1.15650 @@ -16416,14 +15494,14 @@
 1.15651  msgstr ""
 1.15652  
 1.15653  #. type: Content of: <book><chapter><sect1><para>
 1.15654 -#: ../en/ch14-hgext.xml:437
 1.15655 +#: ../en/ch13-hgext.xml:435
 1.15656  msgid ""
 1.15657  "Once you've enabled the extension, you will have a new command available, "
 1.15658  "named <command role=\"hg-ext-patchbomb\">email</command>."
 1.15659  msgstr ""
 1.15660  
 1.15661  #. type: Content of: <book><chapter><sect1><para>
 1.15662 -#: ../en/ch14-hgext.xml:441
 1.15663 +#: ../en/ch13-hgext.xml:439
 1.15664  msgid ""
 1.15665  "The safest and best way to invoke the <command role=\"hg-ext-patchbomb"
 1.15666  "\">email</command> command is to <emphasis>always</emphasis> run it first "
 1.15667 @@ -16436,7 +15514,7 @@
 1.15668  msgstr ""
 1.15669  
 1.15670  #. type: Content of: <book><chapter><sect1><para>
 1.15671 -#: ../en/ch14-hgext.xml:452
 1.15672 +#: ../en/ch13-hgext.xml:450
 1.15673  msgid ""
 1.15674  "The <command role=\"hg-ext-patchbomb\">email</command> command accepts the "
 1.15675  "same kind of revision syntax as every other Mercurial command.  For example, "
 1.15676 @@ -16445,7 +15523,7 @@
 1.15677  msgstr ""
 1.15678  
 1.15679  #. type: Content of: <book><chapter><sect1><para>
 1.15680 -#: ../en/ch14-hgext.xml:457
 1.15681 +#: ../en/ch13-hgext.xml:455
 1.15682  msgid ""
 1.15683  "You can also specify a <emphasis>repository</emphasis> to compare with.  If "
 1.15684  "you provide a repository but no revisions, the <command role=\"hg-ext-"
 1.15685 @@ -16457,7 +15535,7 @@
 1.15686  msgstr ""
 1.15687  
 1.15688  #. type: Content of: <book><chapter><sect1><para>
 1.15689 -#: ../en/ch14-hgext.xml:466
 1.15690 +#: ../en/ch13-hgext.xml:464
 1.15691  msgid ""
 1.15692  "It's perfectly safe to run the <command role=\"hg-ext-patchbomb\">email</"
 1.15693  "command> command without the names of the people you want to send to: if you "
 1.15694 @@ -16468,7 +15546,7 @@
 1.15695  msgstr ""
 1.15696  
 1.15697  #. type: Content of: <book><chapter><sect1><para>
 1.15698 -#: ../en/ch14-hgext.xml:474
 1.15699 +#: ../en/ch13-hgext.xml:472
 1.15700  msgid ""
 1.15701  "When you are sending just one revision, the <command role=\"hg-ext-patchbomb"
 1.15702  "\">email</command> command will by default use the first line of the "
 1.15703 @@ -16476,7 +15554,7 @@
 1.15704  msgstr ""
 1.15705  
 1.15706  #. type: Content of: <book><chapter><sect1><para>
 1.15707 -#: ../en/ch14-hgext.xml:479
 1.15708 +#: ../en/ch13-hgext.xml:477
 1.15709  msgid ""
 1.15710  "If you send multiple revisions, the <command role=\"hg-ext-patchbomb\">email</"
 1.15711  "command> command will usually send one message per changeset.  It will "
 1.15712 @@ -16485,12 +15563,12 @@
 1.15713  msgstr ""
 1.15714  
 1.15715  #. type: Content of: <book><chapter><sect1><sect2><title>
 1.15716 -#: ../en/ch14-hgext.xml:486
 1.15717 +#: ../en/ch13-hgext.xml:484
 1.15718  msgid "Changing the behaviour of patchbombs"
 1.15719  msgstr "修改 patchbomb 的行为"
 1.15720  
 1.15721  #. type: Content of: <book><chapter><sect1><sect2><para>
 1.15722 -#: ../en/ch14-hgext.xml:488
 1.15723 +#: ../en/ch13-hgext.xml:486
 1.15724  msgid ""
 1.15725  "Not every project has exactly the same conventions for sending changes in "
 1.15726  "email; the <literal role=\"hg-ext\">patchbomb</literal> extension tries to "
 1.15727 @@ -16498,7 +15576,7 @@
 1.15728  msgstr ""
 1.15729  
 1.15730  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.15731 -#: ../en/ch14-hgext.xml:494
 1.15732 +#: ../en/ch13-hgext.xml:492
 1.15733  msgid ""
 1.15734  "You can write a subject for the introductory message on the command line "
 1.15735  "using the <option role=\"hg-ext-patchbomb-cmd-email-opt\">hg -s</option> "
 1.15736 @@ -16506,7 +15584,7 @@
 1.15737  msgstr ""
 1.15738  
 1.15739  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.15740 -#: ../en/ch14-hgext.xml:500
 1.15741 +#: ../en/ch13-hgext.xml:498
 1.15742  msgid ""
 1.15743  "To change the email address from which the messages originate, use the "
 1.15744  "<option role=\"hg-ext-patchbomb-cmd-email-opt\">hg -f</option> option.  This "
 1.15745 @@ -16514,7 +15592,7 @@
 1.15746  msgstr ""
 1.15747  
 1.15748  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.15749 -#: ../en/ch14-hgext.xml:506
 1.15750 +#: ../en/ch13-hgext.xml:504
 1.15751  msgid ""
 1.15752  "The default behaviour is to send unified diffs (see section <xref linkend="
 1.15753  "\"sec.mq.patch\"/> for a description of the format), one per message.  You "
 1.15754 @@ -16523,7 +15601,7 @@
 1.15755  msgstr ""
 1.15756  
 1.15757  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.15758 -#: ../en/ch14-hgext.xml:514
 1.15759 +#: ../en/ch13-hgext.xml:512
 1.15760  msgid ""
 1.15761  "Unified diffs are normally prefaced with a metadata header.  You can omit "
 1.15762  "this, and send unadorned diffs, with the <option role=\"hg-ext-patchbomb-cmd-"
 1.15763 @@ -16531,7 +15609,7 @@
 1.15764  msgstr ""
 1.15765  
 1.15766  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.15767 -#: ../en/ch14-hgext.xml:520
 1.15768 +#: ../en/ch13-hgext.xml:518
 1.15769  msgid ""
 1.15770  "Diffs are normally sent <quote>inline</quote>, in the same body part as the "
 1.15771  "description of a patch.  This makes it easiest for the largest number of "
 1.15772 @@ -16542,7 +15620,7 @@
 1.15773  msgstr ""
 1.15774  
 1.15775  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.15776 -#: ../en/ch14-hgext.xml:530
 1.15777 +#: ../en/ch13-hgext.xml:528
 1.15778  msgid ""
 1.15779  "Instead of sending mail messages, you can write them to an <literal>mbox</"
 1.15780  "literal>-format mail folder using the <option role=\"hg-ext-patchbomb-cmd-"
 1.15781 @@ -16551,7 +15629,7 @@
 1.15782  msgstr ""
 1.15783  
 1.15784  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 1.15785 -#: ../en/ch14-hgext.xml:537
 1.15786 +#: ../en/ch13-hgext.xml:535
 1.15787  msgid ""
 1.15788  "If you would like to add a <command>diffstat</command>-format summary to each "
 1.15789  "patch, and one to the introductory message, use the <option role=\"hg-ext-"
 1.15790 @@ -16560,3 +15638,60 @@
 1.15791  "the number of lines affected, and a histogram showing how much each file is "
 1.15792  "modified.  This gives readers a qualitative glance at how complex a patch is."
 1.15793  msgstr ""
 1.15794 +
 1.15795 +#~ msgid "Introduction"
 1.15796 +#~ msgstr "简介"
 1.15797 +
 1.15798 +#~ msgid "About revision control"
 1.15799 +#~ msgstr "关于版本控制"
 1.15800 +
 1.15801 +#~ msgid "Why use revision control?"
 1.15802 +#~ msgstr "为什么使用版本控制?"
 1.15803 +
 1.15804 +#~ msgid "The many names of revision control"
 1.15805 +#~ msgstr "版本控制的别名"
 1.15806 +
 1.15807 +#~ msgid "Revision control (RCS)"
 1.15808 +#~ msgstr "版本控制(RCS)"
 1.15809 +
 1.15810 +#~ msgid "Software configuration management (SCM), or configuration management"
 1.15811 +#~ msgstr "软件配置管理(SCM),或配置管理"
 1.15812 +
 1.15813 +#~ msgid "Source code management"
 1.15814 +#~ msgstr "源代码管理"
 1.15815 +
 1.15816 +#~ msgid "Source code control, or source control"
 1.15817 +#~ msgstr "源代码控制,或源控制"
 1.15818 +
 1.15819 +#~ msgid "Version control (VCS)"
 1.15820 +#~ msgstr "版本控制(VCS)"
 1.15821 +
 1.15822 +#~ msgid "A short history of revision control"
 1.15823 +#~ msgstr "版本控制简史"
 1.15824 +
 1.15825 +#~ msgid "Trends in revision control"
 1.15826 +#~ msgstr "版本控制的发展趋势"
 1.15827 +
 1.15828 +#~ msgid "A few of the advantages of distributed revision control"
 1.15829 +#~ msgstr "分布版本控制的优点"
 1.15830 +
 1.15831 +#~ msgid "Advantages for open source projects"
 1.15832 +#~ msgstr "开源项目的优点"
 1.15833 +
 1.15834 +#~ msgid "Advantages for commercial projects"
 1.15835 +#~ msgstr "商业项目的优点"
 1.15836 +
 1.15837 +#~ msgid "Why choose Mercurial?"
 1.15838 +#~ msgstr "为什么选择 Mercurial?"
 1.15839 +
 1.15840 +#~ msgid "Mercurial compared with other tools"
 1.15841 +#~ msgstr "Mercurial 与其它工具的比较"
 1.15842 +
 1.15843 +#~ msgid "Commercial tools"
 1.15844 +#~ msgstr "商业工具"
 1.15845 +
 1.15846 +#~ msgid "Choosing a revision control tool"
 1.15847 +#~ msgstr "选择版本控制工具"
 1.15848 +
 1.15849 +#~ msgid "Switching from another tool to Mercurial"
 1.15850 +#~ msgstr "从其它工具切换到 Mercurial"