hgbook

changeset 641:8b73656f95c9

Update file location in po files
author Dongsheng Song <dongsheng.song@gmail.com>
date Tue Mar 17 10:47:54 2009 +0800 (2009-03-17)
parents a13813534ccd
children a4b71115602d
files po/zh.po
line diff
     1.1 --- a/po/zh.po	Tue Mar 17 10:43:45 2009 +0800
     1.2 +++ b/po/zh.po	Tue Mar 17 10:47:54 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-12 16:06+0800\n"
     1.8 +"POT-Creation-Date: 2009-03-17 10:44+0800\n"
     1.9  "PO-Revision-Date: 2009-03-16 18:32+0800\n"
    1.10  "Last-Translator: \n"
    1.11  "Language-Team: Simplified Chinese <i18n-zh@googlegroups.com >\n"
    1.12 @@ -2784,47 +2784,48 @@
    1.13  #. type: Content of: <book><chapter><sect1><para>
    1.14  #: ../en/ch02-tour-basic.xml:253
    1.15  msgid ""
    1.16 -"Figure <xref linkend=\"fig.tour-basic.history\"/> provides a graphical "
    1.17 -"representation of the history of the <filename class=\"directory\">hello</"
    1.18 -"filename> repository, to make it a little easier to see which direction "
    1.19 -"history is <quote>flowing</quote> in.  We'll be returning to this figure "
    1.20 -"several times in this chapter and the chapter that follows."
    1.21 +"Figure <xref endterm=\"fig.tour-basic.history.caption\" linkend=\"fig.tour-"
    1.22 +"basic.history\"/> provides a graphical representation of the history of the "
    1.23 +"<filename class=\"directory\">hello</filename> repository, to make it a "
    1.24 +"little easier to see which direction history is <quote>flowing</quote> in.  "
    1.25 +"We'll be returning to this figure several times in this chapter and the "
    1.26 +"chapter that follows."
    1.27  msgstr ""
    1.28  
    1.29  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
    1.30 -#: ../en/ch02-tour-basic.xml:263
    1.31 +#: ../en/ch02-tour-basic.xml:264
    1.32  msgid ""
    1.33  "<imageobject><imagedata fileref=\"images/tour-history.png\"/></imageobject>"
    1.34  msgstr ""
    1.35  
    1.36  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><textobject><phrase>
    1.37 -#: ../en/ch02-tour-basic.xml:264 ../en/ch03-tour-merge.xml:48
    1.38 -#: ../en/ch03-tour-merge.xml:76 ../en/ch03-tour-merge.xml:124
    1.39 -#: ../en/ch03-tour-merge.xml:181 ../en/ch03-tour-merge.xml:248
    1.40 -#: ../en/ch04-concepts.xml:54 ../en/ch04-concepts.xml:104
    1.41 -#: ../en/ch04-concepts.xml:189 ../en/ch04-concepts.xml:293
    1.42 -#: ../en/ch04-concepts.xml:342 ../en/ch04-concepts.xml:356
    1.43 -#: ../en/ch04-concepts.xml:396 ../en/ch04-concepts.xml:415
    1.44 -#: ../en/ch04-concepts.xml:456 ../en/ch06-collab.xml:275
    1.45 -#: ../en/ch09-undo.xml:363 ../en/ch09-undo.xml:411 ../en/ch09-undo.xml:476
    1.46 -#: ../en/ch09-undo.xml:516 ../en/ch12-mq.xml:408
    1.47 +#: ../en/ch02-tour-basic.xml:265 ../en/ch03-tour-merge.xml:48
    1.48 +#: ../en/ch03-tour-merge.xml:78 ../en/ch03-tour-merge.xml:126
    1.49 +#: ../en/ch03-tour-merge.xml:182 ../en/ch03-tour-merge.xml:254
    1.50 +#: ../en/ch04-concepts.xml:56 ../en/ch04-concepts.xml:108
    1.51 +#: ../en/ch04-concepts.xml:194 ../en/ch04-concepts.xml:301
    1.52 +#: ../en/ch04-concepts.xml:353 ../en/ch04-concepts.xml:370
    1.53 +#: ../en/ch04-concepts.xml:414 ../en/ch04-concepts.xml:436
    1.54 +#: ../en/ch04-concepts.xml:480 ../en/ch06-collab.xml:277
    1.55 +#: ../en/ch09-undo.xml:366 ../en/ch09-undo.xml:417 ../en/ch09-undo.xml:485
    1.56 +#: ../en/ch09-undo.xml:527 ../en/ch12-mq.xml:409
    1.57  msgid "XXX add text"
    1.58  msgstr ""
    1.59  
    1.60  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
    1.61 -#: ../en/ch02-tour-basic.xml:265
    1.62 +#: ../en/ch02-tour-basic.xml:266
    1.63  msgid ""
    1.64  "Graphical history of the <filename class=\"directory\">hello</filename> "
    1.65  "repository"
    1.66  msgstr ""
    1.67  
    1.68  #. type: Content of: <book><chapter><sect1><sect2><title>
    1.69 -#: ../en/ch02-tour-basic.xml:272
    1.70 +#: ../en/ch02-tour-basic.xml:273
    1.71  msgid "Changesets, revisions, and talking to other people"
    1.72  msgstr "改变集,版本,与其它用户交互"
    1.73  
    1.74  #. type: Content of: <book><chapter><sect1><sect2><para>
    1.75 -#: ../en/ch02-tour-basic.xml:275
    1.76 +#: ../en/ch02-tour-basic.xml:276
    1.77  msgid ""
    1.78  "As English is a notoriously sloppy language, and computer science has a "
    1.79  "hallowed history of terminological confusion (why use one term when four will "
    1.80 @@ -2836,7 +2837,7 @@
    1.81  msgstr ""
    1.82  
    1.83  #. type: Content of: <book><chapter><sect1><sect2><para>
    1.84 -#: ../en/ch02-tour-basic.xml:285
    1.85 +#: ../en/ch02-tour-basic.xml:286
    1.86  msgid ""
    1.87  "While it doesn't matter what <emphasis>word</emphasis> you use to refer to "
    1.88  "the concept of <quote>a changeset</quote>, the <emphasis>identifier</"
    1.89 @@ -2847,13 +2848,13 @@
    1.90  msgstr ""
    1.91  
    1.92  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
    1.93 -#: ../en/ch02-tour-basic.xml:294
    1.94 +#: ../en/ch02-tour-basic.xml:295
    1.95  msgid ""
    1.96  "The revision number is <emphasis>only valid in that repository</emphasis>,"
    1.97  msgstr ""
    1.98  
    1.99  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
   1.100 -#: ../en/ch02-tour-basic.xml:296
   1.101 +#: ../en/ch02-tour-basic.xml:297
   1.102  msgid ""
   1.103  "while the hex string is the <emphasis>permanent, unchanging identifier</"
   1.104  "emphasis> that will always identify that exact changeset in <emphasis>every</"
   1.105 @@ -2861,7 +2862,7 @@
   1.106  msgstr ""
   1.107  
   1.108  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.109 -#: ../en/ch02-tour-basic.xml:301
   1.110 +#: ../en/ch02-tour-basic.xml:302
   1.111  msgid ""
   1.112  "This distinction is important.  If you send someone an email talking about "
   1.113  "<quote>revision 33</quote>, there's a high likelihood that their revision 33 "
   1.114 @@ -2873,7 +2874,7 @@
   1.115  msgstr ""
   1.116  
   1.117  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.118 -#: ../en/ch02-tour-basic.xml:311
   1.119 +#: ../en/ch02-tour-basic.xml:312
   1.120  msgid ""
   1.121  "Mercurial uses revision numbers purely as a convenient shorthand.  If you "
   1.122  "need to discuss a changeset with someone, or make a record of a changeset for "
   1.123 @@ -2882,12 +2883,12 @@
   1.124  msgstr ""
   1.125  
   1.126  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.127 -#: ../en/ch02-tour-basic.xml:319
   1.128 +#: ../en/ch02-tour-basic.xml:320
   1.129  msgid "Viewing specific revisions"
   1.130  msgstr "察看指定版本"
   1.131  
   1.132  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.133 -#: ../en/ch02-tour-basic.xml:321
   1.134 +#: ../en/ch02-tour-basic.xml:322
   1.135  msgid ""
   1.136  "To narrow the output of <command role=\"hg-cmd\">hg log</command> down to a "
   1.137  "single revision, use the <option role=\"hg-opt-log\">-r</option> (or <option "
   1.138 @@ -2897,7 +2898,7 @@
   1.139  msgstr ""
   1.140  
   1.141  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.142 -#: ../en/ch02-tour-basic.xml:330
   1.143 +#: ../en/ch02-tour-basic.xml:331
   1.144  msgid ""
   1.145  "If you want to see the history of several revisions without having to list "
   1.146  "each one, you can use <emphasis>range notation</emphasis>; this lets you "
   1.147 @@ -2906,7 +2907,7 @@
   1.148  msgstr ""
   1.149  
   1.150  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.151 -#: ../en/ch02-tour-basic.xml:338
   1.152 +#: ../en/ch02-tour-basic.xml:339
   1.153  msgid ""
   1.154  "Mercurial also honours the order in which you specify revisions, so <command "
   1.155  "role=\"hg-cmd\">hg log -r 2:4</command> prints 2, 3, and 4. while <command "
   1.156 @@ -2914,12 +2915,12 @@
   1.157  msgstr ""
   1.158  
   1.159  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.160 -#: ../en/ch02-tour-basic.xml:345
   1.161 +#: ../en/ch02-tour-basic.xml:346
   1.162  msgid "More detailed information"
   1.163  msgstr "更详细的信息"
   1.164  
   1.165  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.166 -#: ../en/ch02-tour-basic.xml:347
   1.167 +#: ../en/ch02-tour-basic.xml:348
   1.168  msgid ""
   1.169  "While the summary information printed by <command role=\"hg-cmd\">hg log</"
   1.170  "command> is useful if you already know what you're looking for, you may need "
   1.171 @@ -2931,7 +2932,7 @@
   1.172  msgstr ""
   1.173  
   1.174  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.175 -#: ../en/ch02-tour-basic.xml:359
   1.176 +#: ../en/ch02-tour-basic.xml:360
   1.177  msgid ""
   1.178  "If you want to see both the description and content of a change, add the "
   1.179  "<option role=\"hg-opt-log\">-p</option> (or <option role=\"hg-opt-log\">--"
   1.180 @@ -2941,12 +2942,12 @@
   1.181  msgstr ""
   1.182  
   1.183  #. type: Content of: <book><chapter><sect1><title>
   1.184 -#: ../en/ch02-tour-basic.xml:372
   1.185 +#: ../en/ch02-tour-basic.xml:373
   1.186  msgid "All about command options"
   1.187  msgstr "命令选项"
   1.188  
   1.189  #. type: Content of: <book><chapter><sect1><para>
   1.190 -#: ../en/ch02-tour-basic.xml:374
   1.191 +#: ../en/ch02-tour-basic.xml:375
   1.192  msgid ""
   1.193  "Let's take a brief break from exploring Mercurial commands to discuss a "
   1.194  "pattern in the way that they work; you may find this useful to keep in mind "
   1.195 @@ -2954,7 +2955,7 @@
   1.196  msgstr ""
   1.197  
   1.198  #. type: Content of: <book><chapter><sect1><para>
   1.199 -#: ../en/ch02-tour-basic.xml:378
   1.200 +#: ../en/ch02-tour-basic.xml:379
   1.201  msgid ""
   1.202  "Mercurial has a consistent and straightforward approach to dealing with the "
   1.203  "options that you can pass to commands.  It follows the conventions for "
   1.204 @@ -2962,7 +2963,7 @@
   1.205  msgstr ""
   1.206  
   1.207  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
   1.208 -#: ../en/ch02-tour-basic.xml:383
   1.209 +#: ../en/ch02-tour-basic.xml:384
   1.210  msgid ""
   1.211  "Every option has a long name.  For example, as we've already seen, the "
   1.212  "<command role=\"hg-cmd\">hg log</command> command accepts a <option role=\"hg-"
   1.213 @@ -2970,7 +2971,7 @@
   1.214  msgstr ""
   1.215  
   1.216  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
   1.217 -#: ../en/ch02-tour-basic.xml:387
   1.218 +#: ../en/ch02-tour-basic.xml:388
   1.219  msgid ""
   1.220  "Most options have short names, too.  Instead of <option role=\"hg-opt-log\">--"
   1.221  "rev</option>, we can use <option role=\"hg-opt-log\">-r</option>.  (The "
   1.222 @@ -2979,7 +2980,7 @@
   1.223  msgstr ""
   1.224  
   1.225  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
   1.226 -#: ../en/ch02-tour-basic.xml:392
   1.227 +#: ../en/ch02-tour-basic.xml:393
   1.228  msgid ""
   1.229  "Long options start with two dashes (e.g. <option role=\"hg-opt-log\">--rev</"
   1.230  "option>), while short options start with one (e.g. <option role=\"hg-opt-log"
   1.231 @@ -2987,7 +2988,7 @@
   1.232  msgstr ""
   1.233  
   1.234  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
   1.235 -#: ../en/ch02-tour-basic.xml:396
   1.236 +#: ../en/ch02-tour-basic.xml:397
   1.237  msgid ""
   1.238  "Option naming and usage is consistent across commands.  For example, every "
   1.239  "command that lets you specify a changeset ID or revision number accepts both "
   1.240 @@ -2996,7 +2997,7 @@
   1.241  msgstr ""
   1.242  
   1.243  #. type: Content of: <book><chapter><sect1><para>
   1.244 -#: ../en/ch02-tour-basic.xml:402
   1.245 +#: ../en/ch02-tour-basic.xml:403
   1.246  msgid ""
   1.247  "In the examples throughout this book, I use short options instead of long.  "
   1.248  "This just reflects my own preference, so don't read anything significant into "
   1.249 @@ -3004,7 +3005,7 @@
   1.250  msgstr ""
   1.251  
   1.252  #. type: Content of: <book><chapter><sect1><para>
   1.253 -#: ../en/ch02-tour-basic.xml:406
   1.254 +#: ../en/ch02-tour-basic.xml:407
   1.255  msgid ""
   1.256  "Most commands that print output of some kind will print more output when "
   1.257  "passed a <option role=\"hg-opt-global\">-v</option> (or <option role=\"hg-opt-"
   1.258 @@ -3013,19 +3014,19 @@
   1.259  msgstr ""
   1.260  
   1.261  #. type: Content of: <book><chapter><sect1><title>
   1.262 -#: ../en/ch02-tour-basic.xml:414
   1.263 +#: ../en/ch02-tour-basic.xml:415
   1.264  msgid "Making and reviewing changes"
   1.265  msgstr "创建和复审修改"
   1.266  
   1.267  #. type: Content of: <book><chapter><sect1><para>
   1.268 -#: ../en/ch02-tour-basic.xml:416
   1.269 +#: ../en/ch02-tour-basic.xml:417
   1.270  msgid ""
   1.271  "Now that we have a grasp of viewing history in Mercurial, let's take a look "
   1.272  "at making some changes and examining them."
   1.273  msgstr ""
   1.274  
   1.275  #. type: Content of: <book><chapter><sect1><para>
   1.276 -#: ../en/ch02-tour-basic.xml:420
   1.277 +#: ../en/ch02-tour-basic.xml:421
   1.278  msgid ""
   1.279  "The first thing we'll do is isolate our experiment in a repository of its "
   1.280  "own.  We use the <command role=\"hg-cmd\">hg clone</command> command, but we "
   1.281 @@ -3036,7 +3037,7 @@
   1.282  msgstr ""
   1.283  
   1.284  #. type: Content of: <book><chapter><sect1><para>
   1.285 -#: ../en/ch02-tour-basic.xml:430
   1.286 +#: ../en/ch02-tour-basic.xml:431
   1.287  msgid ""
   1.288  "As an aside, it's often good practice to keep a <quote>pristine</quote> copy "
   1.289  "of a remote repository around, which you can then make temporary clones of to "
   1.290 @@ -3048,7 +3049,7 @@
   1.291  msgstr ""
   1.292  
   1.293  #. type: Content of: <book><chapter><sect1><para>
   1.294 -#: ../en/ch02-tour-basic.xml:439
   1.295 +#: ../en/ch02-tour-basic.xml:440
   1.296  msgid ""
   1.297  "In our <filename class=\"directory\">my-hello</filename> repository, we have "
   1.298  "a file <filename>hello.c</filename> that contains the classic <quote>hello, "
   1.299 @@ -3061,14 +3062,14 @@
   1.300  msgstr ""
   1.301  
   1.302  #. type: Content of: <book><chapter><sect1><para>
   1.303 -#: ../en/ch02-tour-basic.xml:452
   1.304 +#: ../en/ch02-tour-basic.xml:453
   1.305  msgid ""
   1.306  "Mercurial's <command role=\"hg-cmd\">hg status</command> command will tell us "
   1.307  "what Mercurial knows about the files in the repository."
   1.308  msgstr ""
   1.309  
   1.310  #. type: Content of: <book><chapter><sect1><para>
   1.311 -#: ../en/ch02-tour-basic.xml:458
   1.312 +#: ../en/ch02-tour-basic.xml:459
   1.313  msgid ""
   1.314  "The <command role=\"hg-cmd\">hg status</command> command prints no output for "
   1.315  "some files, but a line starting with <quote><literal>M</literal></quote> for "
   1.316 @@ -3078,7 +3079,7 @@
   1.317  msgstr ""
   1.318  
   1.319  #. type: Content of: <book><chapter><sect1><para>
   1.320 -#: ../en/ch02-tour-basic.xml:465
   1.321 +#: ../en/ch02-tour-basic.xml:466
   1.322  msgid ""
   1.323  "The <quote><literal>M</literal></quote> indicates that Mercurial has noticed "
   1.324  "that we modified <filename>hello.c</filename>.  We didn't need to "
   1.325 @@ -3088,7 +3089,7 @@
   1.326  msgstr ""
   1.327  
   1.328  #. type: Content of: <book><chapter><sect1><para>
   1.329 -#: ../en/ch02-tour-basic.xml:473
   1.330 +#: ../en/ch02-tour-basic.xml:474
   1.331  msgid ""
   1.332  "It's a little bit helpful to know that we've modified <filename>hello.c</"
   1.333  "filename>, but we might prefer to know exactly <emphasis>what</emphasis> "
   1.334 @@ -3097,12 +3098,12 @@
   1.335  msgstr ""
   1.336  
   1.337  #. type: Content of: <book><chapter><sect1><title>
   1.338 -#: ../en/ch02-tour-basic.xml:483
   1.339 +#: ../en/ch02-tour-basic.xml:484
   1.340  msgid "Recording changes in a new changeset"
   1.341  msgstr "在新修改集中记录修改"
   1.342  
   1.343  #. type: Content of: <book><chapter><sect1><para>
   1.344 -#: ../en/ch02-tour-basic.xml:485
   1.345 +#: ../en/ch02-tour-basic.xml:486
   1.346  msgid ""
   1.347  "We can modify files, build and test our changes, and use <command role=\"hg-"
   1.348  "cmd\">hg status</command> and <command role=\"hg-cmd\">hg diff</command> to "
   1.349 @@ -3111,7 +3112,7 @@
   1.350  msgstr ""
   1.351  
   1.352  #. type: Content of: <book><chapter><sect1><para>
   1.353 -#: ../en/ch02-tour-basic.xml:492
   1.354 +#: ../en/ch02-tour-basic.xml:493
   1.355  msgid ""
   1.356  "The <command role=\"hg-cmd\">hg commit</command> command lets us create a new "
   1.357  "changeset; we'll usually refer to this as <quote>making a commit</quote> or "
   1.358 @@ -3119,12 +3120,12 @@
   1.359  msgstr ""
   1.360  
   1.361  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.362 -#: ../en/ch02-tour-basic.xml:498
   1.363 +#: ../en/ch02-tour-basic.xml:499
   1.364  msgid "Setting up a username"
   1.365  msgstr "配置用户名称"
   1.366  
   1.367  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.368 -#: ../en/ch02-tour-basic.xml:500
   1.369 +#: ../en/ch02-tour-basic.xml:501
   1.370  msgid ""
   1.371  "When you try to run <command role=\"hg-cmd\">hg commit</command> for the "
   1.372  "first time, it is not guaranteed to succeed.  Mercurial records your name and "
   1.373 @@ -3135,7 +3136,7 @@
   1.374  msgstr ""
   1.375  
   1.376  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.377 -#: ../en/ch02-tour-basic.xml:509
   1.378 +#: ../en/ch02-tour-basic.xml:510
   1.379  msgid ""
   1.380  "If you specify a <option role=\"hg-opt-commit\">-u</option> option to the "
   1.381  "<command role=\"hg-cmd\">hg commit</command> command on the command line, "
   1.382 @@ -3143,14 +3144,14 @@
   1.383  msgstr ""
   1.384  
   1.385  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.386 -#: ../en/ch02-tour-basic.xml:514
   1.387 +#: ../en/ch02-tour-basic.xml:515
   1.388  msgid ""
   1.389  "If you have set the <envar>HGUSER</envar> environment variable, this is "
   1.390  "checked next."
   1.391  msgstr ""
   1.392  
   1.393  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.394 -#: ../en/ch02-tour-basic.xml:517
   1.395 +#: ../en/ch02-tour-basic.xml:518
   1.396  msgid ""
   1.397  "If you create a file in your home directory called <filename role=\"special"
   1.398  "\">.hgrc</filename>, with a <envar role=\"rc-item-ui\">username</envar> "
   1.399 @@ -3159,14 +3160,14 @@
   1.400  msgstr ""
   1.401  
   1.402  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.403 -#: ../en/ch02-tour-basic.xml:524
   1.404 +#: ../en/ch02-tour-basic.xml:525
   1.405  msgid ""
   1.406  "If you have set the <envar>EMAIL</envar> environment variable, this will be "
   1.407  "used next."
   1.408  msgstr ""
   1.409  
   1.410  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
   1.411 -#: ../en/ch02-tour-basic.xml:527
   1.412 +#: ../en/ch02-tour-basic.xml:528
   1.413  msgid ""
   1.414  "Mercurial will query your system to find out your local user name and host "
   1.415  "name, and construct a username from these components. Since this often "
   1.416 @@ -3175,7 +3176,7 @@
   1.417  msgstr ""
   1.418  
   1.419  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.420 -#: ../en/ch02-tour-basic.xml:534
   1.421 +#: ../en/ch02-tour-basic.xml:535
   1.422  msgid ""
   1.423  "If all of these mechanisms fail, Mercurial will fail, printing an error "
   1.424  "message.  In this case, it will not let you commit until you set up a "
   1.425 @@ -3183,7 +3184,7 @@
   1.426  msgstr ""
   1.427  
   1.428  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.429 -#: ../en/ch02-tour-basic.xml:538
   1.430 +#: ../en/ch02-tour-basic.xml:539
   1.431  msgid ""
   1.432  "You should think of the <envar>HGUSER</envar> environment variable and the "
   1.433  "<option role=\"hg-opt-commit\">-u</option> option to the <command role=\"hg-"
   1.434 @@ -3194,12 +3195,12 @@
   1.435  msgstr ""
   1.436  
   1.437  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
   1.438 -#: ../en/ch02-tour-basic.xml:547
   1.439 +#: ../en/ch02-tour-basic.xml:548
   1.440  msgid "Creating a Mercurial configuration file"
   1.441  msgstr "创建 Mercurial 的配置文件"
   1.442  
   1.443  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
   1.444 -#: ../en/ch02-tour-basic.xml:549
   1.445 +#: ../en/ch02-tour-basic.xml:550
   1.446  msgid ""
   1.447  "To set a user name, use your favourite editor to create a file called "
   1.448  "<filename role=\"special\">.hgrc</filename> in your home directory.  "
   1.449 @@ -3209,7 +3210,7 @@
   1.450  msgstr ""
   1.451  
   1.452  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
   1.453 -#: ../en/ch02-tour-basic.xml:560
   1.454 +#: ../en/ch02-tour-basic.xml:561
   1.455  msgid ""
   1.456  "The <quote><literal>[ui]</literal></quote> line begins a <emphasis>section</"
   1.457  "emphasis> of the config file, so you can read the <quote><literal>username "
   1.458 @@ -3221,12 +3222,12 @@
   1.459  msgstr ""
   1.460  
   1.461  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
   1.462 -#: ../en/ch02-tour-basic.xml:573
   1.463 +#: ../en/ch02-tour-basic.xml:574
   1.464  msgid "Choosing a user name"
   1.465  msgstr "选择用户名称"
   1.466  
   1.467  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
   1.468 -#: ../en/ch02-tour-basic.xml:575
   1.469 +#: ../en/ch02-tour-basic.xml:576
   1.470  msgid ""
   1.471  "You can use any text you like as the value of the <literal>username</literal> "
   1.472  "config item, since this information is for reading by other people, but for "
   1.473 @@ -3235,7 +3236,7 @@
   1.474  msgstr ""
   1.475  
   1.476  #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para>
   1.477 -#: ../en/ch02-tour-basic.xml:582
   1.478 +#: ../en/ch02-tour-basic.xml:583
   1.479  msgid ""
   1.480  "Mercurial's built-in web server obfuscates email addresses, to make it more "
   1.481  "difficult for the email harvesting tools that spammers use. This reduces the "
   1.482 @@ -3244,12 +3245,12 @@
   1.483  msgstr ""
   1.484  
   1.485  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.486 -#: ../en/ch02-tour-basic.xml:592
   1.487 +#: ../en/ch02-tour-basic.xml:593
   1.488  msgid "Writing a commit message"
   1.489  msgstr "写提交日志"
   1.490  
   1.491  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.492 -#: ../en/ch02-tour-basic.xml:594
   1.493 +#: ../en/ch02-tour-basic.xml:595
   1.494  msgid ""
   1.495  "When we commit a change, Mercurial drops us into a text editor, to enter a "
   1.496  "message that will describe the modifications we've made in this changeset.  "
   1.497 @@ -3259,7 +3260,7 @@
   1.498  msgstr ""
   1.499  
   1.500  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.501 -#: ../en/ch02-tour-basic.xml:604
   1.502 +#: ../en/ch02-tour-basic.xml:605
   1.503  msgid ""
   1.504  "The editor that the <command role=\"hg-cmd\">hg commit</command> command "
   1.505  "drops us into will contain an empty line, followed by a number of lines "
   1.506 @@ -3267,7 +3268,7 @@
   1.507  msgstr ""
   1.508  
   1.509  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.510 -#: ../en/ch02-tour-basic.xml:611
   1.511 +#: ../en/ch02-tour-basic.xml:612
   1.512  msgid ""
   1.513  "Mercurial ignores the lines that start with <quote><literal>HG:</literal></"
   1.514  "quote>; it uses them only to tell us which files it's recording changes to.  "
   1.515 @@ -3275,12 +3276,12 @@
   1.516  msgstr ""
   1.517  
   1.518  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.519 -#: ../en/ch02-tour-basic.xml:617
   1.520 +#: ../en/ch02-tour-basic.xml:618
   1.521  msgid "Writing a good commit message"
   1.522  msgstr "写好提交日志"
   1.523  
   1.524  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.525 -#: ../en/ch02-tour-basic.xml:619
   1.526 +#: ../en/ch02-tour-basic.xml:620
   1.527  msgid ""
   1.528  "Since <command role=\"hg-cmd\">hg log</command> only prints the first line of "
   1.529  "a commit message by default, it's best to write a commit message whose first "
   1.530 @@ -3290,7 +3291,7 @@
   1.531  msgstr ""
   1.532  
   1.533  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.534 -#: ../en/ch02-tour-basic.xml:633
   1.535 +#: ../en/ch02-tour-basic.xml:634
   1.536  msgid ""
   1.537  "As far as the remainder of the contents of the commit message are concerned, "
   1.538  "there are no hard-and-fast rules.  Mercurial itself doesn't interpret or care "
   1.539 @@ -3299,7 +3300,7 @@
   1.540  msgstr ""
   1.541  
   1.542  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.543 -#: ../en/ch02-tour-basic.xml:639
   1.544 +#: ../en/ch02-tour-basic.xml:640
   1.545  msgid ""
   1.546  "My personal preference is for short, but informative, commit messages that "
   1.547  "tell me something that I can't figure out with a quick glance at the output "
   1.548 @@ -3307,12 +3308,12 @@
   1.549  msgstr ""
   1.550  
   1.551  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.552 -#: ../en/ch02-tour-basic.xml:646
   1.553 +#: ../en/ch02-tour-basic.xml:647
   1.554  msgid "Aborting a commit"
   1.555  msgstr "终止提交"
   1.556  
   1.557  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.558 -#: ../en/ch02-tour-basic.xml:648
   1.559 +#: ../en/ch02-tour-basic.xml:649
   1.560  msgid ""
   1.561  "If you decide that you don't want to commit while in the middle of editing a "
   1.562  "commit message, simply exit from your editor without saving the file that "
   1.563 @@ -3321,7 +3322,7 @@
   1.564  msgstr ""
   1.565  
   1.566  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.567 -#: ../en/ch02-tour-basic.xml:653
   1.568 +#: ../en/ch02-tour-basic.xml:654
   1.569  msgid ""
   1.570  "If we run the <command role=\"hg-cmd\">hg commit</command> command without "
   1.571  "any arguments, it records all of the changes we've made, as reported by "
   1.572 @@ -3330,12 +3331,12 @@
   1.573  msgstr ""
   1.574  
   1.575  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.576 -#: ../en/ch02-tour-basic.xml:660
   1.577 +#: ../en/ch02-tour-basic.xml:661
   1.578  msgid "Admiring our new handiwork"
   1.579  msgstr "欣赏我们的新手艺"
   1.580  
   1.581  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.582 -#: ../en/ch02-tour-basic.xml:662
   1.583 +#: ../en/ch02-tour-basic.xml:663
   1.584  msgid ""
   1.585  "Once we've finished the commit, we can use the <command role=\"hg-cmd\">hg "
   1.586  "tip</command> command to display the changeset we just created.  This command "
   1.587 @@ -3344,19 +3345,19 @@
   1.588  msgstr ""
   1.589  
   1.590  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.591 -#: ../en/ch02-tour-basic.xml:671
   1.592 +#: ../en/ch02-tour-basic.xml:672
   1.593  msgid ""
   1.594  "We refer to the newest revision in the repository as the tip revision, or "
   1.595  "simply the tip."
   1.596  msgstr ""
   1.597  
   1.598  #. type: Content of: <book><chapter><sect1><title>
   1.599 -#: ../en/ch02-tour-basic.xml:678
   1.600 +#: ../en/ch02-tour-basic.xml:679
   1.601  msgid "Sharing changes"
   1.602  msgstr "共享修改"
   1.603  
   1.604  #. type: Content of: <book><chapter><sect1><para>
   1.605 -#: ../en/ch02-tour-basic.xml:680
   1.606 +#: ../en/ch02-tour-basic.xml:681
   1.607  msgid ""
   1.608  "We mentioned earlier that repositories in Mercurial are self-contained.  This "
   1.609  "means that the changeset we just created exists only in our <filename class="
   1.610 @@ -3365,12 +3366,12 @@
   1.611  msgstr ""
   1.612  
   1.613  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.614 -#: ../en/ch02-tour-basic.xml:688
   1.615 +#: ../en/ch02-tour-basic.xml:689
   1.616  msgid "Pulling changes from another repository"
   1.617  msgstr "从其它版本库取得修改"
   1.618  
   1.619  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.620 -#: ../en/ch02-tour-basic.xml:689
   1.621 +#: ../en/ch02-tour-basic.xml:690
   1.622  msgid ""
   1.623  "To get started, let's clone our original <filename class=\"directory\">hello</"
   1.624  "filename> repository, which does not contain the change we just committed.  "
   1.625 @@ -3379,7 +3380,7 @@
   1.626  msgstr ""
   1.627  
   1.628  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.629 -#: ../en/ch02-tour-basic.xml:697
   1.630 +#: ../en/ch02-tour-basic.xml:698
   1.631  msgid ""
   1.632  "We'll use the <command role=\"hg-cmd\">hg pull</command> command to bring "
   1.633  "changes from <filename class=\"directory\">my-hello</filename> into <filename "
   1.634 @@ -3392,7 +3393,7 @@
   1.635  msgstr ""
   1.636  
   1.637  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.638 -#: ../en/ch02-tour-basic.xml:710
   1.639 +#: ../en/ch02-tour-basic.xml:711
   1.640  msgid ""
   1.641  "(Of course, someone could cause more changesets to appear in the repository "
   1.642  "that we ran <command role=\"hg-cmd\">hg incoming</command> in, before we get "
   1.643 @@ -3401,7 +3402,7 @@
   1.644  msgstr ""
   1.645  
   1.646  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.647 -#: ../en/ch02-tour-basic.xml:717
   1.648 +#: ../en/ch02-tour-basic.xml:718
   1.649  msgid ""
   1.650  "Bringing changes into a repository is a simple matter of running the <command "
   1.651  "role=\"hg-cmd\">hg pull</command> command, and telling it which repository to "
   1.652 @@ -3409,7 +3410,7 @@
   1.653  msgstr ""
   1.654  
   1.655  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.656 -#: ../en/ch02-tour-basic.xml:724
   1.657 +#: ../en/ch02-tour-basic.xml:725
   1.658  msgid ""
   1.659  "As you can see from the before-and-after output of <command role=\"hg-cmd"
   1.660  "\">hg tip</command>, we have successfully pulled changes into our "
   1.661 @@ -3418,12 +3419,12 @@
   1.662  msgstr ""
   1.663  
   1.664  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.665 -#: ../en/ch02-tour-basic.xml:732
   1.666 +#: ../en/ch02-tour-basic.xml:733
   1.667  msgid "Updating the working directory"
   1.668  msgstr "更新工作目录"
   1.669  
   1.670  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.671 -#: ../en/ch02-tour-basic.xml:734
   1.672 +#: ../en/ch02-tour-basic.xml:735
   1.673  msgid ""
   1.674  "We have so far glossed over the relationship between a repository and its "
   1.675  "working directory.  The <command role=\"hg-cmd\">hg pull</command> command "
   1.676 @@ -3435,7 +3436,7 @@
   1.677  msgstr ""
   1.678  
   1.679  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.680 -#: ../en/ch02-tour-basic.xml:746
   1.681 +#: ../en/ch02-tour-basic.xml:747
   1.682  msgid ""
   1.683  "It might seem a bit strange that <command role=\"hg-cmd\">hg pull</command> "
   1.684  "doesn't update the working directory automatically.  There's actually a good "
   1.685 @@ -3449,7 +3450,7 @@
   1.686  msgstr ""
   1.687  
   1.688  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.689 -#: ../en/ch02-tour-basic.xml:757
   1.690 +#: ../en/ch02-tour-basic.xml:758
   1.691  msgid ""
   1.692  "However, since pull-then-update is such a common thing to do, Mercurial lets "
   1.693  "you combine the two by passing the <option role=\"hg-opt-pull\">-u</option> "
   1.694 @@ -3457,7 +3458,7 @@
   1.695  msgstr ""
   1.696  
   1.697  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.698 -#: ../en/ch02-tour-basic.xml:762
   1.699 +#: ../en/ch02-tour-basic.xml:763
   1.700  msgid ""
   1.701  "If you look back at the output of <command role=\"hg-cmd\">hg pull</command> "
   1.702  "in section <xref linkend=\"sec.tour.pull\"/> when we ran it without <option "
   1.703 @@ -3467,25 +3468,25 @@
   1.704  msgstr ""
   1.705  
   1.706  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.707 -#: ../en/ch02-tour-basic.xml:771
   1.708 +#: ../en/ch02-tour-basic.xml:772
   1.709  msgid ""
   1.710  "To find out what revision the working directory is at, use the <command role="
   1.711  "\"hg-cmd\">hg parents</command> command."
   1.712  msgstr ""
   1.713  
   1.714  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.715 -#: ../en/ch02-tour-basic.xml:777
   1.716 -msgid ""
   1.717 -"If you look back at figure <xref linkend=\"fig.tour-basic.history\"/>, you'll "
   1.718 -"see arrows connecting each changeset.  The node that the arrow leads "
   1.719 -"<emphasis>from</emphasis> in each case is a parent, and the node that the "
   1.720 -"arrow leads <emphasis>to</emphasis> is its child.  The working directory has "
   1.721 -"a parent in just the same way; this is the changeset that the working "
   1.722 -"directory currently contains."
   1.723 -msgstr ""
   1.724 -
   1.725 -#. type: Content of: <book><chapter><sect1><sect2><para>
   1.726 -#: ../en/ch02-tour-basic.xml:786
   1.727 +#: ../en/ch02-tour-basic.xml:778
   1.728 +msgid ""
   1.729 +"If you look back at figure <xref endterm=\"fig.tour-basic.history.caption\" "
   1.730 +"linkend=\"fig.tour-basic.history\"/>, you'll see arrows connecting each "
   1.731 +"changeset.  The node that the arrow leads <emphasis>from</emphasis> in each "
   1.732 +"case is a parent, and the node that the arrow leads <emphasis>to</emphasis> "
   1.733 +"is its child.  The working directory has a parent in just the same way; this "
   1.734 +"is the changeset that the working directory currently contains."
   1.735 +msgstr ""
   1.736 +
   1.737 +#. type: Content of: <book><chapter><sect1><sect2><para>
   1.738 +#: ../en/ch02-tour-basic.xml:788
   1.739  msgid ""
   1.740  "To update the working directory to a particular revision, give a revision "
   1.741  "number or changeset ID to the <command role=\"hg-cmd\">hg update</command> "
   1.742 @@ -3493,7 +3494,7 @@
   1.743  msgstr ""
   1.744  
   1.745  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.746 -#: ../en/ch02-tour-basic.xml:793
   1.747 +#: ../en/ch02-tour-basic.xml:795
   1.748  msgid ""
   1.749  "If you omit an explicit revision, <command role=\"hg-cmd\">hg update</"
   1.750  "command> will update to the tip revision, as shown by the second call to "
   1.751 @@ -3501,12 +3502,12 @@
   1.752  msgstr ""
   1.753  
   1.754  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.755 -#: ../en/ch02-tour-basic.xml:801
   1.756 +#: ../en/ch02-tour-basic.xml:803
   1.757  msgid "Pushing changes to another repository"
   1.758  msgstr "发布修改到其它版本库"
   1.759  
   1.760  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.761 -#: ../en/ch02-tour-basic.xml:803
   1.762 +#: ../en/ch02-tour-basic.xml:805
   1.763  msgid ""
   1.764  "Mercurial lets us push changes to another repository, from the repository "
   1.765  "we're currently visiting.  As with the example of <command role=\"hg-cmd\">hg "
   1.766 @@ -3515,21 +3516,21 @@
   1.767  msgstr ""
   1.768  
   1.769  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.770 -#: ../en/ch02-tour-basic.xml:811
   1.771 +#: ../en/ch02-tour-basic.xml:813
   1.772  msgid ""
   1.773  "The <command role=\"hg-cmd\">hg outgoing</command> command tells us what "
   1.774  "changes would be pushed into another repository."
   1.775  msgstr ""
   1.776  
   1.777  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.778 -#: ../en/ch02-tour-basic.xml:817
   1.779 +#: ../en/ch02-tour-basic.xml:819
   1.780  msgid ""
   1.781  "And the <command role=\"hg-cmd\">hg push</command> command does the actual "
   1.782  "push."
   1.783  msgstr ""
   1.784  
   1.785  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.786 -#: ../en/ch02-tour-basic.xml:823
   1.787 +#: ../en/ch02-tour-basic.xml:825
   1.788  msgid ""
   1.789  "As with <command role=\"hg-cmd\">hg pull</command>, the <command role=\"hg-cmd"
   1.790  "\">hg push</command> command does not update the working directory in the "
   1.791 @@ -3540,19 +3541,19 @@
   1.792  msgstr ""
   1.793  
   1.794  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.795 -#: ../en/ch02-tour-basic.xml:832
   1.796 +#: ../en/ch02-tour-basic.xml:834
   1.797  msgid ""
   1.798  "What happens if we try to pull or push changes and the receiving repository "
   1.799  "already has those changes? Nothing too exciting."
   1.800  msgstr ""
   1.801  
   1.802  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.803 -#: ../en/ch02-tour-basic.xml:839
   1.804 +#: ../en/ch02-tour-basic.xml:841
   1.805  msgid "Sharing changes over a network"
   1.806  msgstr "通过网络共享修改"
   1.807  
   1.808  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.809 -#: ../en/ch02-tour-basic.xml:841
   1.810 +#: ../en/ch02-tour-basic.xml:843
   1.811  msgid ""
   1.812  "The commands we have covered in the previous few sections are not limited to "
   1.813  "working with local repositories.  Each works in exactly the same fashion over "
   1.814 @@ -3560,7 +3561,7 @@
   1.815  msgstr ""
   1.816  
   1.817  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.818 -#: ../en/ch02-tour-basic.xml:849
   1.819 +#: ../en/ch02-tour-basic.xml:851
   1.820  msgid ""
   1.821  "In this example, we can see what changes we could push to the remote "
   1.822  "repository, but the repository is understandably not set up to let anonymous "
   1.823 @@ -3622,7 +3623,8 @@
   1.824  msgid ""
   1.825  "We should now have two copies of <filename>hello.c</filename> with different "
   1.826  "contents.  The histories of the two repositories have also diverged, as "
   1.827 -"illustrated in figure <xref linkend=\"fig.tour-merge.sep-repos\"/>."
   1.828 +"illustrated in figure <xref endterm=\"fig.tour-merge.sep-repos.caption\" "
   1.829 +"linkend=\"fig.tour-merge.sep-repos\"/>."
   1.830  msgstr ""
   1.831  
   1.832  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
   1.833 @@ -3641,7 +3643,7 @@
   1.834  msgstr ""
   1.835  
   1.836  #. type: Content of: <book><chapter><sect1><para>
   1.837 -#: ../en/ch03-tour-merge.xml:56
   1.838 +#: ../en/ch03-tour-merge.xml:57
   1.839  msgid ""
   1.840  "We already know that pulling changes from our <filename class=\"directory"
   1.841  "\">my-hello</filename> repository will have no effect on the working "
   1.842 @@ -3649,19 +3651,19 @@
   1.843  msgstr ""
   1.844  
   1.845  #. type: Content of: <book><chapter><sect1><para>
   1.846 -#: ../en/ch03-tour-merge.xml:62
   1.847 +#: ../en/ch03-tour-merge.xml:63
   1.848  msgid ""
   1.849  "However, the <command role=\"hg-cmd\">hg pull</command> command says "
   1.850  "something about <quote>heads</quote>."
   1.851  msgstr ""
   1.852  
   1.853  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.854 -#: ../en/ch03-tour-merge.xml:66
   1.855 +#: ../en/ch03-tour-merge.xml:67
   1.856  msgid "Head changesets"
   1.857  msgstr "顶点改变集"
   1.858  
   1.859  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.860 -#: ../en/ch03-tour-merge.xml:68
   1.861 +#: ../en/ch03-tour-merge.xml:69
   1.862  msgid ""
   1.863  "A head is a change that has no descendants, or children, as they're also "
   1.864  "known.  The tip revision is thus a head, because the newest revision in a "
   1.865 @@ -3670,13 +3672,13 @@
   1.866  msgstr ""
   1.867  
   1.868  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
   1.869 -#: ../en/ch03-tour-merge.xml:75
   1.870 +#: ../en/ch03-tour-merge.xml:77
   1.871  msgid ""
   1.872  "<imageobject><imagedata fileref=\"images/tour-merge-pull.png\"/></imageobject>"
   1.873  msgstr ""
   1.874  
   1.875  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
   1.876 -#: ../en/ch03-tour-merge.xml:78
   1.877 +#: ../en/ch03-tour-merge.xml:79
   1.878  msgid ""
   1.879  "Repository contents after pulling from <filename class=\"directory\">my-"
   1.880  "hello</filename> into <filename class=\"directory\">my-new-hello</filename>"
   1.881 @@ -3685,12 +3687,13 @@
   1.882  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.883  #: ../en/ch03-tour-merge.xml:85
   1.884  msgid ""
   1.885 -"In figure <xref linkend=\"fig.tour-merge.pull\"/>, you can see the effect of "
   1.886 -"the pull from <filename class=\"directory\">my-hello</filename> into "
   1.887 -"<filename class=\"directory\">my-new-hello</filename>.  The history that was "
   1.888 -"already present in <filename class=\"directory\">my-new-hello</filename> is "
   1.889 -"untouched, but a new revision has been added.  By referring to figure <xref "
   1.890 -"linkend=\"fig.tour-merge.sep-repos\"/>, we can see that the "
   1.891 +"In figure <xref endterm=\"fig.tour-merge.pull.caption\" linkend=\"fig.tour-"
   1.892 +"merge.pull\"/>, you can see the effect of the pull from <filename class="
   1.893 +"\"directory\">my-hello</filename> into <filename class=\"directory\">my-new-"
   1.894 +"hello</filename>.  The history that was already present in <filename class="
   1.895 +"\"directory\">my-new-hello</filename> is untouched, but a new revision has "
   1.896 +"been added.  By referring to figure <xref endterm=\"fig.tour-merge.sep-repos."
   1.897 +"caption\" linkend=\"fig.tour-merge.sep-repos\"/>, we can see that the "
   1.898  "<emphasis>changeset ID</emphasis> remains the same in the new repository, but "
   1.899  "the <emphasis>revision number</emphasis> has changed.  (This, incidentally, "
   1.900  "is a fine example of why it's not safe to use revision numbers when "
   1.901 @@ -3699,19 +3702,19 @@
   1.902  msgstr ""
   1.903  
   1.904  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.905 -#: ../en/ch03-tour-merge.xml:104
   1.906 +#: ../en/ch03-tour-merge.xml:106
   1.907  msgid "Performing the merge"
   1.908  msgstr "执行合并"
   1.909  
   1.910  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.911 -#: ../en/ch03-tour-merge.xml:106
   1.912 +#: ../en/ch03-tour-merge.xml:108
   1.913  msgid ""
   1.914  "What happens if we try to use the normal <command role=\"hg-cmd\">hg update</"
   1.915  "command> command to update to the new tip?"
   1.916  msgstr ""
   1.917  
   1.918  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.919 -#: ../en/ch03-tour-merge.xml:112
   1.920 +#: ../en/ch03-tour-merge.xml:114
   1.921  msgid ""
   1.922  "Mercurial is telling us that the <command role=\"hg-cmd\">hg update</command> "
   1.923  "command won't do a merge; it won't update the working directory when it "
   1.924 @@ -3721,19 +3724,19 @@
   1.925  msgstr ""
   1.926  
   1.927  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
   1.928 -#: ../en/ch03-tour-merge.xml:123
   1.929 +#: ../en/ch03-tour-merge.xml:125
   1.930  msgid ""
   1.931  "<imageobject><imagedata fileref=\"images/tour-merge-merge.png\"/></"
   1.932  "imageobject>"
   1.933  msgstr ""
   1.934  
   1.935  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
   1.936 -#: ../en/ch03-tour-merge.xml:126
   1.937 +#: ../en/ch03-tour-merge.xml:127
   1.938  msgid "Working directory and repository during merge, and following commit"
   1.939  msgstr ""
   1.940  
   1.941  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.942 -#: ../en/ch03-tour-merge.xml:131
   1.943 +#: ../en/ch03-tour-merge.xml:132
   1.944  msgid ""
   1.945  "This updates the working directory so that it contains changes from "
   1.946  "<emphasis>both</emphasis> heads, which is reflected in both the output of "
   1.947 @@ -3742,12 +3745,12 @@
   1.948  msgstr ""
   1.949  
   1.950  #. type: Content of: <book><chapter><sect1><sect2><title>
   1.951 -#: ../en/ch03-tour-merge.xml:141
   1.952 +#: ../en/ch03-tour-merge.xml:142
   1.953  msgid "Committing the results of the merge"
   1.954  msgstr "提交合并结果"
   1.955  
   1.956  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.957 -#: ../en/ch03-tour-merge.xml:143
   1.958 +#: ../en/ch03-tour-merge.xml:144
   1.959  msgid ""
   1.960  "Whenever we've done a merge, <command role=\"hg-cmd\">hg parents</command> "
   1.961  "will display two parents until we <command role=\"hg-cmd\">hg commit</"
   1.962 @@ -3755,7 +3758,7 @@
   1.963  msgstr ""
   1.964  
   1.965  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.966 -#: ../en/ch03-tour-merge.xml:150
   1.967 +#: ../en/ch03-tour-merge.xml:151
   1.968  msgid ""
   1.969  "We now have a new tip revision; notice that it has <emphasis>both</emphasis> "
   1.970  "of our former heads as its parents.  These are the same revisions that were "
   1.971 @@ -3763,22 +3766,22 @@
   1.972  msgstr ""
   1.973  
   1.974  #. type: Content of: <book><chapter><sect1><sect2><para>
   1.975 -#: ../en/ch03-tour-merge.xml:157
   1.976 -msgid ""
   1.977 -"In figure <xref linkend=\"fig.tour-merge.merge\"/>, you can see a "
   1.978 -"representation of what happens to the working directory during the merge, and "
   1.979 -"how this affects the repository when the commit happens.  During the merge, "
   1.980 -"the working directory has two parent changesets, and these become the parents "
   1.981 -"of the new changeset."
   1.982 +#: ../en/ch03-tour-merge.xml:158
   1.983 +msgid ""
   1.984 +"In figure <xref endterm=\"fig.tour-merge.merge.caption\" linkend=\"fig.tour-"
   1.985 +"merge.merge\"/>, you can see a representation of what happens to the working "
   1.986 +"directory during the merge, and how this affects the repository when the "
   1.987 +"commit happens.  During the merge, the working directory has two parent "
   1.988 +"changesets, and these become the parents of the new changeset."
   1.989  msgstr ""
   1.990  
   1.991  #. type: Content of: <book><chapter><sect1><title>
   1.992 -#: ../en/ch03-tour-merge.xml:168
   1.993 +#: ../en/ch03-tour-merge.xml:169
   1.994  msgid "Merging conflicting changes"
   1.995  msgstr "合并有冲突的改变"
   1.996  
   1.997  #. type: Content of: <book><chapter><sect1><para>
   1.998 -#: ../en/ch03-tour-merge.xml:170
   1.999 +#: ../en/ch03-tour-merge.xml:171
  1.1000  msgid ""
  1.1001  "Most merges are simple affairs, but sometimes you'll find yourself merging "
  1.1002  "changes where each modifies the same portions of the same files.  Unless both "
  1.1003 @@ -3790,27 +3793,28 @@
  1.1004  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
  1.1005  #: ../en/ch03-tour-merge.xml:180
  1.1006  msgid ""
  1.1007 -"<imageobject><imagedata fileref=\"images/tour-merge-conflict.png\"/></"
  1.1008 +"<imageobject><imagedata fileref=\"images/tour-merge-conflict.png\"/> </"
  1.1009  "imageobject>"
  1.1010  msgstr ""
  1.1011  
  1.1012  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
  1.1013 -#: ../en/ch03-tour-merge.xml:182
  1.1014 +#: ../en/ch03-tour-merge.xml:183
  1.1015  msgid "Conflicting changes to a document"
  1.1016  msgstr ""
  1.1017  
  1.1018  #. type: Content of: <book><chapter><sect1><para>
  1.1019 -#: ../en/ch03-tour-merge.xml:186
  1.1020 -msgid ""
  1.1021 -"Figure <xref linkend=\"fig.tour-merge.conflict\"/> illustrates an instance of "
  1.1022 -"two conflicting changes to a document.  We started with a single version of "
  1.1023 -"the file; then we made some changes; while someone else made different "
  1.1024 -"changes to the same text.  Our task in resolving the conflicting changes is "
  1.1025 -"to decide what the file should look like."
  1.1026 -msgstr ""
  1.1027 -
  1.1028 -#. type: Content of: <book><chapter><sect1><para>
  1.1029 -#: ../en/ch03-tour-merge.xml:193
  1.1030 +#: ../en/ch03-tour-merge.xml:188
  1.1031 +msgid ""
  1.1032 +"Figure <xref endterm=\"fig.tour-merge.conflict.caption\" linkend=\"fig.tour-"
  1.1033 +"merge.conflict\"/> illustrates an instance of two conflicting changes to a "
  1.1034 +"document.  We started with a single version of the file; then we made some "
  1.1035 +"changes; while someone else made different changes to the same text.  Our "
  1.1036 +"task in resolving the conflicting changes is to decide what the file should "
  1.1037 +"look like."
  1.1038 +msgstr ""
  1.1039 +
  1.1040 +#. type: Content of: <book><chapter><sect1><para>
  1.1041 +#: ../en/ch03-tour-merge.xml:196
  1.1042  msgid ""
  1.1043  "Mercurial doesn't have a built-in facility for handling conflicts. Instead, "
  1.1044  "it runs an external program called <command>hgmerge</command>.  This is a "
  1.1045 @@ -3823,7 +3827,7 @@
  1.1046  msgstr ""
  1.1047  
  1.1048  #. type: Content of: <book><chapter><sect1><para>
  1.1049 -#: ../en/ch03-tour-merge.xml:204
  1.1050 +#: ../en/ch03-tour-merge.xml:207
  1.1051  msgid ""
  1.1052  "It's also possible to get Mercurial to run another program or script instead "
  1.1053  "of <command>hgmerge</command>, by setting the <envar>HGMERGE</envar> "
  1.1054 @@ -3831,24 +3835,25 @@
  1.1055  msgstr ""
  1.1056  
  1.1057  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1058 -#: ../en/ch03-tour-merge.xml:210
  1.1059 +#: ../en/ch03-tour-merge.xml:213
  1.1060  msgid "Using a graphical merge tool"
  1.1061  msgstr "使用图形合并工具"
  1.1062  
  1.1063  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1064 -#: ../en/ch03-tour-merge.xml:212
  1.1065 +#: ../en/ch03-tour-merge.xml:215
  1.1066  msgid ""
  1.1067  "My preferred graphical merge tool is <command>kdiff3</command>, which I'll "
  1.1068  "use to describe the features that are common to graphical file merging "
  1.1069  "tools.  You can see a screenshot of <command>kdiff3</command> in action in "
  1.1070 -"figure <xref linkend=\"fig.tour-merge.kdiff3\"/>.  The kind of merge it is "
  1.1071 -"performing is called a <emphasis>three-way merge</emphasis>, because there "
  1.1072 -"are three different versions of the file of interest to us.  The tool thus "
  1.1073 -"splits the upper portion of the window into three panes:"
  1.1074 +"figure <xref endterm=\"fig.tour-merge.kdiff3.caption\" linkend=\"fig.tour-"
  1.1075 +"merge.kdiff3\"/>.  The kind of merge it is performing is called a "
  1.1076 +"<emphasis>three-way merge</emphasis>, because there are three different "
  1.1077 +"versions of the file of interest to us.  The tool thus splits the upper "
  1.1078 +"portion of the window into three panes:"
  1.1079  msgstr ""
  1.1080  
  1.1081  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1082 -#: ../en/ch03-tour-merge.xml:222
  1.1083 +#: ../en/ch03-tour-merge.xml:226
  1.1084  msgid ""
  1.1085  "At the left is the <emphasis>base</emphasis> version of the file, i.e. the "
  1.1086  "most recent version from which the two versions we're trying to merge are "
  1.1087 @@ -3856,21 +3861,21 @@
  1.1088  msgstr ""
  1.1089  
  1.1090  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1091 -#: ../en/ch03-tour-merge.xml:227
  1.1092 +#: ../en/ch03-tour-merge.xml:231
  1.1093  msgid ""
  1.1094  "In the middle is <quote>our</quote> version of the file, with the contents "
  1.1095  "that we modified."
  1.1096  msgstr ""
  1.1097  
  1.1098  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1099 -#: ../en/ch03-tour-merge.xml:230
  1.1100 +#: ../en/ch03-tour-merge.xml:234
  1.1101  msgid ""
  1.1102  "On the right is <quote>their</quote> version of the file, the one that from "
  1.1103  "the changeset that we're trying to merge with."
  1.1104  msgstr ""
  1.1105  
  1.1106  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1107 -#: ../en/ch03-tour-merge.xml:234
  1.1108 +#: ../en/ch03-tour-merge.xml:238
  1.1109  msgid ""
  1.1110  "In the pane below these is the current <emphasis>result</emphasis> of the "
  1.1111  "merge. Our task is to replace all of the red text, which indicates unresolved "
  1.1112 @@ -3879,7 +3884,7 @@
  1.1113  msgstr ""
  1.1114  
  1.1115  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1116 -#: ../en/ch03-tour-merge.xml:241
  1.1117 +#: ../en/ch03-tour-merge.xml:245
  1.1118  msgid ""
  1.1119  "All four of these panes are <emphasis>locked together</emphasis>; if we "
  1.1120  "scroll vertically or horizontally in any of them, the others are updated to "
  1.1121 @@ -3887,19 +3892,19 @@
  1.1122  msgstr ""
  1.1123  
  1.1124  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1125 -#: ../en/ch03-tour-merge.xml:247
  1.1126 -msgid ""
  1.1127 -"<imageobject><imagedata width=\"100%\" fileref=\"images/kdiff3.png\"/></"
  1.1128 +#: ../en/ch03-tour-merge.xml:252
  1.1129 +msgid ""
  1.1130 +"<imageobject><imagedata width=\"100%\" fileref=\"images/kdiff3.png\"/> </"
  1.1131  "imageobject>"
  1.1132  msgstr ""
  1.1133  
  1.1134  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1135 -#: ../en/ch03-tour-merge.xml:250
  1.1136 +#: ../en/ch03-tour-merge.xml:255
  1.1137  msgid "Using <command>kdiff3</command> to merge versions of a file"
  1.1138  msgstr ""
  1.1139  
  1.1140  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1141 -#: ../en/ch03-tour-merge.xml:255
  1.1142 +#: ../en/ch03-tour-merge.xml:261
  1.1143  msgid ""
  1.1144  "For each conflicting portion of the file, we can choose to resolve the "
  1.1145  "conflict using some combination of text from the base version, ours, or "
  1.1146 @@ -3908,7 +3913,7 @@
  1.1147  msgstr ""
  1.1148  
  1.1149  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1150 -#: ../en/ch03-tour-merge.xml:261
  1.1151 +#: ../en/ch03-tour-merge.xml:267
  1.1152  msgid ""
  1.1153  "There are <emphasis>many</emphasis> file merging tools available, too many to "
  1.1154  "cover here.  They vary in which platforms they are available for, and in "
  1.1155 @@ -3918,25 +3923,26 @@
  1.1156  msgstr ""
  1.1157  
  1.1158  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1159 -#: ../en/ch03-tour-merge.xml:270
  1.1160 +#: ../en/ch03-tour-merge.xml:276
  1.1161  msgid "A worked example"
  1.1162  msgstr "合并实例"
  1.1163  
  1.1164  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1165 -#: ../en/ch03-tour-merge.xml:272
  1.1166 +#: ../en/ch03-tour-merge.xml:278
  1.1167  msgid ""
  1.1168  "In this example, we will reproduce the file modification history of figure "
  1.1169 -"<xref linkend=\"fig.tour-merge.conflict\"/> above.  Let's begin by creating a "
  1.1170 -"repository with a base version of our document."
  1.1171 -msgstr ""
  1.1172 -
  1.1173 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1174 -#: ../en/ch03-tour-merge.xml:279
  1.1175 +"<xref endterm=\"fig.tour-merge.conflict.caption\" linkend=\"fig.tour-merge."
  1.1176 +"conflict\"/> above.  Let's begin by creating a repository with a base version "
  1.1177 +"of our document."
  1.1178 +msgstr ""
  1.1179 +
  1.1180 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.1181 +#: ../en/ch03-tour-merge.xml:286
  1.1182  msgid "We'll clone the repository and make a change to the file."
  1.1183  msgstr ""
  1.1184  
  1.1185  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1186 -#: ../en/ch03-tour-merge.xml:284
  1.1187 +#: ../en/ch03-tour-merge.xml:291
  1.1188  msgid ""
  1.1189  "And another clone, to simulate someone else making a change to the file. "
  1.1190  "(This hints at the idea that it's not all that unusual to merge with yourself "
  1.1191 @@ -3945,14 +3951,14 @@
  1.1192  msgstr ""
  1.1193  
  1.1194  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1195 -#: ../en/ch03-tour-merge.xml:292
  1.1196 +#: ../en/ch03-tour-merge.xml:299
  1.1197  msgid ""
  1.1198  "Having created two different versions of the file, we'll set up an "
  1.1199  "environment suitable for running our merge."
  1.1200  msgstr ""
  1.1201  
  1.1202  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1203 -#: ../en/ch03-tour-merge.xml:298
  1.1204 +#: ../en/ch03-tour-merge.xml:305
  1.1205  msgid ""
  1.1206  "In this example, I won't use Mercurial's normal <command>hgmerge</command> "
  1.1207  "program to do the merge, because it would drop my nice automated example-"
  1.1208 @@ -3964,12 +3970,12 @@
  1.1209  msgstr ""
  1.1210  
  1.1211  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1212 -#: ../en/ch03-tour-merge.xml:308
  1.1213 +#: ../en/ch03-tour-merge.xml:315
  1.1214  msgid "<emphasis role=\"bold\">XXX FIX THIS EXAMPLE.</emphasis>"
  1.1215  msgstr ""
  1.1216  
  1.1217  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1218 -#: ../en/ch03-tour-merge.xml:313
  1.1219 +#: ../en/ch03-tour-merge.xml:320
  1.1220  msgid ""
  1.1221  "Because <command>merge</command> can't resolve the conflicting changes, it "
  1.1222  "leaves <emphasis>merge markers</emphasis> inside the file that has conflicts, "
  1.1223 @@ -3978,7 +3984,7 @@
  1.1224  msgstr ""
  1.1225  
  1.1226  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1227 -#: ../en/ch03-tour-merge.xml:319
  1.1228 +#: ../en/ch03-tour-merge.xml:326
  1.1229  msgid ""
  1.1230  "Mercurial can tell from the way <command>merge</command> exits that it wasn't "
  1.1231  "able to merge successfully, so it tells us what commands we'll need to run if "
  1.1232 @@ -3988,7 +3994,7 @@
  1.1233  msgstr ""
  1.1234  
  1.1235  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1236 -#: ../en/ch03-tour-merge.xml:326
  1.1237 +#: ../en/ch03-tour-merge.xml:333
  1.1238  msgid ""
  1.1239  "If automatic or manual merges fail, there's nothing to prevent us from "
  1.1240  "<quote>fixing up</quote> the affected files ourselves, and committing the "
  1.1241 @@ -3996,19 +4002,19 @@
  1.1242  msgstr ""
  1.1243  
  1.1244  #. type: Content of: <book><chapter><sect1><title>
  1.1245 -#: ../en/ch03-tour-merge.xml:335
  1.1246 +#: ../en/ch03-tour-merge.xml:342
  1.1247  msgid "Simplifying the pull-merge-commit sequence"
  1.1248  msgstr "简化拉-合并-提交程序"
  1.1249  
  1.1250  #. type: Content of: <book><chapter><sect1><para>
  1.1251 -#: ../en/ch03-tour-merge.xml:337
  1.1252 +#: ../en/ch03-tour-merge.xml:344
  1.1253  msgid ""
  1.1254  "The process of merging changes as outlined above is straightforward, but "
  1.1255  "requires running three commands in sequence."
  1.1256  msgstr ""
  1.1257  
  1.1258  #. type: Content of: <book><chapter><sect1><para>
  1.1259 -#: ../en/ch03-tour-merge.xml:343
  1.1260 +#: ../en/ch03-tour-merge.xml:350
  1.1261  msgid ""
  1.1262  "In the case of the final commit, you also need to enter a commit message, "
  1.1263  "which is almost always going to be a piece of uninteresting "
  1.1264 @@ -4016,7 +4022,7 @@
  1.1265  msgstr ""
  1.1266  
  1.1267  #. type: Content of: <book><chapter><sect1><para>
  1.1268 -#: ../en/ch03-tour-merge.xml:347
  1.1269 +#: ../en/ch03-tour-merge.xml:354
  1.1270  msgid ""
  1.1271  "It would be nice to reduce the number of steps needed, if this were "
  1.1272  "possible.  Indeed, Mercurial is distributed with an extension called <literal "
  1.1273 @@ -4024,7 +4030,7 @@
  1.1274  msgstr ""
  1.1275  
  1.1276  #. type: Content of: <book><chapter><sect1><para>
  1.1277 -#: ../en/ch03-tour-merge.xml:352
  1.1278 +#: ../en/ch03-tour-merge.xml:359
  1.1279  msgid ""
  1.1280  "Mercurial provides a flexible extension mechanism that lets people extend its "
  1.1281  "functionality, while keeping the core of Mercurial small and easy to deal "
  1.1282 @@ -4034,7 +4040,7 @@
  1.1283  msgstr ""
  1.1284  
  1.1285  #. type: Content of: <book><chapter><sect1><para>
  1.1286 -#: ../en/ch03-tour-merge.xml:359
  1.1287 +#: ../en/ch03-tour-merge.xml:366
  1.1288  msgid ""
  1.1289  "The <literal role=\"hg-ext\">fetch</literal> extension adds a new command "
  1.1290  "called, not surprisingly, <command role=\"hg-cmd\">hg fetch</command>.  This "
  1.1291 @@ -4048,7 +4054,7 @@
  1.1292  msgstr ""
  1.1293  
  1.1294  #. type: Content of: <book><chapter><sect1><para>
  1.1295 -#: ../en/ch03-tour-merge.xml:372
  1.1296 +#: ../en/ch03-tour-merge.xml:379
  1.1297  msgid ""
  1.1298  "Enabling the <literal role=\"hg-ext\">fetch</literal> extension is easy.  "
  1.1299  "Edit your <filename role=\"special\">.hgrc</filename>, and either go to the "
  1.1300 @@ -4058,7 +4064,7 @@
  1.1301  msgstr ""
  1.1302  
  1.1303  #. type: Content of: <book><chapter><sect1><para>
  1.1304 -#: ../en/ch03-tour-merge.xml:382
  1.1305 +#: ../en/ch03-tour-merge.xml:389
  1.1306  msgid ""
  1.1307  "(Normally, on the right-hand side of the <quote><literal>=</literal></quote> "
  1.1308  "would appear the location of the extension, but since the <literal role=\"hg-"
  1.1309 @@ -4129,27 +4135,28 @@
  1.1310  "much history, the revision data and index are combined in a single "
  1.1311  "<quote><literal>.i</literal></quote> file.  The correspondence between a file "
  1.1312  "in the working directory and the filelog that tracks its history in the "
  1.1313 -"repository is illustrated in figure <xref linkend=\"fig.concepts.filelog\"/>."
  1.1314 +"repository is illustrated in figure <xref endterm=\"fig.concepts.filelog."
  1.1315 +"caption\" linkend=\"fig.concepts.filelog\"/>."
  1.1316  msgstr ""
  1.1317  
  1.1318  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1319 -#: ../en/ch04-concepts.xml:53
  1.1320 +#: ../en/ch04-concepts.xml:55
  1.1321  msgid "<imageobject><imagedata fileref=\"images/filelog.png\"/></imageobject>"
  1.1322  msgstr ""
  1.1323  
  1.1324  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1325 -#: ../en/ch04-concepts.xml:56
  1.1326 +#: ../en/ch04-concepts.xml:57
  1.1327  msgid ""
  1.1328  "Relationships between files in working directory and filelogs in repository"
  1.1329  msgstr ""
  1.1330  
  1.1331  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1332 -#: ../en/ch04-concepts.xml:63
  1.1333 +#: ../en/ch04-concepts.xml:65
  1.1334  msgid "Managing tracked files"
  1.1335  msgstr "管理跟踪的文件"
  1.1336  
  1.1337  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1338 -#: ../en/ch04-concepts.xml:65
  1.1339 +#: ../en/ch04-concepts.xml:67
  1.1340  msgid ""
  1.1341  "Mercurial uses a structure called a <emphasis>manifest</emphasis> to collect "
  1.1342  "together information about the files that it tracks.  Each entry in the "
  1.1343 @@ -4159,12 +4166,12 @@
  1.1344  msgstr ""
  1.1345  
  1.1346  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1347 -#: ../en/ch04-concepts.xml:75
  1.1348 +#: ../en/ch04-concepts.xml:77
  1.1349  msgid "Recording changeset information"
  1.1350  msgstr "记录修改集信息"
  1.1351  
  1.1352  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1353 -#: ../en/ch04-concepts.xml:77
  1.1354 +#: ../en/ch04-concepts.xml:79
  1.1355  msgid ""
  1.1356  "The <emphasis>changelog</emphasis> contains information about each "
  1.1357  "changeset.  Each revision records who committed a change, the changeset "
  1.1358 @@ -4173,12 +4180,12 @@
  1.1359  msgstr ""
  1.1360  
  1.1361  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1362 -#: ../en/ch04-concepts.xml:85
  1.1363 +#: ../en/ch04-concepts.xml:87
  1.1364  msgid "Relationships between revisions"
  1.1365  msgstr "版本之间的关系"
  1.1366  
  1.1367  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1368 -#: ../en/ch04-concepts.xml:87
  1.1369 +#: ../en/ch04-concepts.xml:89
  1.1370  msgid ""
  1.1371  "Within a changelog, a manifest, or a filelog, each revision stores a pointer "
  1.1372  "to its immediate parent (or to its two parents, if it's a merge revision).  "
  1.1373 @@ -4188,28 +4195,28 @@
  1.1374  msgstr ""
  1.1375  
  1.1376  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1377 -#: ../en/ch04-concepts.xml:94
  1.1378 +#: ../en/ch04-concepts.xml:96
  1.1379  msgid ""
  1.1380  "For every changeset in a repository, there is exactly one revision stored in "
  1.1381  "the changelog.  Each revision of the changelog contains a pointer to a single "
  1.1382  "revision of the manifest.  A revision of the manifest stores a pointer to a "
  1.1383  "single revision of each filelog tracked when that changeset was created.  "
  1.1384 -"These relationships are illustrated in figure <xref linkend=\"fig.concepts."
  1.1385 -"metadata\"/>."
  1.1386 +"These relationships are illustrated in figure <xref endterm=\"fig.concepts."
  1.1387 +"metadata.caption\" linkend=\"fig.concepts.metadata\"/>."
  1.1388  msgstr ""
  1.1389  
  1.1390  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1391 -#: ../en/ch04-concepts.xml:103
  1.1392 +#: ../en/ch04-concepts.xml:107
  1.1393  msgid "<imageobject><imagedata fileref=\"images/metadata.png\"/></imageobject>"
  1.1394  msgstr ""
  1.1395  
  1.1396  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1397 -#: ../en/ch04-concepts.xml:105
  1.1398 +#: ../en/ch04-concepts.xml:109
  1.1399  msgid "Metadata relationships"
  1.1400  msgstr ""
  1.1401  
  1.1402  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1403 -#: ../en/ch04-concepts.xml:110
  1.1404 +#: ../en/ch04-concepts.xml:114
  1.1405  msgid ""
  1.1406  "As the illustration shows, there is <emphasis>not</emphasis> a <quote>one to "
  1.1407  "one</quote> relationship between revisions in the changelog, manifest, or "
  1.1408 @@ -4221,24 +4228,24 @@
  1.1409  msgstr ""
  1.1410  
  1.1411  #. type: Content of: <book><chapter><sect1><title>
  1.1412 -#: ../en/ch04-concepts.xml:123
  1.1413 +#: ../en/ch04-concepts.xml:127
  1.1414  msgid "Safe, efficient storage"
  1.1415  msgstr "安全,高效的存储"
  1.1416  
  1.1417  #. type: Content of: <book><chapter><sect1><para>
  1.1418 -#: ../en/ch04-concepts.xml:125
  1.1419 +#: ../en/ch04-concepts.xml:129
  1.1420  msgid ""
  1.1421  "The underpinnings of changelogs, manifests, and filelogs are provided by a "
  1.1422  "single structure called the <emphasis>revlog</emphasis>."
  1.1423  msgstr ""
  1.1424  
  1.1425  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1426 -#: ../en/ch04-concepts.xml:130
  1.1427 +#: ../en/ch04-concepts.xml:134
  1.1428  msgid "Efficient storage"
  1.1429  msgstr "高效存储"
  1.1430  
  1.1431  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1432 -#: ../en/ch04-concepts.xml:132
  1.1433 +#: ../en/ch04-concepts.xml:136
  1.1434  msgid ""
  1.1435  "The revlog provides efficient storage of revisions using a <emphasis>delta</"
  1.1436  "emphasis> mechanism.  Instead of storing a complete copy of a file for each "
  1.1437 @@ -4248,7 +4255,7 @@
  1.1438  msgstr ""
  1.1439  
  1.1440  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1441 -#: ../en/ch04-concepts.xml:140
  1.1442 +#: ../en/ch04-concepts.xml:144
  1.1443  msgid ""
  1.1444  "Some obsolete revision control systems can only work with deltas of text "
  1.1445  "files.  They must either store binary files as complete snapshots or encoded "
  1.1446 @@ -4258,12 +4265,12 @@
  1.1447  msgstr ""
  1.1448  
  1.1449  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1450 -#: ../en/ch04-concepts.xml:149
  1.1451 +#: ../en/ch04-concepts.xml:153
  1.1452  msgid "Safe operation"
  1.1453  msgstr "安全操作"
  1.1454  
  1.1455  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1456 -#: ../en/ch04-concepts.xml:151
  1.1457 +#: ../en/ch04-concepts.xml:155
  1.1458  msgid ""
  1.1459  "Mercurial only ever <emphasis>appends</emphasis> data to the end of a revlog "
  1.1460  "file. It never modifies a section of a file after it has written it.  This is "
  1.1461 @@ -4272,7 +4279,7 @@
  1.1462  msgstr ""
  1.1463  
  1.1464  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1465 -#: ../en/ch04-concepts.xml:157
  1.1466 +#: ../en/ch04-concepts.xml:161
  1.1467  msgid ""
  1.1468  "In addition, Mercurial treats every write as part of a <emphasis>transaction</"
  1.1469  "emphasis> that can span a number of files.  A transaction is "
  1.1470 @@ -4284,7 +4291,7 @@
  1.1471  msgstr ""
  1.1472  
  1.1473  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1474 -#: ../en/ch04-concepts.xml:167
  1.1475 +#: ../en/ch04-concepts.xml:171
  1.1476  msgid ""
  1.1477  "The fact that Mercurial only appends to files makes it easier to provide this "
  1.1478  "transactional guarantee.  The easier it is to do stuff like this, the more "
  1.1479 @@ -4292,12 +4299,12 @@
  1.1480  msgstr ""
  1.1481  
  1.1482  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1483 -#: ../en/ch04-concepts.xml:174
  1.1484 +#: ../en/ch04-concepts.xml:178
  1.1485  msgid "Fast retrieval"
  1.1486  msgstr "快速检索"
  1.1487  
  1.1488  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1489 -#: ../en/ch04-concepts.xml:176
  1.1490 +#: ../en/ch04-concepts.xml:180
  1.1491  msgid ""
  1.1492  "Mercurial cleverly avoids a pitfall common to all earlier revision control "
  1.1493  "systems: the problem of <emphasis>inefficient retrieval</emphasis>. Most "
  1.1494 @@ -4310,17 +4317,17 @@
  1.1495  msgstr ""
  1.1496  
  1.1497  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1498 -#: ../en/ch04-concepts.xml:188
  1.1499 +#: ../en/ch04-concepts.xml:193
  1.1500  msgid "<imageobject><imagedata fileref=\"images/snapshot.png\"/></imageobject>"
  1.1501  msgstr ""
  1.1502  
  1.1503  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1504 -#: ../en/ch04-concepts.xml:190
  1.1505 +#: ../en/ch04-concepts.xml:195
  1.1506  msgid "Snapshot of a revlog, with incremental deltas"
  1.1507  msgstr ""
  1.1508  
  1.1509  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1510 -#: ../en/ch04-concepts.xml:195
  1.1511 +#: ../en/ch04-concepts.xml:200
  1.1512  msgid ""
  1.1513  "The innovation that Mercurial applies to this problem is simple but "
  1.1514  "effective.  Once the cumulative amount of delta information stored since the "
  1.1515 @@ -4332,20 +4339,21 @@
  1.1516  msgstr ""
  1.1517  
  1.1518  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1519 -#: ../en/ch04-concepts.xml:204
  1.1520 -msgid ""
  1.1521 -"Figure <xref linkend=\"fig.concepts.snapshot\"/> illustrates the idea.  In an "
  1.1522 -"entry in a revlog's index file, Mercurial stores the range of entries from "
  1.1523 -"the data file that it must read to reconstruct a particular revision."
  1.1524 +#: ../en/ch04-concepts.xml:209
  1.1525 +msgid ""
  1.1526 +"Figure <xref endterm=\"fig.concepts.snapshot.caption\" linkend=\"fig.concepts."
  1.1527 +"snapshot\"/> illustrates the idea.  In an entry in a revlog's index file, "
  1.1528 +"Mercurial stores the range of entries from the data file that it must read to "
  1.1529 +"reconstruct a particular revision."
  1.1530  msgstr ""
  1.1531  
  1.1532  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.1533 -#: ../en/ch04-concepts.xml:210
  1.1534 +#: ../en/ch04-concepts.xml:216
  1.1535  msgid "Aside: the influence of video compression"
  1.1536  msgstr ""
  1.1537  
  1.1538  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.1539 -#: ../en/ch04-concepts.xml:212
  1.1540 +#: ../en/ch04-concepts.xml:218
  1.1541  msgid ""
  1.1542  "If you're familiar with video compression or have ever watched a TV feed "
  1.1543  "through a digital cable or satellite service, you may know that most video "
  1.1544 @@ -4356,7 +4364,7 @@
  1.1545  msgstr ""
  1.1546  
  1.1547  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.1548 -#: ../en/ch04-concepts.xml:221
  1.1549 +#: ../en/ch04-concepts.xml:227
  1.1550  msgid ""
  1.1551  "Because it's possible for a video stream to <quote>drop out</quote> "
  1.1552  "occasionally due to signal glitches, and to limit the accumulation of "
  1.1553 @@ -4369,12 +4377,12 @@
  1.1554  msgstr ""
  1.1555  
  1.1556  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1557 -#: ../en/ch04-concepts.xml:235
  1.1558 +#: ../en/ch04-concepts.xml:241
  1.1559  msgid "Identification and strong integrity"
  1.1560  msgstr "鉴别和强完整性"
  1.1561  
  1.1562  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1563 -#: ../en/ch04-concepts.xml:237
  1.1564 +#: ../en/ch04-concepts.xml:243
  1.1565  msgid ""
  1.1566  "Along with delta or snapshot information, a revlog entry contains a "
  1.1567  "cryptographic hash of the data that it represents.  This makes it difficult "
  1.1568 @@ -4382,7 +4390,7 @@
  1.1569  msgstr ""
  1.1570  
  1.1571  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1572 -#: ../en/ch04-concepts.xml:242
  1.1573 +#: ../en/ch04-concepts.xml:248
  1.1574  msgid ""
  1.1575  "Hashes provide more than a mere check against corruption; they are used as "
  1.1576  "the identifiers for revisions.  The changeset identification hashes that you "
  1.1577 @@ -4391,7 +4399,7 @@
  1.1578  msgstr ""
  1.1579  
  1.1580  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1581 -#: ../en/ch04-concepts.xml:249
  1.1582 +#: ../en/ch04-concepts.xml:255
  1.1583  msgid ""
  1.1584  "Mercurial verifies that hashes are correct when it retrieves file revisions "
  1.1585  "and when it pulls changes from another repository.  If it encounters an "
  1.1586 @@ -4399,7 +4407,7 @@
  1.1587  msgstr ""
  1.1588  
  1.1589  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1590 -#: ../en/ch04-concepts.xml:254
  1.1591 +#: ../en/ch04-concepts.xml:260
  1.1592  msgid ""
  1.1593  "In addition to the effect it has on retrieval efficiency, Mercurial's use of "
  1.1594  "periodic snapshots makes it more robust against partial data corruption.  If "
  1.1595 @@ -4410,12 +4418,12 @@
  1.1596  msgstr ""
  1.1597  
  1.1598  #. type: Content of: <book><chapter><sect1><title>
  1.1599 -#: ../en/ch04-concepts.xml:266
  1.1600 +#: ../en/ch04-concepts.xml:272
  1.1601  msgid "Revision history, branching, and merging"
  1.1602  msgstr "修订历史,分支与合并"
  1.1603  
  1.1604  #. type: Content of: <book><chapter><sect1><para>
  1.1605 -#: ../en/ch04-concepts.xml:268
  1.1606 +#: ../en/ch04-concepts.xml:274
  1.1607  msgid ""
  1.1608  "Every entry in a Mercurial revlog knows the identity of its immediate "
  1.1609  "ancestor revision, usually referred to as its <emphasis>parent</emphasis>.  "
  1.1610 @@ -4426,17 +4434,17 @@
  1.1611  msgstr ""
  1.1612  
  1.1613  #. type: Content of: <book><chapter><sect1><para>
  1.1614 -#: ../en/ch04-concepts.xml:276
  1.1615 -msgid ""
  1.1616 -"In figure <xref linkend=\"fig.concepts.revlog\"/>, you can see an example of "
  1.1617 -"the conceptual structure of a revlog.  Filelogs, manifests, and changelogs "
  1.1618 -"all have this same structure; they differ only in the kind of data stored in "
  1.1619 -"each delta or snapshot."
  1.1620 -msgstr ""
  1.1621 -
  1.1622 -#. type: Content of: <book><chapter><sect1><para>
  1.1623  #: ../en/ch04-concepts.xml:282
  1.1624  msgid ""
  1.1625 +"In figure <xref endterm=\"fig.concepts.revlog.caption\" linkend=\"fig."
  1.1626 +"concepts.revlog\"/>, you can see an example of the conceptual structure of a "
  1.1627 +"revlog.  Filelogs, manifests, and changelogs all have this same structure; "
  1.1628 +"they differ only in the kind of data stored in each delta or snapshot."
  1.1629 +msgstr ""
  1.1630 +
  1.1631 +#. type: Content of: <book><chapter><sect1><para>
  1.1632 +#: ../en/ch04-concepts.xml:289
  1.1633 +msgid ""
  1.1634  "The first revision in a revlog (at the bottom of the image)  has the null ID "
  1.1635  "in both of its parent slots.  For a <quote>normal</quote> revision, its first "
  1.1636  "parent slot contains the ID of its parent revision, and its second contains "
  1.1637 @@ -4447,24 +4455,29 @@
  1.1638  msgstr ""
  1.1639  
  1.1640  #. type: Content of: <book><chapter><sect1><informalfigure><mediaobject>
  1.1641 -#: ../en/ch04-concepts.xml:292
  1.1642 +#: ../en/ch04-concepts.xml:300
  1.1643  msgid "<imageobject><imagedata fileref=\"images/revlog.png\"/></imageobject>"
  1.1644  msgstr ""
  1.1645  
  1.1646 +#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para>
  1.1647 +#: ../en/ch04-concepts.xml:302
  1.1648 +msgid "Revision in revlog"
  1.1649 +msgstr ""
  1.1650 +
  1.1651  #. type: Content of: <book><chapter><sect1><title>
  1.1652 -#: ../en/ch04-concepts.xml:299
  1.1653 +#: ../en/ch04-concepts.xml:309
  1.1654  msgid "The working directory"
  1.1655  msgstr "工作目录"
  1.1656  
  1.1657  #. type: Content of: <book><chapter><sect1><para>
  1.1658 -#: ../en/ch04-concepts.xml:301
  1.1659 +#: ../en/ch04-concepts.xml:311
  1.1660  msgid ""
  1.1661  "In the working directory, Mercurial stores a snapshot of the files from the "
  1.1662  "repository as of a particular changeset."
  1.1663  msgstr ""
  1.1664  
  1.1665  #. type: Content of: <book><chapter><sect1><para>
  1.1666 -#: ../en/ch04-concepts.xml:304
  1.1667 +#: ../en/ch04-concepts.xml:314
  1.1668  msgid ""
  1.1669  "The working directory <quote>knows</quote> which changeset it contains.  When "
  1.1670  "you update the working directory to contain a particular changeset, Mercurial "
  1.1671 @@ -4475,7 +4488,7 @@
  1.1672  msgstr ""
  1.1673  
  1.1674  #. type: Content of: <book><chapter><sect1><para>
  1.1675 -#: ../en/ch04-concepts.xml:313
  1.1676 +#: ../en/ch04-concepts.xml:323
  1.1677  msgid ""
  1.1678  "The <emphasis>dirstate</emphasis> contains Mercurial's knowledge of the "
  1.1679  "working directory.  This details which changeset the working directory is "
  1.1680 @@ -4484,7 +4497,7 @@
  1.1681  msgstr ""
  1.1682  
  1.1683  #. type: Content of: <book><chapter><sect1><para>
  1.1684 -#: ../en/ch04-concepts.xml:319
  1.1685 +#: ../en/ch04-concepts.xml:329
  1.1686  msgid ""
  1.1687  "Just as a revision of a revlog has room for two parents, so that it can "
  1.1688  "represent either a normal revision (with one parent)  or a merge of two "
  1.1689 @@ -4499,12 +4512,12 @@
  1.1690  msgstr ""
  1.1691  
  1.1692  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1693 -#: ../en/ch04-concepts.xml:333
  1.1694 +#: ../en/ch04-concepts.xml:343
  1.1695  msgid "What happens when you commit"
  1.1696  msgstr "当你提交时发生的事情"
  1.1697  
  1.1698  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1699 -#: ../en/ch04-concepts.xml:335
  1.1700 +#: ../en/ch04-concepts.xml:345
  1.1701  msgid ""
  1.1702  "The dirstate stores parent information for more than just book-keeping "
  1.1703  "purposes.  Mercurial uses the parents of the dirstate as <emphasis>the "
  1.1704 @@ -4512,38 +4525,38 @@
  1.1705  msgstr ""
  1.1706  
  1.1707  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1708 -#: ../en/ch04-concepts.xml:341
  1.1709 +#: ../en/ch04-concepts.xml:352
  1.1710  msgid "<imageobject><imagedata fileref=\"images/wdir.png\"/></imageobject>"
  1.1711  msgstr ""
  1.1712  
  1.1713  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1714 -#: ../en/ch04-concepts.xml:343
  1.1715 +#: ../en/ch04-concepts.xml:354
  1.1716  msgid "The working directory can have two parents"
  1.1717  msgstr ""
  1.1718  
  1.1719  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1720 -#: ../en/ch04-concepts.xml:348
  1.1721 -msgid ""
  1.1722 -"Figure <xref linkend=\"fig.concepts.wdir\"/> shows the normal state of the "
  1.1723 -"working directory, where it has a single changeset as parent.  That changeset "
  1.1724 -"is the <emphasis>tip</emphasis>, the newest changeset in the repository that "
  1.1725 -"has no children."
  1.1726 +#: ../en/ch04-concepts.xml:359
  1.1727 +msgid ""
  1.1728 +"Figure <xref endterm=\"fig.concepts.wdir.caption\" linkend=\"fig.concepts.wdir"
  1.1729 +"\"/> shows the normal state of the working directory, where it has a single "
  1.1730 +"changeset as parent.  That changeset is the <emphasis>tip</emphasis>, the "
  1.1731 +"newest changeset in the repository that has no children."
  1.1732  msgstr ""
  1.1733  
  1.1734  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1735 -#: ../en/ch04-concepts.xml:355
  1.1736 -msgid ""
  1.1737 -"<imageobject><imagedata fileref=\"images/wdir-after-commit.png\"/></"
  1.1738 +#: ../en/ch04-concepts.xml:368
  1.1739 +msgid ""
  1.1740 +"<imageobject><imagedata fileref=\"images/wdir-after-commit.png\"/> </"
  1.1741  "imageobject>"
  1.1742  msgstr ""
  1.1743  
  1.1744  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1745 -#: ../en/ch04-concepts.xml:357
  1.1746 +#: ../en/ch04-concepts.xml:371
  1.1747  msgid "The working directory gains new parents after a commit"
  1.1748  msgstr ""
  1.1749  
  1.1750  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1751 -#: ../en/ch04-concepts.xml:362
  1.1752 +#: ../en/ch04-concepts.xml:376
  1.1753  msgid ""
  1.1754  "It's useful to think of the working directory as <quote>the changeset I'm "
  1.1755  "about to commit</quote>.  Any files that you tell Mercurial that you've "
  1.1756 @@ -4553,23 +4566,23 @@
  1.1757  msgstr ""
  1.1758  
  1.1759  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1760 -#: ../en/ch04-concepts.xml:370
  1.1761 +#: ../en/ch04-concepts.xml:384
  1.1762  msgid ""
  1.1763  "After a commit, Mercurial will update the parents of the working directory, "
  1.1764  "so that the first parent is the ID of the new changeset, and the second is "
  1.1765 -"the null ID.  This is shown in figure <xref linkend=\"fig.concepts.wdir-after-"
  1.1766 -"commit\"/>.  Mercurial doesn't touch any of the files in the working "
  1.1767 -"directory when you commit; it just modifies the dirstate to note its new "
  1.1768 -"parents."
  1.1769 -msgstr ""
  1.1770 -
  1.1771 -#. type: Content of: <book><chapter><sect1><sect2><title>
  1.1772 -#: ../en/ch04-concepts.xml:381
  1.1773 +"the null ID.  This is shown in figure <xref endterm=\"fig.concepts.wdir-after-"
  1.1774 +"commit.caption\" linkend=\"fig.concepts.wdir-after-commit\"/>.  Mercurial "
  1.1775 +"doesn't touch any of the files in the working directory when you commit; it "
  1.1776 +"just modifies the dirstate to note its new parents."
  1.1777 +msgstr ""
  1.1778 +
  1.1779 +#. type: Content of: <book><chapter><sect1><sect2><title>
  1.1780 +#: ../en/ch04-concepts.xml:396
  1.1781  msgid "Creating a new head"
  1.1782  msgstr "创建新顶点"
  1.1783  
  1.1784  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1785 -#: ../en/ch04-concepts.xml:383
  1.1786 +#: ../en/ch04-concepts.xml:398
  1.1787  msgid ""
  1.1788  "It's perfectly normal to update the working directory to a changeset other "
  1.1789  "than the current tip.  For example, you might want to know what your project "
  1.1790 @@ -4578,22 +4591,24 @@
  1.1791  "update the working directory to the changeset you're interested in, and then "
  1.1792  "examine the files in the working directory directly to see their contents as "
  1.1793  "they were when you committed that changeset.  The effect of this is shown in "
  1.1794 -"figure <xref linkend=\"fig.concepts.wdir-pre-branch\"/>."
  1.1795 +"figure <xref endterm=\"fig.concepts.wdir-pre-branch.caption\" linkend=\"fig."
  1.1796 +"concepts.wdir-pre-branch\"/>."
  1.1797  msgstr ""
  1.1798  
  1.1799  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1800 -#: ../en/ch04-concepts.xml:395
  1.1801 -msgid ""
  1.1802 -"<imageobject><imagedata fileref=\"images/wdir-pre-branch.png\"/></imageobject>"
  1.1803 +#: ../en/ch04-concepts.xml:412
  1.1804 +msgid ""
  1.1805 +"<imageobject><imagedata fileref=\"images/wdir-pre-branch.png\"/> </"
  1.1806 +"imageobject>"
  1.1807  msgstr ""
  1.1808  
  1.1809  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1810 -#: ../en/ch04-concepts.xml:397
  1.1811 +#: ../en/ch04-concepts.xml:415
  1.1812  msgid "The working directory, updated to an older changeset"
  1.1813  msgstr ""
  1.1814  
  1.1815  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1816 -#: ../en/ch04-concepts.xml:402
  1.1817 +#: ../en/ch04-concepts.xml:420
  1.1818  msgid ""
  1.1819  "Having updated the working directory to an older changeset, what happens if "
  1.1820  "you make some changes, and then commit? Mercurial behaves in the same way as "
  1.1821 @@ -4601,22 +4616,23 @@
  1.1822  "the new changeset.  This new changeset has no children, so it becomes the new "
  1.1823  "tip.  And the repository now contains two changesets that have no children; "
  1.1824  "we call these <emphasis>heads</emphasis>.  You can see the structure that "
  1.1825 -"this creates in figure <xref linkend=\"fig.concepts.wdir-branch\"/>."
  1.1826 +"this creates in figure <xref endterm=\"fig.concepts.wdir-branch.caption\" "
  1.1827 +"linkend=\"fig.concepts.wdir-branch\"/>."
  1.1828  msgstr ""
  1.1829  
  1.1830  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1831 -#: ../en/ch04-concepts.xml:414
  1.1832 -msgid ""
  1.1833 -"<imageobject><imagedata fileref=\"images/wdir-branch.png\"/></imageobject>"
  1.1834 +#: ../en/ch04-concepts.xml:434
  1.1835 +msgid ""
  1.1836 +"<imageobject><imagedata fileref=\"images/wdir-branch.png\"/> </imageobject>"
  1.1837  msgstr ""
  1.1838  
  1.1839  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1840 -#: ../en/ch04-concepts.xml:416
  1.1841 +#: ../en/ch04-concepts.xml:437
  1.1842  msgid "After a commit made while synced to an older changeset"
  1.1843  msgstr ""
  1.1844  
  1.1845  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.1846 -#: ../en/ch04-concepts.xml:422
  1.1847 +#: ../en/ch04-concepts.xml:443
  1.1848  msgid ""
  1.1849  "If you're new to Mercurial, you should keep in mind a common <quote>error</"
  1.1850  "quote>, which is to use the <command role=\"hg-cmd\">hg pull</command> "
  1.1851 @@ -4630,7 +4646,7 @@
  1.1852  msgstr ""
  1.1853  
  1.1854  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.1855 -#: ../en/ch04-concepts.xml:434
  1.1856 +#: ../en/ch04-concepts.xml:455
  1.1857  msgid ""
  1.1858  "I put the word <quote>error</quote> in quotes because all that you need to do "
  1.1859  "to rectify this situation is <command role=\"hg-cmd\">hg merge</command>, "
  1.1860 @@ -4641,32 +4657,33 @@
  1.1861  msgstr ""
  1.1862  
  1.1863  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1864 -#: ../en/ch04-concepts.xml:446
  1.1865 +#: ../en/ch04-concepts.xml:467
  1.1866  msgid "Merging heads"
  1.1867  msgstr "合并顶点"
  1.1868  
  1.1869  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1870 -#: ../en/ch04-concepts.xml:448
  1.1871 +#: ../en/ch04-concepts.xml:469
  1.1872  msgid ""
  1.1873  "When you run the <command role=\"hg-cmd\">hg merge</command> command, "
  1.1874  "Mercurial leaves the first parent of the working directory unchanged, and "
  1.1875  "sets the second parent to the changeset you're merging with, as shown in "
  1.1876 -"figure <xref linkend=\"fig.concepts.wdir-merge\"/>."
  1.1877 +"figure <xref endterm=\"fig.concepts.wdir-merge.caption\" linkend=\"fig."
  1.1878 +"concepts.wdir-merge\"/>."
  1.1879  msgstr ""
  1.1880  
  1.1881  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.1882 -#: ../en/ch04-concepts.xml:455
  1.1883 -msgid ""
  1.1884 -"<imageobject><imagedata fileref=\"images/wdir-merge.png\"/></imageobject>"
  1.1885 +#: ../en/ch04-concepts.xml:478
  1.1886 +msgid ""
  1.1887 +"<imageobject><imagedata fileref=\"images/wdir-merge.png\"/> </imageobject>"
  1.1888  msgstr ""
  1.1889  
  1.1890  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.1891 -#: ../en/ch04-concepts.xml:457
  1.1892 +#: ../en/ch04-concepts.xml:481
  1.1893  msgid "Merging two heads"
  1.1894  msgstr ""
  1.1895  
  1.1896  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1897 -#: ../en/ch04-concepts.xml:461
  1.1898 +#: ../en/ch04-concepts.xml:486
  1.1899  msgid ""
  1.1900  "Mercurial also has to modify the working directory, to merge the files "
  1.1901  "managed in the two changesets.  Simplified a little, the merging process goes "
  1.1902 @@ -4674,33 +4691,33 @@
  1.1903  msgstr ""
  1.1904  
  1.1905  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1906 -#: ../en/ch04-concepts.xml:466
  1.1907 +#: ../en/ch04-concepts.xml:491
  1.1908  msgid "If neither changeset has modified a file, do nothing with that file."
  1.1909  msgstr ""
  1.1910  
  1.1911  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1912 -#: ../en/ch04-concepts.xml:469
  1.1913 +#: ../en/ch04-concepts.xml:494
  1.1914  msgid ""
  1.1915  "If one changeset has modified a file, and the other hasn't, create the "
  1.1916  "modified copy of the file in the working directory."
  1.1917  msgstr ""
  1.1918  
  1.1919  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1920 -#: ../en/ch04-concepts.xml:473
  1.1921 +#: ../en/ch04-concepts.xml:498
  1.1922  msgid ""
  1.1923  "If one changeset has removed a file, and the other hasn't (or has also "
  1.1924  "deleted it), delete the file from the working directory."
  1.1925  msgstr ""
  1.1926  
  1.1927  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1928 -#: ../en/ch04-concepts.xml:477
  1.1929 +#: ../en/ch04-concepts.xml:502
  1.1930  msgid ""
  1.1931  "If one changeset has removed a file, but the other has modified the file, ask "
  1.1932  "the user what to do: keep the modified file, or remove it?"
  1.1933  msgstr ""
  1.1934  
  1.1935  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1936 -#: ../en/ch04-concepts.xml:481
  1.1937 +#: ../en/ch04-concepts.xml:506
  1.1938  msgid ""
  1.1939  "If both changesets have modified a file, invoke an external merge program to "
  1.1940  "choose the new contents for the merged file.  This may require input from the "
  1.1941 @@ -4708,14 +4725,14 @@
  1.1942  msgstr ""
  1.1943  
  1.1944  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.1945 -#: ../en/ch04-concepts.xml:486
  1.1946 +#: ../en/ch04-concepts.xml:511
  1.1947  msgid ""
  1.1948  "If one changeset has modified a file, and the other has renamed or copied the "
  1.1949  "file, make sure that the changes follow the new name of the file."
  1.1950  msgstr ""
  1.1951  
  1.1952  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1953 -#: ../en/ch04-concepts.xml:490
  1.1954 +#: ../en/ch04-concepts.xml:515
  1.1955  msgid ""
  1.1956  "There are more details&emdash;merging has plenty of corner cases&emdash;but "
  1.1957  "these are the most common choices that are involved in a merge.  As you can "
  1.1958 @@ -4724,7 +4741,7 @@
  1.1959  msgstr ""
  1.1960  
  1.1961  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1962 -#: ../en/ch04-concepts.xml:497
  1.1963 +#: ../en/ch04-concepts.xml:522
  1.1964  msgid ""
  1.1965  "When you're thinking about what happens when you commit after a merge, once "
  1.1966  "again the working directory is <quote>the changeset I'm about to commit</"
  1.1967 @@ -4734,7 +4751,7 @@
  1.1968  msgstr ""
  1.1969  
  1.1970  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.1971 -#: ../en/ch04-concepts.xml:504
  1.1972 +#: ../en/ch04-concepts.xml:529
  1.1973  msgid ""
  1.1974  "Mercurial lets you perform multiple merges, but you must commit the results "
  1.1975  "of each individual merge as you go.  This is necessary because Mercurial only "
  1.1976 @@ -4745,12 +4762,12 @@
  1.1977  msgstr ""
  1.1978  
  1.1979  #. type: Content of: <book><chapter><sect1><title>
  1.1980 -#: ../en/ch04-concepts.xml:515
  1.1981 +#: ../en/ch04-concepts.xml:540
  1.1982  msgid "Other interesting design features"
  1.1983  msgstr "其它有趣的设计特性"
  1.1984  
  1.1985  #. type: Content of: <book><chapter><sect1><para>
  1.1986 -#: ../en/ch04-concepts.xml:517
  1.1987 +#: ../en/ch04-concepts.xml:542
  1.1988  msgid ""
  1.1989  "In the sections above, I've tried to highlight some of the most important "
  1.1990  "aspects of Mercurial's design, to illustrate that it pays careful attention "
  1.1991 @@ -4763,12 +4780,12 @@
  1.1992  msgstr ""
  1.1993  
  1.1994  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.1995 -#: ../en/ch04-concepts.xml:528
  1.1996 +#: ../en/ch04-concepts.xml:553
  1.1997  msgid "Clever compression"
  1.1998  msgstr "智能压缩"
  1.1999  
  1.2000  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2001 -#: ../en/ch04-concepts.xml:530
  1.2002 +#: ../en/ch04-concepts.xml:555
  1.2003  msgid ""
  1.2004  "When appropriate, Mercurial will store both snapshots and deltas in "
  1.2005  "compressed form.  It does this by always <emphasis>trying to</emphasis> "
  1.2006 @@ -4777,7 +4794,7 @@
  1.2007  msgstr ""
  1.2008  
  1.2009  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2010 -#: ../en/ch04-concepts.xml:536
  1.2011 +#: ../en/ch04-concepts.xml:561
  1.2012  msgid ""
  1.2013  "This means that Mercurial does <quote>the right thing</quote> when storing a "
  1.2014  "file whose native form is compressed, such as a <literal>zip</literal> "
  1.2015 @@ -4787,7 +4804,7 @@
  1.2016  msgstr ""
  1.2017  
  1.2018  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2019 -#: ../en/ch04-concepts.xml:544
  1.2020 +#: ../en/ch04-concepts.xml:569
  1.2021  msgid ""
  1.2022  "Deltas between revisions of a compressed file are usually larger than "
  1.2023  "snapshots of the file, and Mercurial again does <quote>the right thing</"
  1.2024 @@ -4797,12 +4814,12 @@
  1.2025  msgstr ""
  1.2026  
  1.2027  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.2028 -#: ../en/ch04-concepts.xml:553
  1.2029 +#: ../en/ch04-concepts.xml:578
  1.2030  msgid "Network recompression"
  1.2031  msgstr "网络重新压缩"
  1.2032  
  1.2033  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2034 -#: ../en/ch04-concepts.xml:555
  1.2035 +#: ../en/ch04-concepts.xml:580
  1.2036  msgid ""
  1.2037  "When storing revisions on disk, Mercurial uses the <quote>deflate</quote> "
  1.2038  "compression algorithm (the same one used by the popular <literal>zip</"
  1.2039 @@ -4812,7 +4829,7 @@
  1.2040  msgstr ""
  1.2041  
  1.2042  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2043 -#: ../en/ch04-concepts.xml:563
  1.2044 +#: ../en/ch04-concepts.xml:588
  1.2045  msgid ""
  1.2046  "If the connection is over HTTP, Mercurial recompresses the entire stream of "
  1.2047  "data using a compression algorithm that gives a better compression ratio (the "
  1.2048 @@ -4824,7 +4841,7 @@
  1.2049  msgstr ""
  1.2050  
  1.2051  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2052 -#: ../en/ch04-concepts.xml:573
  1.2053 +#: ../en/ch04-concepts.xml:598
  1.2054  msgid ""
  1.2055  "(If the connection is over <command>ssh</command>, Mercurial "
  1.2056  "<emphasis>doesn't</emphasis> recompress the stream, because <command>ssh</"
  1.2057 @@ -4832,22 +4849,22 @@
  1.2058  msgstr ""
  1.2059  
  1.2060  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2061 -#: ../en/ch04-concepts.xml:581
  1.2062 +#: ../en/ch04-concepts.xml:606
  1.2063  msgid "Read/write ordering and atomicity"
  1.2064  msgstr "读写顺序与原子性"
  1.2065  
  1.2066  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2067 -#: ../en/ch04-concepts.xml:583
  1.2068 +#: ../en/ch04-concepts.xml:608
  1.2069  msgid ""
  1.2070  "Appending to files isn't the whole story when it comes to guaranteeing that a "
  1.2071 -"reader won't see a partial write.  If you recall figure <xref linkend=\"fig."
  1.2072 -"concepts.metadata\"/>, revisions in the changelog point to revisions in the "
  1.2073 -"manifest, and revisions in the manifest point to revisions in filelogs.  This "
  1.2074 -"hierarchy is deliberate."
  1.2075 -msgstr ""
  1.2076 -
  1.2077 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2078 -#: ../en/ch04-concepts.xml:591
  1.2079 +"reader won't see a partial write.  If you recall figure <xref endterm=\"fig."
  1.2080 +"concepts.metadata.caption\" linkend=\"fig.concepts.metadata\"/>, revisions in "
  1.2081 +"the changelog point to revisions in the manifest, and revisions in the "
  1.2082 +"manifest point to revisions in filelogs.  This hierarchy is deliberate."
  1.2083 +msgstr ""
  1.2084 +
  1.2085 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.2086 +#: ../en/ch04-concepts.xml:616
  1.2087  msgid ""
  1.2088  "A writer starts a transaction by writing filelog and manifest data, and "
  1.2089  "doesn't write any changelog data until those are finished.  A reader starts "
  1.2090 @@ -4855,7 +4872,7 @@
  1.2091  msgstr ""
  1.2092  
  1.2093  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2094 -#: ../en/ch04-concepts.xml:596
  1.2095 +#: ../en/ch04-concepts.xml:621
  1.2096  msgid ""
  1.2097  "Since the writer has always finished writing filelog and manifest data before "
  1.2098  "it writes to the changelog, a reader will never read a pointer to a partially "
  1.2099 @@ -4864,12 +4881,12 @@
  1.2100  msgstr ""
  1.2101  
  1.2102  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2103 -#: ../en/ch04-concepts.xml:604
  1.2104 +#: ../en/ch04-concepts.xml:629
  1.2105  msgid "Concurrent access"
  1.2106  msgstr "并发访问"
  1.2107  
  1.2108  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2109 -#: ../en/ch04-concepts.xml:606
  1.2110 +#: ../en/ch04-concepts.xml:631
  1.2111  msgid ""
  1.2112  "The read/write ordering and atomicity guarantees mean that Mercurial never "
  1.2113  "needs to <emphasis>lock</emphasis> a repository when it's reading data, even "
  1.2114 @@ -4880,7 +4897,7 @@
  1.2115  msgstr ""
  1.2116  
  1.2117  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2118 -#: ../en/ch04-concepts.xml:615
  1.2119 +#: ../en/ch04-concepts.xml:640
  1.2120  msgid ""
  1.2121  "The lockless nature of reading means that if you're sharing a repository on a "
  1.2122  "multi-user system, you don't need to grant other local users permission to "
  1.2123 @@ -4894,7 +4911,7 @@
  1.2124  msgstr ""
  1.2125  
  1.2126  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2127 -#: ../en/ch04-concepts.xml:628
  1.2128 +#: ../en/ch04-concepts.xml:653
  1.2129  msgid ""
  1.2130  "Mercurial uses locks to ensure that only one process can write to a "
  1.2131  "repository at a time (the locking mechanism is safe even over filesystems "
  1.2132 @@ -4908,12 +4925,12 @@
  1.2133  msgstr ""
  1.2134  
  1.2135  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.2136 -#: ../en/ch04-concepts.xml:640
  1.2137 +#: ../en/ch04-concepts.xml:665
  1.2138  msgid "Safe dirstate access"
  1.2139  msgstr "安全的目录状态访问"
  1.2140  
  1.2141  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.2142 -#: ../en/ch04-concepts.xml:642
  1.2143 +#: ../en/ch04-concepts.xml:667
  1.2144  msgid ""
  1.2145  "As with revision data, Mercurial doesn't take a lock to read the dirstate "
  1.2146  "file; it does acquire a lock to write it.  To avoid the possibility of "
  1.2147 @@ -4925,12 +4942,12 @@
  1.2148  msgstr ""
  1.2149  
  1.2150  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2151 -#: ../en/ch04-concepts.xml:655
  1.2152 +#: ../en/ch04-concepts.xml:680
  1.2153  msgid "Avoiding seeks"
  1.2154  msgstr "避免查找"
  1.2155  
  1.2156  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2157 -#: ../en/ch04-concepts.xml:657
  1.2158 +#: ../en/ch04-concepts.xml:682
  1.2159  msgid ""
  1.2160  "Critical to Mercurial's performance is the avoidance of seeks of the disk "
  1.2161  "head, since any seek is far more expensive than even a comparatively large "
  1.2162 @@ -4938,7 +4955,7 @@
  1.2163  msgstr ""
  1.2164  
  1.2165  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2166 -#: ../en/ch04-concepts.xml:661
  1.2167 +#: ../en/ch04-concepts.xml:686
  1.2168  msgid ""
  1.2169  "This is why, for example, the dirstate is stored in a single file.  If there "
  1.2170  "were a dirstate file per directory that Mercurial tracked, the disk would "
  1.2171 @@ -4947,7 +4964,7 @@
  1.2172  msgstr ""
  1.2173  
  1.2174  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2175 -#: ../en/ch04-concepts.xml:667
  1.2176 +#: ../en/ch04-concepts.xml:692
  1.2177  msgid ""
  1.2178  "Mercurial also uses a <quote>copy on write</quote> scheme when cloning a "
  1.2179  "repository on local storage.  Instead of copying every revlog file from the "
  1.2180 @@ -4960,7 +4977,7 @@
  1.2181  msgstr ""
  1.2182  
  1.2183  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2184 -#: ../en/ch04-concepts.xml:678
  1.2185 +#: ../en/ch04-concepts.xml:703
  1.2186  msgid ""
  1.2187  "A few revision control developers have pointed out that this idea of making a "
  1.2188  "complete private copy of a file is not very efficient in its use of storage.  "
  1.2189 @@ -4972,12 +4989,12 @@
  1.2190  msgstr ""
  1.2191  
  1.2192  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2193 -#: ../en/ch04-concepts.xml:690
  1.2194 +#: ../en/ch04-concepts.xml:715
  1.2195  msgid "Other contents of the dirstate"
  1.2196  msgstr "目录状态的其它内容"
  1.2197  
  1.2198  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2199 -#: ../en/ch04-concepts.xml:692
  1.2200 +#: ../en/ch04-concepts.xml:717
  1.2201  msgid ""
  1.2202  "Because Mercurial doesn't force you to tell it when you're modifying a file, "
  1.2203  "it uses the dirstate to store some extra information so it can determine "
  1.2204 @@ -4987,7 +5004,7 @@
  1.2205  msgstr ""
  1.2206  
  1.2207  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2208 -#: ../en/ch04-concepts.xml:699
  1.2209 +#: ../en/ch04-concepts.xml:724
  1.2210  msgid ""
  1.2211  "When you explicitly <command role=\"hg-cmd\">hg add</command>, <command role="
  1.2212  "\"hg-cmd\">hg remove</command>, <command role=\"hg-cmd\">hg rename</command> "
  1.2213 @@ -4996,7 +5013,7 @@
  1.2214  msgstr ""
  1.2215  
  1.2216  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2217 -#: ../en/ch04-concepts.xml:706
  1.2218 +#: ../en/ch04-concepts.xml:731
  1.2219  msgid ""
  1.2220  "When Mercurial is checking the states of files in the working directory, it "
  1.2221  "first checks a file's modification time.  If that has not changed, the file "
  1.2222 @@ -6035,7 +6052,7 @@
  1.2223  msgstr ""
  1.2224  
  1.2225  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.2226 -#: ../en/ch06-collab.xml:264 ../en/ch06-collab.xml:276
  1.2227 +#: ../en/ch06-collab.xml:264 ../en/ch06-collab.xml:278
  1.2228  msgid "Feature branches"
  1.2229  msgstr "特性分支"
  1.2230  
  1.2231 @@ -6050,14 +6067,14 @@
  1.2232  msgstr ""
  1.2233  
  1.2234  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.2235 -#: ../en/ch06-collab.xml:274
  1.2236 -msgid ""
  1.2237 -"<imageobject><imagedata fileref=\"images/feature-branches.png\"/></"
  1.2238 +#: ../en/ch06-collab.xml:275
  1.2239 +msgid ""
  1.2240 +"<imageobject><imagedata fileref=\"images/feature-branches.png\"/> </"
  1.2241  "imageobject>"
  1.2242  msgstr ""
  1.2243  
  1.2244  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2245 -#: ../en/ch06-collab.xml:280
  1.2246 +#: ../en/ch06-collab.xml:283
  1.2247  msgid ""
  1.2248  "When a particular feature is deemed to be in suitable shape, someone on that "
  1.2249  "feature team pulls and merges from the master branch into the feature branch, "
  1.2250 @@ -6065,12 +6082,12 @@
  1.2251  msgstr ""
  1.2252  
  1.2253  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2254 -#: ../en/ch06-collab.xml:287
  1.2255 +#: ../en/ch06-collab.xml:290
  1.2256  msgid "The release train"
  1.2257  msgstr "发布列车"
  1.2258  
  1.2259  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2260 -#: ../en/ch06-collab.xml:289
  1.2261 +#: ../en/ch06-collab.xml:292
  1.2262  msgid ""
  1.2263  "Some projects are organised on a <quote>train</quote> basis: a release is "
  1.2264  "scheduled to happen every few months, and whatever features are ready when "
  1.2265 @@ -6078,7 +6095,7 @@
  1.2266  msgstr ""
  1.2267  
  1.2268  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2269 -#: ../en/ch06-collab.xml:294
  1.2270 +#: ../en/ch06-collab.xml:297
  1.2271  msgid ""
  1.2272  "This model resembles working with feature branches.  The difference is that "
  1.2273  "when a feature branch misses a train, someone on the feature team pulls and "
  1.2274 @@ -6088,12 +6105,12 @@
  1.2275  msgstr ""
  1.2276  
  1.2277  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2278 -#: ../en/ch06-collab.xml:303
  1.2279 +#: ../en/ch06-collab.xml:306
  1.2280  msgid "The Linux kernel model"
  1.2281  msgstr "Linux 内核模型"
  1.2282  
  1.2283  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2284 -#: ../en/ch06-collab.xml:305
  1.2285 +#: ../en/ch06-collab.xml:308
  1.2286  msgid ""
  1.2287  "The development of the Linux kernel has a shallow hierarchical structure, "
  1.2288  "surrounded by a cloud of apparent chaos.  Because most Linux developers use "
  1.2289 @@ -6103,7 +6120,7 @@
  1.2290  msgstr ""
  1.2291  
  1.2292  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2293 -#: ../en/ch06-collab.xml:313
  1.2294 +#: ../en/ch06-collab.xml:316
  1.2295  msgid ""
  1.2296  "At the center of the community sits Linus Torvalds, the creator of Linux.  He "
  1.2297  "publishes a single source repository that is considered the "
  1.2298 @@ -6113,7 +6130,7 @@
  1.2299  msgstr ""
  1.2300  
  1.2301  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2302 -#: ../en/ch06-collab.xml:320
  1.2303 +#: ../en/ch06-collab.xml:323
  1.2304  msgid ""
  1.2305  "Linus has a number of <quote>trusted lieutenants</quote>.  As a general rule, "
  1.2306  "he pulls whatever changes they publish, in most cases without even reviewing "
  1.2307 @@ -6127,7 +6144,7 @@
  1.2308  msgstr ""
  1.2309  
  1.2310  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2311 -#: ../en/ch06-collab.xml:332
  1.2312 +#: ../en/ch06-collab.xml:335
  1.2313  msgid ""
  1.2314  "Individual lieutenants have their own approaches to reviewing, accepting, and "
  1.2315  "publishing changes; and for deciding when to feed them to Linus.  In "
  1.2316 @@ -6140,7 +6157,7 @@
  1.2317  msgstr ""
  1.2318  
  1.2319  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2320 -#: ../en/ch06-collab.xml:343
  1.2321 +#: ../en/ch06-collab.xml:346
  1.2322  msgid ""
  1.2323  "This model has two notable features.  The first is that it's <quote>pull "
  1.2324  "only</quote>.  You have to ask, convince, or beg another developer to take a "
  1.2325 @@ -6150,7 +6167,7 @@
  1.2326  msgstr ""
  1.2327  
  1.2328  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2329 -#: ../en/ch06-collab.xml:350
  1.2330 +#: ../en/ch06-collab.xml:353
  1.2331  msgid ""
  1.2332  "The second is that it's based on reputation and acclaim.  If you're an "
  1.2333  "unknown, Linus will probably ignore changes from you without even "
  1.2334 @@ -6164,7 +6181,7 @@
  1.2335  msgstr ""
  1.2336  
  1.2337  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2338 -#: ../en/ch06-collab.xml:361
  1.2339 +#: ../en/ch06-collab.xml:364
  1.2340  msgid ""
  1.2341  "Reputation and acclaim don't necessarily cross subsystem or <quote>people</"
  1.2342  "quote> boundaries.  If you're a respected but specialised storage hacker, and "
  1.2343 @@ -6173,7 +6190,7 @@
  1.2344  msgstr ""
  1.2345  
  1.2346  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2347 -#: ../en/ch06-collab.xml:368
  1.2348 +#: ../en/ch06-collab.xml:371
  1.2349  msgid ""
  1.2350  "To people who come from more orderly project backgrounds, the comparatively "
  1.2351  "chaotic Linux kernel development process often seems completely insane.  It's "
  1.2352 @@ -6183,12 +6200,12 @@
  1.2353  msgstr ""
  1.2354  
  1.2355  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2356 -#: ../en/ch06-collab.xml:378
  1.2357 +#: ../en/ch06-collab.xml:381
  1.2358  msgid "Pull-only versus shared-push collaboration"
  1.2359  msgstr "只读与共享写协作"
  1.2360  
  1.2361  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2362 -#: ../en/ch06-collab.xml:380
  1.2363 +#: ../en/ch06-collab.xml:383
  1.2364  msgid ""
  1.2365  "A perpetual source of heat in the open source community is whether a "
  1.2366  "development model in which people only ever pull changes from others is "
  1.2367 @@ -6197,7 +6214,7 @@
  1.2368  msgstr ""
  1.2369  
  1.2370  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2371 -#: ../en/ch06-collab.xml:386
  1.2372 +#: ../en/ch06-collab.xml:389
  1.2373  msgid ""
  1.2374  "Typically, the backers of the shared-push model use tools that actively "
  1.2375  "enforce this approach.  If you're using a centralised revision control tool "
  1.2376 @@ -6208,7 +6225,7 @@
  1.2377  msgstr ""
  1.2378  
  1.2379  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2380 -#: ../en/ch06-collab.xml:394
  1.2381 +#: ../en/ch06-collab.xml:397
  1.2382  msgid ""
  1.2383  "A good distributed revision control tool, such as Mercurial, will support "
  1.2384  "both models.  You and your collaborators can then structure how you work "
  1.2385 @@ -6217,12 +6234,12 @@
  1.2386  msgstr ""
  1.2387  
  1.2388  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2389 -#: ../en/ch06-collab.xml:402
  1.2390 +#: ../en/ch06-collab.xml:405
  1.2391  msgid "Where collaboration meets branch management"
  1.2392  msgstr "协作与分支管理"
  1.2393  
  1.2394  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2395 -#: ../en/ch06-collab.xml:404
  1.2396 +#: ../en/ch06-collab.xml:407
  1.2397  msgid ""
  1.2398  "Once you and your team set up some shared repositories and start propagating "
  1.2399  "changes back and forth between local and shared repos, you begin to face a "
  1.2400 @@ -6234,24 +6251,24 @@
  1.2401  msgstr ""
  1.2402  
  1.2403  #. type: Content of: <book><chapter><sect1><title>
  1.2404 -#: ../en/ch06-collab.xml:416
  1.2405 +#: ../en/ch06-collab.xml:419
  1.2406  msgid "The technical side of sharing"
  1.2407  msgstr "共享的技术因素"
  1.2408  
  1.2409  #. type: Content of: <book><chapter><sect1><para>
  1.2410 -#: ../en/ch06-collab.xml:418
  1.2411 +#: ../en/ch06-collab.xml:421
  1.2412  msgid ""
  1.2413  "The remainder of this chapter is devoted to the question of serving data to "
  1.2414  "your collaborators."
  1.2415  msgstr ""
  1.2416  
  1.2417  #. type: Content of: <book><chapter><sect1><title>
  1.2418 -#: ../en/ch06-collab.xml:423
  1.2419 +#: ../en/ch06-collab.xml:426
  1.2420  msgid "Informal sharing with <command role=\"hg-cmd\">hg serve</command>"
  1.2421  msgstr "使用 <command role=\"hg-cmd\">hg serve</command> 进行非正式共享"
  1.2422  
  1.2423  #. type: Content of: <book><chapter><sect1><para>
  1.2424 -#: ../en/ch06-collab.xml:426
  1.2425 +#: ../en/ch06-collab.xml:429
  1.2426  msgid ""
  1.2427  "Mercurial's <command role=\"hg-cmd\">hg serve</command> command is "
  1.2428  "wonderfully suited to small, tight-knit, and fast-paced group environments.  "
  1.2429 @@ -6260,7 +6277,7 @@
  1.2430  msgstr ""
  1.2431  
  1.2432  #. type: Content of: <book><chapter><sect1><para>
  1.2433 -#: ../en/ch06-collab.xml:431
  1.2434 +#: ../en/ch06-collab.xml:434
  1.2435  msgid ""
  1.2436  "Run <command role=\"hg-cmd\">hg serve</command> inside a repository, and in "
  1.2437  "under a second it will bring up a specialised HTTP server; this will accept "
  1.2438 @@ -6273,21 +6290,21 @@
  1.2439  msgstr ""
  1.2440  
  1.2441  #. type: Content of: <book><chapter><sect1><para>
  1.2442 -#: ../en/ch06-collab.xml:442
  1.2443 +#: ../en/ch06-collab.xml:445
  1.2444  msgid ""
  1.2445  "The <command role=\"hg-cmd\">hg serve</command> command is <emphasis>not</"
  1.2446  "emphasis> a general-purpose web server. It can do only two things:"
  1.2447  msgstr ""
  1.2448  
  1.2449  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2450 -#: ../en/ch06-collab.xml:446
  1.2451 +#: ../en/ch06-collab.xml:449
  1.2452  msgid ""
  1.2453  "Allow people to browse the history of the repository it's serving, from their "
  1.2454  "normal web browsers."
  1.2455  msgstr ""
  1.2456  
  1.2457  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.2458 -#: ../en/ch06-collab.xml:450
  1.2459 +#: ../en/ch06-collab.xml:453
  1.2460  msgid ""
  1.2461  "Speak Mercurial's wire protocol, so that people can <command role=\"hg-cmd"
  1.2462  "\">hg clone</command> or <command role=\"hg-cmd\">hg pull</command> changes "
  1.2463 @@ -6295,7 +6312,7 @@
  1.2464  msgstr ""
  1.2465  
  1.2466  #. type: Content of: <book><chapter><sect1><para>
  1.2467 -#: ../en/ch06-collab.xml:455
  1.2468 +#: ../en/ch06-collab.xml:458
  1.2469  msgid ""
  1.2470  "In particular, <command role=\"hg-cmd\">hg serve</command> won't allow remote "
  1.2471  "users to <emphasis>modify</emphasis> your repository.  It's intended for read-"
  1.2472 @@ -6303,7 +6320,7 @@
  1.2473  msgstr ""
  1.2474  
  1.2475  #. type: Content of: <book><chapter><sect1><para>
  1.2476 -#: ../en/ch06-collab.xml:459
  1.2477 +#: ../en/ch06-collab.xml:462
  1.2478  msgid ""
  1.2479  "If you're getting started with Mercurial, there's nothing to prevent you from "
  1.2480  "using <command role=\"hg-cmd\">hg serve</command> to serve up a repository on "
  1.2481 @@ -6314,12 +6331,12 @@
  1.2482  msgstr ""
  1.2483  
  1.2484  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2485 -#: ../en/ch06-collab.xml:469
  1.2486 +#: ../en/ch06-collab.xml:472
  1.2487  msgid "A few things to keep in mind"
  1.2488  msgstr "要牢记的几件事"
  1.2489  
  1.2490  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2491 -#: ../en/ch06-collab.xml:471
  1.2492 +#: ../en/ch06-collab.xml:474
  1.2493  msgid ""
  1.2494  "Because it provides unauthenticated read access to all clients, you should "
  1.2495  "only use <command role=\"hg-cmd\">hg serve</command> in an environment where "
  1.2496 @@ -6328,7 +6345,7 @@
  1.2497  msgstr ""
  1.2498  
  1.2499  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2500 -#: ../en/ch06-collab.xml:477
  1.2501 +#: ../en/ch06-collab.xml:480
  1.2502  msgid ""
  1.2503  "The <command role=\"hg-cmd\">hg serve</command> command knows nothing about "
  1.2504  "any firewall software you might have installed on your system or network.  It "
  1.2505 @@ -6339,7 +6356,7 @@
  1.2506  msgstr ""
  1.2507  
  1.2508  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2509 -#: ../en/ch06-collab.xml:486
  1.2510 +#: ../en/ch06-collab.xml:489
  1.2511  msgid ""
  1.2512  "By default, <command role=\"hg-cmd\">hg serve</command> listens for incoming "
  1.2513  "connections on port 8000.  If another process is already listening on the "
  1.2514 @@ -6348,7 +6365,7 @@
  1.2515  msgstr ""
  1.2516  
  1.2517  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2518 -#: ../en/ch06-collab.xml:492
  1.2519 +#: ../en/ch06-collab.xml:495
  1.2520  msgid ""
  1.2521  "Normally, when <command role=\"hg-cmd\">hg serve</command> starts, it prints "
  1.2522  "no output, which can be a bit unnerving.  If you'd like to confirm that it is "
  1.2523 @@ -6358,12 +6375,12 @@
  1.2524  msgstr ""
  1.2525  
  1.2526  #. type: Content of: <book><chapter><sect1><title>
  1.2527 -#: ../en/ch06-collab.xml:502
  1.2528 +#: ../en/ch06-collab.xml:505
  1.2529  msgid "Using the Secure Shell (ssh) protocol"
  1.2530  msgstr "使用 ssh 协议"
  1.2531  
  1.2532  #. type: Content of: <book><chapter><sect1><para>
  1.2533 -#: ../en/ch06-collab.xml:504
  1.2534 +#: ../en/ch06-collab.xml:507
  1.2535  msgid ""
  1.2536  "You can pull and push changes securely over a network connection using the "
  1.2537  "Secure Shell (<literal>ssh</literal>)  protocol.  To use this successfully, "
  1.2538 @@ -6372,7 +6389,7 @@
  1.2539  msgstr ""
  1.2540  
  1.2541  #. type: Content of: <book><chapter><sect1><para>
  1.2542 -#: ../en/ch06-collab.xml:509
  1.2543 +#: ../en/ch06-collab.xml:512
  1.2544  msgid ""
  1.2545  "If you're not familiar with ssh, it's a network protocol that lets you "
  1.2546  "securely communicate with another computer.  To use it with Mercurial, you'll "
  1.2547 @@ -6381,31 +6398,31 @@
  1.2548  msgstr ""
  1.2549  
  1.2550  #. type: Content of: <book><chapter><sect1><para>
  1.2551 -#: ../en/ch06-collab.xml:515
  1.2552 +#: ../en/ch06-collab.xml:518
  1.2553  msgid ""
  1.2554  "(If you <emphasis>are</emphasis> familiar with ssh, you'll probably find some "
  1.2555  "of the material that follows to be elementary in nature.)"
  1.2556  msgstr ""
  1.2557  
  1.2558  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2559 -#: ../en/ch06-collab.xml:520
  1.2560 +#: ../en/ch06-collab.xml:523
  1.2561  msgid "How to read and write ssh URLs"
  1.2562  msgstr "如何读写 ssh 路径"
  1.2563  
  1.2564  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2565 -#: ../en/ch06-collab.xml:522
  1.2566 +#: ../en/ch06-collab.xml:525
  1.2567  msgid "An ssh URL tends to look like this:"
  1.2568  msgstr ""
  1.2569  
  1.2570  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2571 -#: ../en/ch06-collab.xml:525
  1.2572 +#: ../en/ch06-collab.xml:528
  1.2573  msgid ""
  1.2574  "The <quote><literal>ssh://</literal></quote> part tells Mercurial to use the "
  1.2575  "ssh protocol."
  1.2576  msgstr ""
  1.2577  
  1.2578  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2579 -#: ../en/ch06-collab.xml:528
  1.2580 +#: ../en/ch06-collab.xml:531
  1.2581  msgid ""
  1.2582  "The <quote><literal>bos@</literal></quote> component indicates what username "
  1.2583  "to log into the server as.  You can leave this out if the remote username is "
  1.2584 @@ -6413,14 +6430,14 @@
  1.2585  msgstr ""
  1.2586  
  1.2587  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2588 -#: ../en/ch06-collab.xml:533
  1.2589 +#: ../en/ch06-collab.xml:536
  1.2590  msgid ""
  1.2591  "The <quote><literal>hg.serpentine.com</literal></quote> gives the hostname of "
  1.2592  "the server to log into."
  1.2593  msgstr ""
  1.2594  
  1.2595  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2596 -#: ../en/ch06-collab.xml:537
  1.2597 +#: ../en/ch06-collab.xml:540
  1.2598  msgid ""
  1.2599  "The <quote>:22</quote> identifies the port number to connect to the server "
  1.2600  "on.  The default port is 22, so you only need to specify this part if you're "
  1.2601 @@ -6428,13 +6445,13 @@
  1.2602  msgstr ""
  1.2603  
  1.2604  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.2605 -#: ../en/ch06-collab.xml:542
  1.2606 +#: ../en/ch06-collab.xml:545
  1.2607  msgid ""
  1.2608  "The remainder of the URL is the local path to the repository on the server."
  1.2609  msgstr ""
  1.2610  
  1.2611  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2612 -#: ../en/ch06-collab.xml:546
  1.2613 +#: ../en/ch06-collab.xml:549
  1.2614  msgid ""
  1.2615  "There's plenty of scope for confusion with the path component of ssh URLs, as "
  1.2616  "there is no standard way for tools to interpret it.  Some programs behave "
  1.2617 @@ -6444,7 +6461,7 @@
  1.2618  msgstr ""
  1.2619  
  1.2620  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2621 -#: ../en/ch06-collab.xml:553
  1.2622 +#: ../en/ch06-collab.xml:556
  1.2623  msgid ""
  1.2624  "Mercurial treats the path to a repository on the server as relative to the "
  1.2625  "remote user's home directory.  For example, if user <literal>foo</literal> on "
  1.2626 @@ -6455,7 +6472,7 @@
  1.2627  msgstr ""
  1.2628  
  1.2629  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2630 -#: ../en/ch06-collab.xml:562
  1.2631 +#: ../en/ch06-collab.xml:565
  1.2632  msgid ""
  1.2633  "If you want to specify a path relative to another user's home directory, you "
  1.2634  "can use a path that starts with a tilde character followed by the user's name "
  1.2635 @@ -6463,19 +6480,19 @@
  1.2636  msgstr ""
  1.2637  
  1.2638  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2639 -#: ../en/ch06-collab.xml:568
  1.2640 +#: ../en/ch06-collab.xml:571
  1.2641  msgid ""
  1.2642  "And if you really want to specify an <emphasis>absolute</emphasis> path on "
  1.2643  "the server, begin the path component with two slashes, as in this example."
  1.2644  msgstr ""
  1.2645  
  1.2646  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2647 -#: ../en/ch06-collab.xml:575
  1.2648 +#: ../en/ch06-collab.xml:578
  1.2649  msgid "Finding an ssh client for your system"
  1.2650  msgstr "为你的系统寻找 ssh 客户端"
  1.2651  
  1.2652  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2653 -#: ../en/ch06-collab.xml:577
  1.2654 +#: ../en/ch06-collab.xml:580
  1.2655  msgid ""
  1.2656  "Almost every Unix-like system comes with OpenSSH preinstalled.  If you're "
  1.2657  "using such a system, run <literal>which ssh</literal> to find out if the "
  1.2658 @@ -6486,27 +6503,27 @@
  1.2659  msgstr ""
  1.2660  
  1.2661  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2662 -#: ../en/ch06-collab.xml:585
  1.2663 +#: ../en/ch06-collab.xml:588
  1.2664  msgid ""
  1.2665  "On Windows, you'll first need to download a suitable ssh client.  There are "
  1.2666  "two alternatives."
  1.2667  msgstr ""
  1.2668  
  1.2669  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2670 -#: ../en/ch06-collab.xml:588
  1.2671 +#: ../en/ch06-collab.xml:591
  1.2672  msgid ""
  1.2673  "Simon Tatham's excellent PuTTY package <citation>web:putty</citation> "
  1.2674  "provides a complete suite of ssh client commands."
  1.2675  msgstr ""
  1.2676  
  1.2677  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2678 -#: ../en/ch06-collab.xml:592
  1.2679 +#: ../en/ch06-collab.xml:595
  1.2680  msgid ""
  1.2681  "If you have a high tolerance for pain, you can use the Cygwin port of OpenSSH."
  1.2682  msgstr ""
  1.2683  
  1.2684  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2685 -#: ../en/ch06-collab.xml:595
  1.2686 +#: ../en/ch06-collab.xml:598
  1.2687  msgid ""
  1.2688  "In either case, you'll need to edit your \\hgini\\ file to tell Mercurial "
  1.2689  "where to find the actual client command.  For example, if you're using PuTTY, "
  1.2690 @@ -6515,7 +6532,7 @@
  1.2691  msgstr ""
  1.2692  
  1.2693  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.2694 -#: ../en/ch06-collab.xml:604
  1.2695 +#: ../en/ch06-collab.xml:607
  1.2696  msgid ""
  1.2697  "The path to <command>plink</command> shouldn't contain any whitespace "
  1.2698  "characters, or Mercurial may not be able to run it correctly (so putting it "
  1.2699 @@ -6524,12 +6541,12 @@
  1.2700  msgstr ""
  1.2701  
  1.2702  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2703 -#: ../en/ch06-collab.xml:613
  1.2704 +#: ../en/ch06-collab.xml:616
  1.2705  msgid "Generating a key pair"
  1.2706  msgstr "产生密钥对"
  1.2707  
  1.2708  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2709 -#: ../en/ch06-collab.xml:615
  1.2710 +#: ../en/ch06-collab.xml:618
  1.2711  msgid ""
  1.2712  "To avoid the need to repetitively type a password every time you need to use "
  1.2713  "your ssh client, I recommend generating a key pair.  On a Unix-like system, "
  1.2714 @@ -6539,7 +6556,7 @@
  1.2715  msgstr ""
  1.2716  
  1.2717  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2718 -#: ../en/ch06-collab.xml:623
  1.2719 +#: ../en/ch06-collab.xml:626
  1.2720  msgid ""
  1.2721  "When you generate a key pair, it's usually <emphasis>highly</emphasis> "
  1.2722  "advisable to protect it with a passphrase.  (The only time that you might not "
  1.2723 @@ -6548,7 +6565,7 @@
  1.2724  msgstr ""
  1.2725  
  1.2726  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2727 -#: ../en/ch06-collab.xml:629
  1.2728 +#: ../en/ch06-collab.xml:632
  1.2729  msgid ""
  1.2730  "Simply generating a key pair isn't enough, however.  You'll need to add the "
  1.2731  "public key to the set of authorised keys for whatever user you're logging in "
  1.2732 @@ -6559,7 +6576,7 @@
  1.2733  msgstr ""
  1.2734  
  1.2735  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2736 -#: ../en/ch06-collab.xml:638
  1.2737 +#: ../en/ch06-collab.xml:641
  1.2738  msgid ""
  1.2739  "On a Unix-like system, your public key will have a <filename>.pub</filename> "
  1.2740  "extension.  If you're using <command>puttygen</command> on Windows, you can "
  1.2741 @@ -6569,12 +6586,12 @@
  1.2742  msgstr ""
  1.2743  
  1.2744  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2745 -#: ../en/ch06-collab.xml:647
  1.2746 +#: ../en/ch06-collab.xml:650
  1.2747  msgid "Using an authentication agent"
  1.2748  msgstr "使用认证代理"
  1.2749  
  1.2750  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2751 -#: ../en/ch06-collab.xml:649
  1.2752 +#: ../en/ch06-collab.xml:652
  1.2753  msgid ""
  1.2754  "An authentication agent is a daemon that stores passphrases in memory (so it "
  1.2755  "will forget passphrases if you log out and log back in again). An ssh client "
  1.2756 @@ -6586,7 +6603,7 @@
  1.2757  msgstr ""
  1.2758  
  1.2759  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2760 -#: ../en/ch06-collab.xml:658
  1.2761 +#: ../en/ch06-collab.xml:661
  1.2762  msgid ""
  1.2763  "The downside of storing passphrases in an agent is that it's possible for a "
  1.2764  "well-prepared attacker to recover the plain text of your passphrases, in some "
  1.2765 @@ -6596,7 +6613,7 @@
  1.2766  msgstr ""
  1.2767  
  1.2768  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2769 -#: ../en/ch06-collab.xml:665
  1.2770 +#: ../en/ch06-collab.xml:668
  1.2771  msgid ""
  1.2772  "On Unix-like systems, the agent is called <command>ssh-agent</command>, and "
  1.2773  "it's often run automatically for you when you log in.  You'll need to use the "
  1.2774 @@ -6607,12 +6624,12 @@
  1.2775  msgstr ""
  1.2776  
  1.2777  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2778 -#: ../en/ch06-collab.xml:676
  1.2779 +#: ../en/ch06-collab.xml:679
  1.2780  msgid "Configuring the server side properly"
  1.2781  msgstr "正确配置服务器端"
  1.2782  
  1.2783  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2784 -#: ../en/ch06-collab.xml:678
  1.2785 +#: ../en/ch06-collab.xml:681
  1.2786  msgid ""
  1.2787  "Because ssh can be fiddly to set up if you're new to it, there's a variety of "
  1.2788  "things that can go wrong.  Add Mercurial on top, and there's plenty more "
  1.2789 @@ -6622,7 +6639,7 @@
  1.2790  msgstr ""
  1.2791  
  1.2792  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2793 -#: ../en/ch06-collab.xml:686
  1.2794 +#: ../en/ch06-collab.xml:689
  1.2795  msgid ""
  1.2796  "Before you try using Mercurial to talk to an ssh server, it's best to make "
  1.2797  "sure that you can use the normal <command>ssh</command> or <command>putty</"
  1.2798 @@ -6635,7 +6652,7 @@
  1.2799  msgstr ""
  1.2800  
  1.2801  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2802 -#: ../en/ch06-collab.xml:697
  1.2803 +#: ../en/ch06-collab.xml:700
  1.2804  msgid ""
  1.2805  "The first thing to be sure of on the server side is that you can actually log "
  1.2806  "in from another machine at all.  If you can't use <command>ssh</command> or "
  1.2807 @@ -6644,7 +6661,7 @@
  1.2808  msgstr ""
  1.2809  
  1.2810  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2811 -#: ../en/ch06-collab.xml:704
  1.2812 +#: ../en/ch06-collab.xml:707
  1.2813  msgid ""
  1.2814  "If you get a <quote>connection refused</quote> error, either there isn't an "
  1.2815  "SSH daemon running on the server at all, or it's inaccessible due to firewall "
  1.2816 @@ -6652,7 +6669,7 @@
  1.2817  msgstr ""
  1.2818  
  1.2819  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2820 -#: ../en/ch06-collab.xml:709
  1.2821 +#: ../en/ch06-collab.xml:712
  1.2822  msgid ""
  1.2823  "If you get a <quote>no route to host</quote> error, you either have an "
  1.2824  "incorrect address for the server or a seriously locked down firewall that "
  1.2825 @@ -6660,7 +6677,7 @@
  1.2826  msgstr ""
  1.2827  
  1.2828  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2829 -#: ../en/ch06-collab.xml:714
  1.2830 +#: ../en/ch06-collab.xml:717
  1.2831  msgid ""
  1.2832  "If you get a <quote>permission denied</quote> error, you may have mistyped "
  1.2833  "the username on the server, or you could have mistyped your key's passphrase "
  1.2834 @@ -6668,7 +6685,7 @@
  1.2835  msgstr ""
  1.2836  
  1.2837  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2838 -#: ../en/ch06-collab.xml:719
  1.2839 +#: ../en/ch06-collab.xml:722
  1.2840  msgid ""
  1.2841  "In summary, if you're having trouble talking to the server's ssh daemon, "
  1.2842  "first make sure that one is running at all.  On many systems it will be "
  1.2843 @@ -6680,7 +6697,7 @@
  1.2844  msgstr ""
  1.2845  
  1.2846  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2847 -#: ../en/ch06-collab.xml:729
  1.2848 +#: ../en/ch06-collab.xml:732
  1.2849  msgid ""
  1.2850  "If you're using an authentication agent on the client side to store "
  1.2851  "passphrases for your keys, you ought to be able to log into the server "
  1.2852 @@ -6689,26 +6706,26 @@
  1.2853  msgstr ""
  1.2854  
  1.2855  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2856 -#: ../en/ch06-collab.xml:735
  1.2857 +#: ../en/ch06-collab.xml:738
  1.2858  msgid ""
  1.2859  "You might have forgotten to use <command>ssh-add</command> or "
  1.2860  "<command>pageant</command> to store the passphrase."
  1.2861  msgstr ""
  1.2862  
  1.2863  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2864 -#: ../en/ch06-collab.xml:739
  1.2865 +#: ../en/ch06-collab.xml:742
  1.2866  msgid "You might have stored the passphrase for the wrong key."
  1.2867  msgstr ""
  1.2868  
  1.2869  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2870 -#: ../en/ch06-collab.xml:742
  1.2871 +#: ../en/ch06-collab.xml:745
  1.2872  msgid ""
  1.2873  "If you're being prompted for the remote user's password, there are another "
  1.2874  "few possible problems to check."
  1.2875  msgstr ""
  1.2876  
  1.2877  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2878 -#: ../en/ch06-collab.xml:745
  1.2879 +#: ../en/ch06-collab.xml:748
  1.2880  msgid ""
  1.2881  "Either the user's home directory or their <filename role=\"special\" class="
  1.2882  "\"directory\">.ssh</filename> directory might have excessively liberal "
  1.2883 @@ -6719,7 +6736,7 @@
  1.2884  msgstr ""
  1.2885  
  1.2886  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2887 -#: ../en/ch06-collab.xml:754
  1.2888 +#: ../en/ch06-collab.xml:757
  1.2889  msgid ""
  1.2890  "The user's <filename role=\"special\">authorized_keys</filename> file may "
  1.2891  "have a problem. If anyone other than the user owns or can write to that file, "
  1.2892 @@ -6727,7 +6744,7 @@
  1.2893  msgstr ""
  1.2894  
  1.2895  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2896 -#: ../en/ch06-collab.xml:761
  1.2897 +#: ../en/ch06-collab.xml:764
  1.2898  msgid ""
  1.2899  "In the ideal world, you should be able to run the following command "
  1.2900  "successfully, and it should print exactly one line of output, the current "
  1.2901 @@ -6735,7 +6752,7 @@
  1.2902  msgstr ""
  1.2903  
  1.2904  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2905 -#: ../en/ch06-collab.xml:766
  1.2906 +#: ../en/ch06-collab.xml:769
  1.2907  msgid ""
  1.2908  "If, on your server, you have login scripts that print banners or other junk "
  1.2909  "even when running non-interactive commands like this, you should fix them "
  1.2910 @@ -6750,7 +6767,7 @@
  1.2911  msgstr ""
  1.2912  
  1.2913  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2914 -#: ../en/ch06-collab.xml:780
  1.2915 +#: ../en/ch06-collab.xml:783
  1.2916  msgid ""
  1.2917  "Once you've verified that plain old ssh is working with your server, the next "
  1.2918  "step is to ensure that Mercurial runs on the server.  The following command "
  1.2919 @@ -6758,7 +6775,7 @@
  1.2920  msgstr ""
  1.2921  
  1.2922  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2923 -#: ../en/ch06-collab.xml:785
  1.2924 +#: ../en/ch06-collab.xml:788
  1.2925  msgid ""
  1.2926  "If you see an error message instead of normal <command role=\"hg-cmd\">hg "
  1.2927  "version</command> output, this is usually because you haven't installed "
  1.2928 @@ -6768,21 +6785,21 @@
  1.2929  msgstr ""
  1.2930  
  1.2931  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2932 -#: ../en/ch06-collab.xml:792
  1.2933 +#: ../en/ch06-collab.xml:795
  1.2934  msgid ""
  1.2935  "Is Mercurial really installed on the server at all? I know this sounds "
  1.2936  "trivial, but it's worth checking!"
  1.2937  msgstr ""
  1.2938  
  1.2939  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2940 -#: ../en/ch06-collab.xml:796
  1.2941 +#: ../en/ch06-collab.xml:799
  1.2942  msgid ""
  1.2943  "Maybe your shell's search path (usually set via the <envar>PATH</envar> "
  1.2944  "environment variable) is simply misconfigured."
  1.2945  msgstr ""
  1.2946  
  1.2947  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2948 -#: ../en/ch06-collab.xml:800
  1.2949 +#: ../en/ch06-collab.xml:803
  1.2950  msgid ""
  1.2951  "Perhaps your <envar>PATH</envar> environment variable is only being set to "
  1.2952  "point to the location of the <command>hg</command> executable if the login "
  1.2953 @@ -6791,7 +6808,7 @@
  1.2954  msgstr ""
  1.2955  
  1.2956  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.2957 -#: ../en/ch06-collab.xml:807
  1.2958 +#: ../en/ch06-collab.xml:810
  1.2959  msgid ""
  1.2960  "The <envar>PYTHONPATH</envar> environment variable may need to contain the "
  1.2961  "path to the Mercurial Python modules.  It might not be set at all; it could "
  1.2962 @@ -6799,7 +6816,7 @@
  1.2963  msgstr ""
  1.2964  
  1.2965  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2966 -#: ../en/ch06-collab.xml:814
  1.2967 +#: ../en/ch06-collab.xml:817
  1.2968  msgid ""
  1.2969  "If you can run <command role=\"hg-cmd\">hg version</command> over an ssh "
  1.2970  "connection, well done! You've got the server and client sorted out.  You "
  1.2971 @@ -6810,12 +6827,12 @@
  1.2972  msgstr ""
  1.2973  
  1.2974  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.2975 -#: ../en/ch06-collab.xml:824
  1.2976 +#: ../en/ch06-collab.xml:827
  1.2977  msgid "Using compression with ssh"
  1.2978  msgstr "通过 ssh 使用压缩"
  1.2979  
  1.2980  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2981 -#: ../en/ch06-collab.xml:826
  1.2982 +#: ../en/ch06-collab.xml:829
  1.2983  msgid ""
  1.2984  "Mercurial does not compress data when it uses the ssh protocol, because the "
  1.2985  "ssh protocol can transparently compress data.  However, the default behaviour "
  1.2986 @@ -6823,7 +6840,7 @@
  1.2987  msgstr ""
  1.2988  
  1.2989  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2990 -#: ../en/ch06-collab.xml:831
  1.2991 +#: ../en/ch06-collab.xml:834
  1.2992  msgid ""
  1.2993  "Over any network other than a fast LAN (even a wireless network), using "
  1.2994  "compression is likely to significantly speed up Mercurial's network "
  1.2995 @@ -6833,7 +6850,7 @@
  1.2996  msgstr ""
  1.2997  
  1.2998  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.2999 -#: ../en/ch06-collab.xml:838
  1.3000 +#: ../en/ch06-collab.xml:841
  1.3001  msgid ""
  1.3002  "Both <command>ssh</command> and <command>plink</command> accept a <option "
  1.3003  "role=\"cmd-opt-ssh\">-C</option> option which turns on compression.  You can "
  1.3004 @@ -6842,7 +6859,7 @@
  1.3005  msgstr ""
  1.3006  
  1.3007  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3008 -#: ../en/ch06-collab.xml:845
  1.3009 +#: ../en/ch06-collab.xml:848
  1.3010  msgid ""
  1.3011  "If you use <command>ssh</command>, you can configure it to always use "
  1.3012  "compression when talking to your server.  To do this, edit your <filename "
  1.3013 @@ -6851,7 +6868,7 @@
  1.3014  msgstr ""
  1.3015  
  1.3016  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3017 -#: ../en/ch06-collab.xml:852
  1.3018 +#: ../en/ch06-collab.xml:855
  1.3019  msgid ""
  1.3020  "This defines an alias, <literal>hg</literal>.  When you use it on the "
  1.3021  "<command>ssh</command> command line or in a Mercurial <literal>ssh</literal>-"
  1.3022 @@ -6861,19 +6878,19 @@
  1.3023  msgstr ""
  1.3024  
  1.3025  #. type: Content of: <book><chapter><sect1><title>
  1.3026 -#: ../en/ch06-collab.xml:863
  1.3027 +#: ../en/ch06-collab.xml:866
  1.3028  msgid "Serving over HTTP using CGI"
  1.3029  msgstr "使用 CGI 通过 HTTP 提供服务"
  1.3030  
  1.3031  #. type: Content of: <book><chapter><sect1><para>
  1.3032 -#: ../en/ch06-collab.xml:865
  1.3033 +#: ../en/ch06-collab.xml:868
  1.3034  msgid ""
  1.3035  "Depending on how ambitious you are, configuring Mercurial's CGI interface can "
  1.3036  "take anything from a few moments to several hours."
  1.3037  msgstr ""
  1.3038  
  1.3039  #. type: Content of: <book><chapter><sect1><para>
  1.3040 -#: ../en/ch06-collab.xml:869
  1.3041 +#: ../en/ch06-collab.xml:872
  1.3042  msgid ""
  1.3043  "We'll begin with the simplest of examples, and work our way towards a more "
  1.3044  "complex configuration.  Even for the most basic case, you're almost certainly "
  1.3045 @@ -6881,7 +6898,7 @@
  1.3046  msgstr ""
  1.3047  
  1.3048  #. type: Content of: <book><chapter><sect1><note><para>
  1.3049 -#: ../en/ch06-collab.xml:875
  1.3050 +#: ../en/ch06-collab.xml:878
  1.3051  msgid ""
  1.3052  "Configuring a web server is a complex, fiddly, and highly system-dependent "
  1.3053  "activity.  I can't possibly give you instructions that will cover anything "
  1.3054 @@ -6891,33 +6908,33 @@
  1.3055  msgstr ""
  1.3056  
  1.3057  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3058 -#: ../en/ch06-collab.xml:885
  1.3059 +#: ../en/ch06-collab.xml:888
  1.3060  msgid "Web server configuration checklist"
  1.3061  msgstr "Web 服务器配置检查表"
  1.3062  
  1.3063  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3064 -#: ../en/ch06-collab.xml:887
  1.3065 +#: ../en/ch06-collab.xml:890
  1.3066  msgid ""
  1.3067  "Before you continue, do take a few moments to check a few aspects of your "
  1.3068  "system's setup."
  1.3069  msgstr ""
  1.3070  
  1.3071  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3072 -#: ../en/ch06-collab.xml:891
  1.3073 +#: ../en/ch06-collab.xml:894
  1.3074  msgid ""
  1.3075  "Do you have a web server installed at all? Mac OS X ships with Apache, but "
  1.3076  "many other systems may not have a web server installed."
  1.3077  msgstr ""
  1.3078  
  1.3079  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3080 -#: ../en/ch06-collab.xml:895
  1.3081 +#: ../en/ch06-collab.xml:898
  1.3082  msgid ""
  1.3083  "If you have a web server installed, is it actually running? On most systems, "
  1.3084  "even if one is present, it will be disabled by default."
  1.3085  msgstr ""
  1.3086  
  1.3087  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3088 -#: ../en/ch06-collab.xml:899
  1.3089 +#: ../en/ch06-collab.xml:902
  1.3090  msgid ""
  1.3091  "Is your server configured to allow you to run CGI programs in the directory "
  1.3092  "where you plan to do so? Most servers default to explicitly disabling the "
  1.3093 @@ -6925,7 +6942,7 @@
  1.3094  msgstr ""
  1.3095  
  1.3096  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3097 -#: ../en/ch06-collab.xml:905
  1.3098 +#: ../en/ch06-collab.xml:908
  1.3099  msgid ""
  1.3100  "If you don't have a web server installed, and don't have substantial "
  1.3101  "experience configuring Apache, you should consider using the "
  1.3102 @@ -6938,12 +6955,12 @@
  1.3103  msgstr ""
  1.3104  
  1.3105  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3106 -#: ../en/ch06-collab.xml:918
  1.3107 +#: ../en/ch06-collab.xml:921
  1.3108  msgid "Basic CGI configuration"
  1.3109  msgstr "基本 CGI 配置"
  1.3110  
  1.3111  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3112 -#: ../en/ch06-collab.xml:920
  1.3113 +#: ../en/ch06-collab.xml:923
  1.3114  msgid ""
  1.3115  "On Unix-like systems, it's common for users to have a subdirectory named "
  1.3116  "something like <filename class=\"directory\">public_html</filename> in their "
  1.3117 @@ -6953,7 +6970,7 @@
  1.3118  msgstr ""
  1.3119  
  1.3120  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3121 -#: ../en/ch06-collab.xml:929
  1.3122 +#: ../en/ch06-collab.xml:932
  1.3123  msgid ""
  1.3124  "To get started, find the <filename role=\"special\">hgweb.cgi</filename> "
  1.3125  "script that should be present in your Mercurial installation.  If you can't "
  1.3126 @@ -6963,14 +6980,14 @@
  1.3127  msgstr ""
  1.3128  
  1.3129  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3130 -#: ../en/ch06-collab.xml:936 ../en/ch06-collab.xml:1109
  1.3131 +#: ../en/ch06-collab.xml:939 ../en/ch06-collab.xml:1112
  1.3132  msgid ""
  1.3133  "You'll need to copy this script into your <filename class=\"directory"
  1.3134  "\">public_html</filename> directory, and ensure that it's executable."
  1.3135  msgstr ""
  1.3136  
  1.3137  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3138 -#: ../en/ch06-collab.xml:941
  1.3139 +#: ../en/ch06-collab.xml:944
  1.3140  msgid ""
  1.3141  "The <literal>755</literal> argument to <command>chmod</command> is a little "
  1.3142  "more general than just making the script executable: it ensures that the "
  1.3143 @@ -6983,12 +7000,12 @@
  1.3144  msgstr ""
  1.3145  
  1.3146  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.3147 -#: ../en/ch06-collab.xml:955
  1.3148 +#: ../en/ch06-collab.xml:958
  1.3149  msgid "What could <emphasis>possibly</emphasis> go wrong?"
  1.3150  msgstr "什么<emphasis>可能</emphasis>会出错?"
  1.3151  
  1.3152  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3153 -#: ../en/ch06-collab.xml:958
  1.3154 +#: ../en/ch06-collab.xml:961
  1.3155  msgid ""
  1.3156  "Once you've copied the CGI script into place, go into a web browser, and try "
  1.3157  "to open the URL <ulink url=\"http://myhostname/ myuser/hgweb.cgi\">http://"
  1.3158 @@ -7002,7 +7019,7 @@
  1.3159  msgstr ""
  1.3160  
  1.3161  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3162 -#: ../en/ch06-collab.xml:972
  1.3163 +#: ../en/ch06-collab.xml:975
  1.3164  msgid ""
  1.3165  "Your web server may have per-user directories disabled.  If you're using "
  1.3166  "Apache, search your config file for a <literal>UserDir</literal> directive.  "
  1.3167 @@ -7015,7 +7032,7 @@
  1.3168  msgstr ""
  1.3169  
  1.3170  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3171 -#: ../en/ch06-collab.xml:983
  1.3172 +#: ../en/ch06-collab.xml:986
  1.3173  msgid ""
  1.3174  "Your file access permissions may be too restrictive.  The web server must be "
  1.3175  "able to traverse your home directory and directories under your <filename "
  1.3176 @@ -7025,7 +7042,7 @@
  1.3177  msgstr ""
  1.3178  
  1.3179  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3180 -#: ../en/ch06-collab.xml:993
  1.3181 +#: ../en/ch06-collab.xml:996
  1.3182  msgid ""
  1.3183  "The other possibility with permissions is that you might get a completely "
  1.3184  "empty window when you try to load the script.  In this case, it's likely that "
  1.3185 @@ -7035,7 +7052,7 @@
  1.3186  msgstr ""
  1.3187  
  1.3188  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3189 -#: ../en/ch06-collab.xml:1000
  1.3190 +#: ../en/ch06-collab.xml:1003
  1.3191  msgid ""
  1.3192  "Your web server may be configured to disallow execution of CGI programs in "
  1.3193  "your per-user web directory.  Here's Apache's default per-user configuration "
  1.3194 @@ -7043,7 +7060,7 @@
  1.3195  msgstr ""
  1.3196  
  1.3197  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3198 -#: ../en/ch06-collab.xml:1011
  1.3199 +#: ../en/ch06-collab.xml:1014
  1.3200  msgid ""
  1.3201  "If you find a similar-looking <literal>Directory</literal> group in your "
  1.3202  "Apache configuration, the directive to look at inside it is <literal>Options</"
  1.3203 @@ -7052,7 +7069,7 @@
  1.3204  msgstr ""
  1.3205  
  1.3206  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3207 -#: ../en/ch06-collab.xml:1018
  1.3208 +#: ../en/ch06-collab.xml:1021
  1.3209  msgid ""
  1.3210  "If you find that Apache serves you the text of the CGI script instead of "
  1.3211  "executing it, you may need to either uncomment (if already present) or add a "
  1.3212 @@ -7060,7 +7077,7 @@
  1.3213  msgstr ""
  1.3214  
  1.3215  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3216 -#: ../en/ch06-collab.xml:1024
  1.3217 +#: ../en/ch06-collab.xml:1027
  1.3218  msgid ""
  1.3219  "The next possibility is that you might be served with a colourful Python "
  1.3220  "backtrace claiming that it can't import a <literal>mercurial</literal>-"
  1.3221 @@ -7075,7 +7092,7 @@
  1.3222  msgstr ""
  1.3223  
  1.3224  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3225 -#: ../en/ch06-collab.xml:1038
  1.3226 +#: ../en/ch06-collab.xml:1041
  1.3227  msgid ""
  1.3228  "Finally, you are <emphasis>certain</emphasis> to by served with another "
  1.3229  "colourful Python backtrace: this one will complain that it can't find "
  1.3230 @@ -7086,19 +7103,19 @@
  1.3231  msgstr ""
  1.3232  
  1.3233  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3234 -#: ../en/ch06-collab.xml:1048
  1.3235 +#: ../en/ch06-collab.xml:1051
  1.3236  msgid ""
  1.3237  "At this point, when you try to reload the page, you should be presented with "
  1.3238  "a nice HTML view of your repository's history.  Whew!"
  1.3239  msgstr ""
  1.3240  
  1.3241  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.3242 -#: ../en/ch06-collab.xml:1054
  1.3243 +#: ../en/ch06-collab.xml:1057
  1.3244  msgid "Configuring lighttpd"
  1.3245  msgstr "配置 lighttpd"
  1.3246  
  1.3247  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3248 -#: ../en/ch06-collab.xml:1056
  1.3249 +#: ../en/ch06-collab.xml:1059
  1.3250  msgid ""
  1.3251  "To be exhaustive in my experiments, I tried configuring the increasingly "
  1.3252  "popular <literal>lighttpd</literal> web server to serve the same repository "
  1.3253 @@ -7109,7 +7126,7 @@
  1.3254  msgstr ""
  1.3255  
  1.3256  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3257 -#: ../en/ch06-collab.xml:1066
  1.3258 +#: ../en/ch06-collab.xml:1069
  1.3259  msgid ""
  1.3260  "Once I had Apache running, getting <literal>lighttpd</literal> to serve the "
  1.3261  "repository was a snap (in other words, even if you're trying to use "
  1.3262 @@ -7121,7 +7138,7 @@
  1.3263  msgstr ""
  1.3264  
  1.3265  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3266 -#: ../en/ch06-collab.xml:1078
  1.3267 +#: ../en/ch06-collab.xml:1081
  1.3268  msgid ""
  1.3269  "With this done, <literal>lighttpd</literal> ran immediately for me.  If I had "
  1.3270  "configured <literal>lighttpd</literal> before Apache, I'd almost certainly "
  1.3271 @@ -7132,12 +7149,12 @@
  1.3272  msgstr ""
  1.3273  
  1.3274  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3275 -#: ../en/ch06-collab.xml:1091
  1.3276 +#: ../en/ch06-collab.xml:1094
  1.3277  msgid "Sharing multiple repositories with one CGI script"
  1.3278  msgstr "使用一个 CGI 脚本共享多个版本库"
  1.3279  
  1.3280  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3281 -#: ../en/ch06-collab.xml:1093
  1.3282 +#: ../en/ch06-collab.xml:1096
  1.3283  msgid ""
  1.3284  "The <filename role=\"special\">hgweb.cgi</filename> script only lets you "
  1.3285  "publish a single repository, which is an annoying restriction.  If you want "
  1.3286 @@ -7147,7 +7164,7 @@
  1.3287  msgstr ""
  1.3288  
  1.3289  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3290 -#: ../en/ch06-collab.xml:1101
  1.3291 +#: ../en/ch06-collab.xml:1104
  1.3292  msgid ""
  1.3293  "The procedure to configure <filename role=\"special\">hgwebdir.cgi</filename> "
  1.3294  "is only a little more involved than for <filename role=\"special\">hgweb.cgi</"
  1.3295 @@ -7158,7 +7175,7 @@
  1.3296  msgstr ""
  1.3297  
  1.3298  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3299 -#: ../en/ch06-collab.xml:1114
  1.3300 +#: ../en/ch06-collab.xml:1117
  1.3301  msgid ""
  1.3302  "With basic configuration out of the way, try to visit <ulink url=\"http://"
  1.3303  "myhostname/ myuser/hgwebdir.cgi\">http://myhostname/ myuser/hgwebdir.cgi</"
  1.3304 @@ -7168,7 +7185,7 @@
  1.3305  msgstr ""
  1.3306  
  1.3307  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3308 -#: ../en/ch06-collab.xml:1123
  1.3309 +#: ../en/ch06-collab.xml:1126
  1.3310  msgid ""
  1.3311  "The <filename role=\"special\">hgwebdir.cgi</filename> script relies on an "
  1.3312  "external configuration file.  By default, it searches for a file named "
  1.3313 @@ -7180,7 +7197,7 @@
  1.3314  msgstr ""
  1.3315  
  1.3316  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3317 -#: ../en/ch06-collab.xml:1133
  1.3318 +#: ../en/ch06-collab.xml:1136
  1.3319  msgid ""
  1.3320  "The easiest way to configure <filename role=\"special\">hgwebdir.cgi</"
  1.3321  "filename> is with a section named <literal>collections</literal>.  This will "
  1.3322 @@ -7189,7 +7206,7 @@
  1.3323  msgstr ""
  1.3324  
  1.3325  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3326 -#: ../en/ch06-collab.xml:1141
  1.3327 +#: ../en/ch06-collab.xml:1144
  1.3328  msgid ""
  1.3329  "Mercurial interprets this by looking at the directory name on the "
  1.3330  "<emphasis>right</emphasis> hand side of the <quote><literal>=</literal></"
  1.3331 @@ -7201,7 +7218,7 @@
  1.3332  msgstr ""
  1.3333  
  1.3334  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3335 -#: ../en/ch06-collab.xml:1150
  1.3336 +#: ../en/ch06-collab.xml:1153
  1.3337  msgid ""
  1.3338  "Given the example above, if we have a repository whose local path is "
  1.3339  "<filename class=\"directory\">/my/root/this/repo</filename>, the CGI script "
  1.3340 @@ -7215,7 +7232,7 @@
  1.3341  msgstr ""
  1.3342  
  1.3343  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3344 -#: ../en/ch06-collab.xml:1164
  1.3345 +#: ../en/ch06-collab.xml:1167
  1.3346  msgid ""
  1.3347  "If we replace <filename class=\"directory\">/my/root</filename> on the left "
  1.3348  "hand side of this example with <filename class=\"directory\">/my</filename>, "
  1.3349 @@ -7226,7 +7243,7 @@
  1.3350  msgstr ""
  1.3351  
  1.3352  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3353 -#: ../en/ch06-collab.xml:1174
  1.3354 +#: ../en/ch06-collab.xml:1177
  1.3355  msgid ""
  1.3356  "The <filename role=\"special\">hgwebdir.cgi</filename> script will "
  1.3357  "recursively search each directory listed in the <literal>collections</"
  1.3358 @@ -7235,7 +7252,7 @@
  1.3359  msgstr ""
  1.3360  
  1.3361  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3362 -#: ../en/ch06-collab.xml:1180
  1.3363 +#: ../en/ch06-collab.xml:1183
  1.3364  msgid ""
  1.3365  "The <literal>collections</literal> mechanism makes it easy to publish many "
  1.3366  "repositories in a <quote>fire and forget</quote> manner.  You only need to "
  1.3367 @@ -7246,12 +7263,12 @@
  1.3368  msgstr ""
  1.3369  
  1.3370  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.3371 -#: ../en/ch06-collab.xml:1190
  1.3372 +#: ../en/ch06-collab.xml:1193
  1.3373  msgid "Explicitly specifying which repositories to publish"
  1.3374  msgstr "明确指出要发布的版本库"
  1.3375  
  1.3376  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3377 -#: ../en/ch06-collab.xml:1193
  1.3378 +#: ../en/ch06-collab.xml:1196
  1.3379  msgid ""
  1.3380  "In addition to the <literal>collections</literal> mechanism, the <filename "
  1.3381  "role=\"special\">hgwebdir.cgi</filename> script allows you to publish a "
  1.3382 @@ -7260,7 +7277,7 @@
  1.3383  msgstr ""
  1.3384  
  1.3385  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3386 -#: ../en/ch06-collab.xml:1201
  1.3387 +#: ../en/ch06-collab.xml:1204
  1.3388  msgid ""
  1.3389  "In this case, the virtual path (the component that will appear in a URL) is "
  1.3390  "on the left hand side of each definition, while the path to the repository is "
  1.3391 @@ -7270,7 +7287,7 @@
  1.3392  msgstr ""
  1.3393  
  1.3394  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3395 -#: ../en/ch06-collab.xml:1208
  1.3396 +#: ../en/ch06-collab.xml:1211
  1.3397  msgid ""
  1.3398  "If you wish, you can use both the <literal>collections</literal> and "
  1.3399  "<literal>paths</literal> mechanisms simultaneously in a single configuration "
  1.3400 @@ -7278,7 +7295,7 @@
  1.3401  msgstr ""
  1.3402  
  1.3403  #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para>
  1.3404 -#: ../en/ch06-collab.xml:1214
  1.3405 +#: ../en/ch06-collab.xml:1217
  1.3406  msgid ""
  1.3407  "If multiple repositories have the same virtual path, <filename role=\"special"
  1.3408  "\">hgwebdir.cgi</filename> will not report an error.  Instead, it will behave "
  1.3409 @@ -7286,12 +7303,12 @@
  1.3410  msgstr ""
  1.3411  
  1.3412  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3413 -#: ../en/ch06-collab.xml:1223
  1.3414 +#: ../en/ch06-collab.xml:1226
  1.3415  msgid "Downloading source archives"
  1.3416  msgstr "下载源代码档案包"
  1.3417  
  1.3418  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3419 -#: ../en/ch06-collab.xml:1225
  1.3420 +#: ../en/ch06-collab.xml:1228
  1.3421  msgid ""
  1.3422  "Mercurial's web interface lets users download an archive of any revision.  "
  1.3423  "This archive will contain a snapshot of the working directory as of that "
  1.3424 @@ -7299,7 +7316,7 @@
  1.3425  msgstr ""
  1.3426  
  1.3427  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3428 -#: ../en/ch06-collab.xml:1230
  1.3429 +#: ../en/ch06-collab.xml:1233
  1.3430  msgid ""
  1.3431  "By default, this feature is not enabled.  To enable it, you'll need to add an "
  1.3432  "<envar role=\"rc-item-web\">allow_archive</envar> item to the <literal role="
  1.3433 @@ -7308,12 +7325,12 @@
  1.3434  msgstr ""
  1.3435  
  1.3436  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3437 -#: ../en/ch06-collab.xml:1238
  1.3438 +#: ../en/ch06-collab.xml:1241
  1.3439  msgid "Web configuration options"
  1.3440  msgstr "Web 配置选项"
  1.3441  
  1.3442  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3443 -#: ../en/ch06-collab.xml:1240
  1.3444 +#: ../en/ch06-collab.xml:1243
  1.3445  msgid ""
  1.3446  "Mercurial's web interfaces (the <command role=\"hg-cmd\">hg serve</command> "
  1.3447  "command, and the <filename role=\"special\">hgweb.cgi</filename> and "
  1.3448 @@ -7323,7 +7340,7 @@
  1.3449  msgstr ""
  1.3450  
  1.3451  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3452 -#: ../en/ch06-collab.xml:1248
  1.3453 +#: ../en/ch06-collab.xml:1251
  1.3454  msgid ""
  1.3455  "<envar role=\"rc-item-web\">allow_archive</envar>: Determines which (if any) "
  1.3456  "archive download mechanisms Mercurial supports.  If you enable this feature, "
  1.3457 @@ -7333,7 +7350,7 @@
  1.3458  msgstr ""
  1.3459  
  1.3460  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para>
  1.3461 -#: ../en/ch06-collab.xml:1257
  1.3462 +#: ../en/ch06-collab.xml:1260
  1.3463  msgid ""
  1.3464  "<literal>bz2</literal>: A <command>tar</command> archive, compressed using "
  1.3465  "<literal>bzip2</literal> compression.  This has the best compression ratio, "
  1.3466 @@ -7341,14 +7358,14 @@
  1.3467  msgstr ""
  1.3468  
  1.3469  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para>
  1.3470 -#: ../en/ch06-collab.xml:1263
  1.3471 +#: ../en/ch06-collab.xml:1266
  1.3472  msgid ""
  1.3473  "<literal>gz</literal>: A <command>tar</command> archive, compressed using "
  1.3474  "<literal>gzip</literal> compression."
  1.3475  msgstr ""
  1.3476  
  1.3477  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para>
  1.3478 -#: ../en/ch06-collab.xml:1267
  1.3479 +#: ../en/ch06-collab.xml:1270
  1.3480  msgid ""
  1.3481  "<literal>zip</literal>: A <command>zip</command> archive, compressed using "
  1.3482  "LZW compression.  This format has the worst compression ratio, but is widely "
  1.3483 @@ -7356,7 +7373,7 @@
  1.3484  msgstr ""
  1.3485  
  1.3486  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3487 -#: ../en/ch06-collab.xml:1273
  1.3488 +#: ../en/ch06-collab.xml:1276
  1.3489  msgid ""
  1.3490  "If you provide an empty list, or don't have an <envar role=\"rc-item-web"
  1.3491  "\">allow_archive</envar> entry at all, this feature will be disabled.  Here "
  1.3492 @@ -7364,7 +7381,7 @@
  1.3493  msgstr ""
  1.3494  
  1.3495  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3496 -#: ../en/ch06-collab.xml:1280
  1.3497 +#: ../en/ch06-collab.xml:1283
  1.3498  msgid ""
  1.3499  "<envar role=\"rc-item-web\">allowpull</envar>: Boolean.  Determines whether "
  1.3500  "the web interface allows remote users to <command role=\"hg-cmd\">hg pull</"
  1.3501 @@ -7374,7 +7391,7 @@
  1.3502  msgstr ""
  1.3503  
  1.3504  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3505 -#: ../en/ch06-collab.xml:1289
  1.3506 +#: ../en/ch06-collab.xml:1292
  1.3507  msgid ""
  1.3508  "<envar role=\"rc-item-web\">contact</envar>: String.  A free-form (but "
  1.3509  "preferably brief) string identifying the person or group in charge of the "
  1.3510 @@ -7386,21 +7403,21 @@
  1.3511  msgstr ""
  1.3512  
  1.3513  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3514 -#: ../en/ch06-collab.xml:1300
  1.3515 +#: ../en/ch06-collab.xml:1303
  1.3516  msgid ""
  1.3517  "<envar role=\"rc-item-web\">maxchanges</envar>: Integer.  The default maximum "
  1.3518  "number of changesets to display in a single page of output."
  1.3519  msgstr ""
  1.3520  
  1.3521  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3522 -#: ../en/ch06-collab.xml:1304
  1.3523 +#: ../en/ch06-collab.xml:1307
  1.3524  msgid ""
  1.3525  "<envar role=\"rc-item-web\">maxfiles</envar>: Integer.  The default maximum "
  1.3526  "number of modified files to display in a single page of output."
  1.3527  msgstr ""
  1.3528  
  1.3529  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3530 -#: ../en/ch06-collab.xml:1308
  1.3531 +#: ../en/ch06-collab.xml:1311
  1.3532  msgid ""
  1.3533  "<envar role=\"rc-item-web\">stripes</envar>: Integer.  If the web interface "
  1.3534  "displays alternating <quote>stripes</quote> to make it easier to visually "
  1.3535 @@ -7409,7 +7426,7 @@
  1.3536  msgstr ""
  1.3537  
  1.3538  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3539 -#: ../en/ch06-collab.xml:1314
  1.3540 +#: ../en/ch06-collab.xml:1317
  1.3541  msgid ""
  1.3542  "<envar role=\"rc-item-web\">style</envar>: Controls the template Mercurial "
  1.3543  "uses to display the web interface.  Mercurial ships with two web templates, "
  1.3544 @@ -7420,7 +7437,7 @@
  1.3545  msgstr ""
  1.3546  
  1.3547  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.3548 -#: ../en/ch06-collab.xml:1325
  1.3549 +#: ../en/ch06-collab.xml:1328
  1.3550  msgid ""
  1.3551  "<envar role=\"rc-item-web\">templates</envar>: Path.  The directory in which "
  1.3552  "to search for template files.  By default, Mercurial searches in the "
  1.3553 @@ -7428,7 +7445,7 @@
  1.3554  msgstr ""
  1.3555  
  1.3556  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3557 -#: ../en/ch06-collab.xml:1330
  1.3558 +#: ../en/ch06-collab.xml:1333
  1.3559  msgid ""
  1.3560  "If you are using <filename role=\"special\">hgwebdir.cgi</filename>, you can "
  1.3561  "place a few configuration items in a <literal role=\"rc-web\">web</literal> "
  1.3562 @@ -7439,12 +7456,12 @@
  1.3563  msgstr ""
  1.3564  
  1.3565  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.3566 -#: ../en/ch06-collab.xml:1341
  1.3567 +#: ../en/ch06-collab.xml:1344
  1.3568  msgid "Options specific to an individual repository"
  1.3569  msgstr "针对单个版本库的选项"
  1.3570  
  1.3571  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3572 -#: ../en/ch06-collab.xml:1343
  1.3573 +#: ../en/ch06-collab.xml:1346
  1.3574  msgid ""
  1.3575  "A few <literal role=\"rc-web\">web</literal> configuration items ought to be "
  1.3576  "placed in a repository's local <filename role=\"special\">.hg/hgrc</"
  1.3577 @@ -7453,7 +7470,7 @@
  1.3578  msgstr ""
  1.3579  
  1.3580  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.3581 -#: ../en/ch06-collab.xml:1349
  1.3582 +#: ../en/ch06-collab.xml:1352
  1.3583  msgid ""
  1.3584  "<envar role=\"rc-item-web\">description</envar>: String.  A free-form (but "
  1.3585  "preferably brief) string that describes the contents or purpose of the "
  1.3586 @@ -7461,7 +7478,7 @@
  1.3587  msgstr ""
  1.3588  
  1.3589  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.3590 -#: ../en/ch06-collab.xml:1354
  1.3591 +#: ../en/ch06-collab.xml:1357
  1.3592  msgid ""
  1.3593  "<envar role=\"rc-item-web\">name</envar>: String.  The name to use for the "
  1.3594  "repository in the web interface.  This overrides the default name, which is "
  1.3595 @@ -7469,13 +7486,13 @@
  1.3596  msgstr ""
  1.3597  
  1.3598  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.3599 -#: ../en/ch06-collab.xml:1362
  1.3600 +#: ../en/ch06-collab.xml:1365
  1.3601  msgid ""
  1.3602  "Options specific to the <command role=\"hg-cmd\">hg serve</command> command"
  1.3603  msgstr "命令 <command role=\"hg-cmd\">hg serve</command> 的选项"
  1.3604  
  1.3605  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3606 -#: ../en/ch06-collab.xml:1365
  1.3607 +#: ../en/ch06-collab.xml:1368
  1.3608  msgid ""
  1.3609  "Some of the items in the <literal role=\"rc-web\">web</literal> section of a "
  1.3610  "<filename role=\"special\"> /.hgrc</filename>\\ file are only for use with "
  1.3611 @@ -7483,7 +7500,7 @@
  1.3612  msgstr ""
  1.3613  
  1.3614  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.3615 -#: ../en/ch06-collab.xml:1371
  1.3616 +#: ../en/ch06-collab.xml:1374
  1.3617  msgid ""
  1.3618  "<envar role=\"rc-item-web\">accesslog</envar>: Path.  The name of a file into "
  1.3619  "which to write an access log.  By default, the <command role=\"hg-cmd\">hg "
  1.3620 @@ -7493,7 +7510,7 @@
  1.3621  msgstr ""
  1.3622  
  1.3623  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.3624 -#: ../en/ch06-collab.xml:1379
  1.3625 +#: ../en/ch06-collab.xml:1382
  1.3626  msgid ""
  1.3627  "<envar role=\"rc-item-web\">address</envar>: String.  The local address on "
  1.3628  "which the server should listen for incoming connections.  By default, the "
  1.3629 @@ -7501,7 +7518,7 @@
  1.3630  msgstr ""
  1.3631  
  1.3632  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.3633 -#: ../en/ch06-collab.xml:1384
  1.3634 +#: ../en/ch06-collab.xml:1387
  1.3635  msgid ""
  1.3636  "<envar role=\"rc-item-web\">errorlog</envar>: Path.  The name of a file into "
  1.3637  "which to write an error log.  By default, the <command role=\"hg-cmd\">hg "
  1.3638 @@ -7510,21 +7527,21 @@
  1.3639  msgstr ""
  1.3640  
  1.3641  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.3642 -#: ../en/ch06-collab.xml:1390
  1.3643 +#: ../en/ch06-collab.xml:1393
  1.3644  msgid ""
  1.3645  "<envar role=\"rc-item-web\">ipv6</envar>: Boolean.  Whether to use the IPv6 "
  1.3646  "protocol. By default, IPv6 is not used."
  1.3647  msgstr ""
  1.3648  
  1.3649  #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para>
  1.3650 -#: ../en/ch06-collab.xml:1394
  1.3651 +#: ../en/ch06-collab.xml:1397
  1.3652  msgid ""
  1.3653  "<envar role=\"rc-item-web\">port</envar>: Integer.  The TCP port number on "
  1.3654  "which the server should listen.  The default port number used is 8000."
  1.3655  msgstr ""
  1.3656  
  1.3657  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.3658 -#: ../en/ch06-collab.xml:1401
  1.3659 +#: ../en/ch06-collab.xml:1404
  1.3660  msgid ""
  1.3661  "Choosing the right <filename role=\"special\"> /.hgrc</filename>\\ file to "
  1.3662  "add <literal role=\"rc-web\">web</literal> items to"
  1.3663 @@ -7533,7 +7550,7 @@
  1.3664  "role=\"rc-web\">web</literal> 条目"
  1.3665  
  1.3666  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3667 -#: ../en/ch06-collab.xml:1405
  1.3668 +#: ../en/ch06-collab.xml:1408
  1.3669  msgid ""
  1.3670  "It is important to remember that a web server like Apache or "
  1.3671  "<literal>lighttpd</literal> will run under a user ID that is different to "
  1.3672 @@ -7542,7 +7559,7 @@
  1.3673  msgstr ""
  1.3674  
  1.3675  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3676 -#: ../en/ch06-collab.xml:1412
  1.3677 +#: ../en/ch06-collab.xml:1415
  1.3678  msgid ""
  1.3679  "If you add <literal role=\"rc-web\">web</literal> items to your own personal "
  1.3680  "<filename role=\"special\"> /.hgrc</filename>\\ file, CGI scripts won't read "
  1.3681 @@ -9236,30 +9253,31 @@
  1.3682  "backout</command> command has done.  &interaction.backout.simple.log; Notice "
  1.3683  "that the new changeset that <command role=\"hg-cmd\">hg backout</command> has "
  1.3684  "created is a child of the changeset we backed out.  It's easier to see this "
  1.3685 -"in figure <xref linkend=\"fig.undo.backout\"/>, which presents a graphical "
  1.3686 -"view of the change history.  As you can see, the history is nice and linear."
  1.3687 +"in figure <xref endterm=\"fig.undo.backout.caption\" linkend=\"fig.undo."
  1.3688 +"backout\"/>, which presents a graphical view of the change history.  As you "
  1.3689 +"can see, the history is nice and linear."
  1.3690  msgstr ""
  1.3691  
  1.3692  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3693 -#: ../en/ch09-undo.xml:362
  1.3694 -msgid ""
  1.3695 -"<imageobject><imagedata fileref=\"images/undo-simple.png\"/></imageobject>"
  1.3696 +#: ../en/ch09-undo.xml:364
  1.3697 +msgid ""
  1.3698 +"<imageobject><imagedata fileref=\"images/undo-simple.png\"/> </imageobject>"
  1.3699  msgstr ""
  1.3700  
  1.3701  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3702 -#: ../en/ch09-undo.xml:364 ../en/ch09-undo.xml:477
  1.3703 +#: ../en/ch09-undo.xml:367 ../en/ch09-undo.xml:486
  1.3704  msgid ""
  1.3705  "Backing out a change using the <command role=\"hg-cmd\">hg backout</command> "
  1.3706  "command"
  1.3707  msgstr ""
  1.3708  
  1.3709  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3710 -#: ../en/ch09-undo.xml:373
  1.3711 +#: ../en/ch09-undo.xml:376
  1.3712  msgid "Backing out a non-tip change"
  1.3713  msgstr "恢复非顶点的修改"
  1.3714  
  1.3715  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3716 -#: ../en/ch09-undo.xml:375
  1.3717 +#: ../en/ch09-undo.xml:378
  1.3718  msgid ""
  1.3719  "If you want to back out a change other than the last one you committed, pass "
  1.3720  "the <option role=\"hg-opt-backout\">--merge</option> option to the <command "
  1.3721 @@ -9267,14 +9285,14 @@
  1.3722  msgstr ""
  1.3723  
  1.3724  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3725 -#: ../en/ch09-undo.xml:382
  1.3726 +#: ../en/ch09-undo.xml:385
  1.3727  msgid ""
  1.3728  "This makes backing out any changeset a <quote>one-shot</quote> operation "
  1.3729  "that's usually simple and fast."
  1.3730  msgstr ""
  1.3731  
  1.3732  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3733 -#: ../en/ch09-undo.xml:388
  1.3734 +#: ../en/ch09-undo.xml:391
  1.3735  msgid ""
  1.3736  "If you take a look at the contents of <filename>myfile</filename> after the "
  1.3737  "backout finishes, you'll see that the first and third changes are present, "
  1.3738 @@ -9282,40 +9300,40 @@
  1.3739  msgstr ""
  1.3740  
  1.3741  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3742 -#: ../en/ch09-undo.xml:395
  1.3743 -msgid ""
  1.3744 -"As the graphical history in figure <xref linkend=\"fig.undo.backout-non-tip\"/"
  1.3745 -"> illustrates, Mercurial actually commits <emphasis>two</emphasis> changes in "
  1.3746 -"this kind of situation (the box-shaped nodes are the ones that Mercurial "
  1.3747 -"commits automatically).  Before Mercurial begins the backout process, it "
  1.3748 -"first remembers what the current parent of the working directory is.  It then "
  1.3749 -"backs out the target changeset, and commits that as a changeset.  Finally, it "
  1.3750 -"merges back to the previous parent of the working directory, and commits the "
  1.3751 -"result of the merge."
  1.3752 -msgstr ""
  1.3753 -
  1.3754 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.3755 -#: ../en/ch09-undo.xml:406
  1.3756 +#: ../en/ch09-undo.xml:398
  1.3757 +msgid ""
  1.3758 +"As the graphical history in figure <xref endterm=\"fig.undo.backout-non-tip."
  1.3759 +"caption\" linkend=\"fig.undo.backout-non-tip\"/> illustrates, Mercurial "
  1.3760 +"actually commits <emphasis>two</emphasis> changes in this kind of situation "
  1.3761 +"(the box-shaped nodes are the ones that Mercurial commits automatically).  "
  1.3762 +"Before Mercurial begins the backout process, it first remembers what the "
  1.3763 +"current parent of the working directory is.  It then backs out the target "
  1.3764 +"changeset, and commits that as a changeset.  Finally, it merges back to the "
  1.3765 +"previous parent of the working directory, and commits the result of the merge."
  1.3766 +msgstr ""
  1.3767 +
  1.3768 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.3769 +#: ../en/ch09-undo.xml:410
  1.3770  msgid ""
  1.3771  "% TODO: to me it looks like mercurial doesn't commit the second merge "
  1.3772  "automatically!"
  1.3773  msgstr ""
  1.3774  
  1.3775  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3776 -#: ../en/ch09-undo.xml:410
  1.3777 -msgid ""
  1.3778 -"<imageobject><imagedata fileref=\"images/undo-non-tip.png\"/></imageobject>"
  1.3779 +#: ../en/ch09-undo.xml:415
  1.3780 +msgid ""
  1.3781 +"<imageobject><imagedata fileref=\"images/undo-non-tip.png\"/> </imageobject>"
  1.3782  msgstr ""
  1.3783  
  1.3784  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3785 -#: ../en/ch09-undo.xml:412
  1.3786 +#: ../en/ch09-undo.xml:418
  1.3787  msgid ""
  1.3788  "Automated backout of a non-tip change using the <command role=\"hg-cmd\">hg "
  1.3789  "backout</command> command"
  1.3790  msgstr ""
  1.3791  
  1.3792  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3793 -#: ../en/ch09-undo.xml:418
  1.3794 +#: ../en/ch09-undo.xml:424
  1.3795  msgid ""
  1.3796  "The result is that you end up <quote>back where you were</quote>, only with "
  1.3797  "some extra history that undoes the effect of the changeset you wanted to back "
  1.3798 @@ -9323,12 +9341,12 @@
  1.3799  msgstr ""
  1.3800  
  1.3801  #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
  1.3802 -#: ../en/ch09-undo.xml:423
  1.3803 +#: ../en/ch09-undo.xml:429
  1.3804  msgid "Always use the <option role=\"hg-opt-backout\">--merge</option> option"
  1.3805  msgstr "始终使用选项 <option role=\"hg-opt-backout\">--merge</option>"
  1.3806  
  1.3807  #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
  1.3808 -#: ../en/ch09-undo.xml:426
  1.3809 +#: ../en/ch09-undo.xml:432
  1.3810  msgid ""
  1.3811  "In fact, since the <option role=\"hg-opt-backout\">--merge</option> option "
  1.3812  "will do the <quote>right thing</quote> whether or not the changeset you're "
  1.3813 @@ -9338,12 +9356,12 @@
  1.3814  msgstr ""
  1.3815  
  1.3816  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3817 -#: ../en/ch09-undo.xml:437
  1.3818 +#: ../en/ch09-undo.xml:443
  1.3819  msgid "Gaining more control of the backout process"
  1.3820  msgstr "在恢复处理中获得更多控制"
  1.3821  
  1.3822  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3823 -#: ../en/ch09-undo.xml:439
  1.3824 +#: ../en/ch09-undo.xml:445
  1.3825  msgid ""
  1.3826  "While I've recommended that you always use the <option role=\"hg-opt-backout"
  1.3827  "\">--merge</option> option when backing out a change, the <command role=\"hg-"
  1.3828 @@ -9356,14 +9374,14 @@
  1.3829  msgstr ""
  1.3830  
  1.3831  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3832 -#: ../en/ch09-undo.xml:452
  1.3833 +#: ../en/ch09-undo.xml:458
  1.3834  msgid ""
  1.3835  "As with our earlier example, We'll commit a third changeset, then back out "
  1.3836  "its parent, and see what happens."
  1.3837  msgstr ""
  1.3838  
  1.3839  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3840 -#: ../en/ch09-undo.xml:458
  1.3841 +#: ../en/ch09-undo.xml:464
  1.3842  msgid ""
  1.3843  "Our new changeset is again a descendant of the changeset we backout out; it's "
  1.3844  "thus a new head, <emphasis>not</emphasis> a descendant of the changeset that "
  1.3845 @@ -9372,23 +9390,24 @@
  1.3846  msgstr ""
  1.3847  
  1.3848  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3849 -#: ../en/ch09-undo.xml:466
  1.3850 +#: ../en/ch09-undo.xml:472
  1.3851  msgid ""
  1.3852  "Again, it's easier to see what has happened by looking at a graph of the "
  1.3853 -"revision history, in figure <xref linkend=\"fig.undo.backout-manual\"/>.  "
  1.3854 -"This makes it clear that when we use <command role=\"hg-cmd\">hg backout</"
  1.3855 -"command> to back out a change other than the tip, Mercurial adds a new head "
  1.3856 -"to the repository (the change it committed is box-shaped)."
  1.3857 +"revision history, in figure <xref endterm=\"fig.undo.backout-manual.caption\" "
  1.3858 +"linkend=\"fig.undo.backout-manual\"/>.  This makes it clear that when we use "
  1.3859 +"<command role=\"hg-cmd\">hg backout</command> to back out a change other than "
  1.3860 +"the tip, Mercurial adds a new head to the repository (the change it committed "
  1.3861 +"is box-shaped)."
  1.3862  msgstr ""
  1.3863  
  1.3864  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3865 -#: ../en/ch09-undo.xml:475
  1.3866 -msgid ""
  1.3867 -"<imageobject><imagedata fileref=\"images/undo-manual.png\"/></imageobject>"
  1.3868 -msgstr ""
  1.3869 -
  1.3870 -#. type: Content of: <book><chapter><sect1><sect2><para>
  1.3871 -#: ../en/ch09-undo.xml:484
  1.3872 +#: ../en/ch09-undo.xml:483
  1.3873 +msgid ""
  1.3874 +"<imageobject><imagedata fileref=\"images/undo-manual.png\"/> </imageobject>"
  1.3875 +msgstr ""
  1.3876 +
  1.3877 +#. type: Content of: <book><chapter><sect1><sect2><para>
  1.3878 +#: ../en/ch09-undo.xml:492
  1.3879  msgid ""
  1.3880  "After the <command role=\"hg-cmd\">hg backout</command> command has "
  1.3881  "completed, it leaves the new <quote>backout</quote> changeset as the parent "
  1.3882 @@ -9396,12 +9415,12 @@
  1.3883  msgstr ""
  1.3884  
  1.3885  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3886 -#: ../en/ch09-undo.xml:491
  1.3887 +#: ../en/ch09-undo.xml:499
  1.3888  msgid "Now we have two isolated sets of changes."
  1.3889  msgstr ""
  1.3890  
  1.3891  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3892 -#: ../en/ch09-undo.xml:495
  1.3893 +#: ../en/ch09-undo.xml:503
  1.3894  msgid ""
  1.3895  "Let's think about what we expect to see as the contents of <filename>myfile</"
  1.3896  "filename> now.  The first change should be present, because we've never "
  1.3897 @@ -9412,59 +9431,60 @@
  1.3898  msgstr ""
  1.3899  
  1.3900  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3901 -#: ../en/ch09-undo.xml:505
  1.3902 +#: ../en/ch09-undo.xml:513
  1.3903  msgid ""
  1.3904  "To get the third change back into the file, we just do a normal merge of our "
  1.3905  "two heads."
  1.3906  msgstr ""
  1.3907  
  1.3908  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3909 -#: ../en/ch09-undo.xml:510
  1.3910 +#: ../en/ch09-undo.xml:518
  1.3911  msgid ""
  1.3912  "Afterwards, the graphical history of our repository looks like figure <xref "
  1.3913 -"linkend=\"fig.undo.backout-manual-merge\"/>."
  1.3914 +"endterm=\"fig.undo.backout-manual-merge.caption\" linkend=\"fig.undo.backout-"
  1.3915 +"manual-merge\"/>."
  1.3916  msgstr ""
  1.3917  
  1.3918  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.3919 -#: ../en/ch09-undo.xml:515
  1.3920 -msgid ""
  1.3921 -"<imageobject><imagedata fileref=\"images/undo-manual-merge.png\"/></"
  1.3922 +#: ../en/ch09-undo.xml:525
  1.3923 +msgid ""
  1.3924 +"<imageobject><imagedata fileref=\"images/undo-manual-merge.png\"/> </"
  1.3925  "imageobject>"
  1.3926  msgstr ""
  1.3927  
  1.3928  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.3929 -#: ../en/ch09-undo.xml:517
  1.3930 +#: ../en/ch09-undo.xml:528
  1.3931  msgid "Manually merging a backout change"
  1.3932  msgstr ""
  1.3933  
  1.3934  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.3935 -#: ../en/ch09-undo.xml:524
  1.3936 +#: ../en/ch09-undo.xml:535
  1.3937  msgid "Why <command role=\"hg-cmd\">hg backout</command> works as it does"
  1.3938  msgstr "<command role=\"hg-cmd\">hg backout</command> 的内幕"
  1.3939  
  1.3940  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.3941 -#: ../en/ch09-undo.xml:527
  1.3942 +#: ../en/ch09-undo.xml:538
  1.3943  msgid ""
  1.3944  "Here's a brief description of how the <command role=\"hg-cmd\">hg backout</"
  1.3945  "command> command works."
  1.3946  msgstr ""
  1.3947  
  1.3948  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3949 -#: ../en/ch09-undo.xml:530
  1.3950 +#: ../en/ch09-undo.xml:541
  1.3951  msgid ""
  1.3952  "It ensures that the working directory is <quote>clean</quote>, i.e. that the "
  1.3953  "output of <command role=\"hg-cmd\">hg status</command> would be empty."
  1.3954  msgstr ""
  1.3955  
  1.3956  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3957 -#: ../en/ch09-undo.xml:534
  1.3958 +#: ../en/ch09-undo.xml:545
  1.3959  msgid ""
  1.3960  "It remembers the current parent of the working directory.  Let's call this "
  1.3961  "changeset <literal>orig</literal>"
  1.3962  msgstr ""
  1.3963  
  1.3964  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3965 -#: ../en/ch09-undo.xml:538
  1.3966 +#: ../en/ch09-undo.xml:549
  1.3967  msgid ""
  1.3968  "It does the equivalent of a <command role=\"hg-cmd\">hg update</command> to "
  1.3969  "sync the working directory to the changeset you want to back out.  Let's call "
  1.3970 @@ -9472,14 +9492,14 @@
  1.3971  msgstr ""
  1.3972  
  1.3973  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3974 -#: ../en/ch09-undo.xml:543
  1.3975 +#: ../en/ch09-undo.xml:554
  1.3976  msgid ""
  1.3977  "It finds the parent of that changeset.  Let's call that changeset "
  1.3978  "<literal>parent</literal>."
  1.3979  msgstr ""
  1.3980  
  1.3981  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3982 -#: ../en/ch09-undo.xml:546
  1.3983 +#: ../en/ch09-undo.xml:557
  1.3984  msgid ""
  1.3985  "For each file that the <literal>backout</literal> changeset affected, it does "
  1.3986  "the equivalent of a <command role=\"hg-cmd\">hg revert -r parent</command> on "
  1.3987 @@ -9488,14 +9508,14 @@
  1.3988  msgstr ""
  1.3989  
  1.3990  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3991 -#: ../en/ch09-undo.xml:553
  1.3992 +#: ../en/ch09-undo.xml:564
  1.3993  msgid ""
  1.3994  "It commits the result as a new changeset.  This changeset has "
  1.3995  "<literal>backout</literal> as its parent."
  1.3996  msgstr ""
  1.3997  
  1.3998  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.3999 -#: ../en/ch09-undo.xml:557
  1.4000 +#: ../en/ch09-undo.xml:568
  1.4001  msgid ""
  1.4002  "If you specify <option role=\"hg-opt-backout\">--merge</option> on the "
  1.4003  "command line, it merges with <literal>orig</literal>, and commits the result "
  1.4004 @@ -9503,7 +9523,7 @@
  1.4005  msgstr ""
  1.4006  
  1.4007  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4008 -#: ../en/ch09-undo.xml:563
  1.4009 +#: ../en/ch09-undo.xml:574
  1.4010  msgid ""
  1.4011  "An alternative way to implement the <command role=\"hg-cmd\">hg backout</"
  1.4012  "command> command would be to <command role=\"hg-cmd\">hg export</command> the "
  1.4013 @@ -9514,7 +9534,7 @@
  1.4014  msgstr ""
  1.4015  
  1.4016  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4017 -#: ../en/ch09-undo.xml:573
  1.4018 +#: ../en/ch09-undo.xml:584
  1.4019  msgid ""
  1.4020  "The reason that <command role=\"hg-cmd\">hg backout</command> does an update, "
  1.4021  "a commit, a merge, and another commit is to give the merge machinery the best "
  1.4022 @@ -9523,7 +9543,7 @@
  1.4023  msgstr ""
  1.4024  
  1.4025  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4026 -#: ../en/ch09-undo.xml:580
  1.4027 +#: ../en/ch09-undo.xml:591
  1.4028  msgid ""
  1.4029  "If you're backing out a changeset that's 100 revisions back in your project's "
  1.4030  "history, the chances that the <command>patch</command> command will be able "
  1.4031 @@ -9538,12 +9558,12 @@
  1.4032  msgstr ""
  1.4033  
  1.4034  #. type: Content of: <book><chapter><sect1><title>
  1.4035 -#: ../en/ch09-undo.xml:597
  1.4036 +#: ../en/ch09-undo.xml:608
  1.4037  msgid "Changes that should never have been"
  1.4038  msgstr "不该发生的修改"
  1.4039  
  1.4040  #. type: Content of: <book><chapter><sect1><para>
  1.4041 -#: ../en/ch09-undo.xml:599
  1.4042 +#: ../en/ch09-undo.xml:610
  1.4043  msgid ""
  1.4044  "Most of the time, the <command role=\"hg-cmd\">hg backout</command> command "
  1.4045  "is exactly what you need if you want to undo the effects of a change.  It "
  1.4046 @@ -9552,7 +9572,7 @@
  1.4047  msgstr ""
  1.4048  
  1.4049  #. type: Content of: <book><chapter><sect1><para>
  1.4050 -#: ../en/ch09-undo.xml:605
  1.4051 +#: ../en/ch09-undo.xml:616
  1.4052  msgid ""
  1.4053  "On rare occasions, though, you may find that you've committed a change that "
  1.4054  "really should not be present in the repository at all.  For example, it would "
  1.4055 @@ -9564,7 +9584,7 @@
  1.4056  msgstr ""
  1.4057  
  1.4058  #. type: Content of: <book><chapter><sect1><para>
  1.4059 -#: ../en/ch09-undo.xml:614
  1.4060 +#: ../en/ch09-undo.xml:625
  1.4061  msgid ""
  1.4062  "Before I discuss the options that you have if you commit a <quote>brown paper "
  1.4063  "bag</quote> change (the kind that's so bad that you want to pull a brown "
  1.4064 @@ -9573,7 +9593,7 @@
  1.4065  msgstr ""
  1.4066  
  1.4067  #. type: Content of: <book><chapter><sect1><para>
  1.4068 -#: ../en/ch09-undo.xml:619
  1.4069 +#: ../en/ch09-undo.xml:630
  1.4070  msgid ""
  1.4071  "Since Mercurial treats history as accumulative&emdash;every change builds on "
  1.4072  "top of all changes that preceded it&emdash;you generally can't just make "
  1.4073 @@ -9585,7 +9605,7 @@
  1.4074  msgstr ""
  1.4075  
  1.4076  #. type: Content of: <book><chapter><sect1><para>
  1.4077 -#: ../en/ch09-undo.xml:628
  1.4078 +#: ../en/ch09-undo.xml:639
  1.4079  msgid ""
  1.4080  "After you've pushed a bad change to another repository, you <emphasis>could</"
  1.4081  "emphasis> still use <command role=\"hg-cmd\">hg rollback</command> to make "
  1.4082 @@ -9595,7 +9615,7 @@
  1.4083  msgstr ""
  1.4084  
  1.4085  #. type: Content of: <book><chapter><sect1><para>
  1.4086 -#: ../en/ch09-undo.xml:636
  1.4087 +#: ../en/ch09-undo.xml:647
  1.4088  msgid ""
  1.4089  "If a situation like this arises, and you know which repositories your bad "
  1.4090  "change has propagated into, you can <emphasis>try</emphasis> to get rid of "
  1.4091 @@ -9606,7 +9626,7 @@
  1.4092  msgstr ""
  1.4093  
  1.4094  #. type: Content of: <book><chapter><sect1><para>
  1.4095 -#: ../en/ch09-undo.xml:644
  1.4096 +#: ../en/ch09-undo.xml:655
  1.4097  msgid ""
  1.4098  "If you've committed one or more changes <emphasis>after</emphasis> the change "
  1.4099  "that you'd like to see disappear, your options are further reduced. Mercurial "
  1.4100 @@ -9615,7 +9635,7 @@
  1.4101  msgstr ""
  1.4102  
  1.4103  #. type: Content of: <book><chapter><sect1><para>
  1.4104 -#: ../en/ch09-undo.xml:650
  1.4105 +#: ../en/ch09-undo.xml:661
  1.4106  msgid ""
  1.4107  "XXX This needs filling out.  The <literal>hg-replay</literal> script in the "
  1.4108  "<literal>examples</literal> directory works, but doesn't handle merge "
  1.4109 @@ -9623,12 +9643,12 @@
  1.4110  msgstr ""
  1.4111  
  1.4112  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4113 -#: ../en/ch09-undo.xml:656
  1.4114 +#: ../en/ch09-undo.xml:667
  1.4115  msgid "Protect yourself from <quote>escaped</quote> changes"
  1.4116  msgstr "使用<quote>校验</quote>修改来保护你自己"
  1.4117  
  1.4118  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4119 -#: ../en/ch09-undo.xml:659
  1.4120 +#: ../en/ch09-undo.xml:670
  1.4121  msgid ""
  1.4122  "If you've committed some changes to your local repository and they've been "
  1.4123  "pushed or pulled somewhere else, this isn't necessarily a disaster.  You can "
  1.4124 @@ -9638,7 +9658,7 @@
  1.4125  msgstr ""
  1.4126  
  1.4127  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4128 -#: ../en/ch09-undo.xml:666
  1.4129 +#: ../en/ch09-undo.xml:677
  1.4130  msgid ""
  1.4131  "By configuring some hooks on that repository to validate incoming changesets "
  1.4132  "(see chapter <xref linkend=\"chap.hook\"/>), you can automatically prevent "
  1.4133 @@ -9650,7 +9670,7 @@
  1.4134  msgstr ""
  1.4135  
  1.4136  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4137 -#: ../en/ch09-undo.xml:676
  1.4138 +#: ../en/ch09-undo.xml:687
  1.4139  msgid ""
  1.4140  "For instance, an incoming change hook that verifies that a changeset will "
  1.4141  "actually compile can prevent people from inadvertantly <quote>breaking the "
  1.4142 @@ -9658,12 +9678,12 @@
  1.4143  msgstr ""
  1.4144  
  1.4145  #. type: Content of: <book><chapter><sect1><title>
  1.4146 -#: ../en/ch09-undo.xml:683
  1.4147 +#: ../en/ch09-undo.xml:694
  1.4148  msgid "Finding the source of a bug"
  1.4149  msgstr "查找问题的根源"
  1.4150  
  1.4151  #. type: Content of: <book><chapter><sect1><para>
  1.4152 -#: ../en/ch09-undo.xml:685
  1.4153 +#: ../en/ch09-undo.xml:696
  1.4154  msgid ""
  1.4155  "While it's all very well to be able to back out a changeset that introduced a "
  1.4156  "bug, this requires that you know which changeset to back out.  Mercurial "
  1.4157 @@ -9673,7 +9693,7 @@
  1.4158  msgstr ""
  1.4159  
  1.4160  #. type: Content of: <book><chapter><sect1><para>
  1.4161 -#: ../en/ch09-undo.xml:692
  1.4162 +#: ../en/ch09-undo.xml:703
  1.4163  msgid ""
  1.4164  "The idea behind the <command role=\"hg-cmd\">hg bisect</command> command is "
  1.4165  "that a changeset has introduced some change of behaviour that you can "
  1.4166 @@ -9685,14 +9705,14 @@
  1.4167  msgstr ""
  1.4168  
  1.4169  #. type: Content of: <book><chapter><sect1><para>
  1.4170 -#: ../en/ch09-undo.xml:701
  1.4171 +#: ../en/ch09-undo.xml:712
  1.4172  msgid ""
  1.4173  "Here are a few scenarios to help you understand how you might apply this "
  1.4174  "command."
  1.4175  msgstr ""
  1.4176  
  1.4177  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.4178 -#: ../en/ch09-undo.xml:704
  1.4179 +#: ../en/ch09-undo.xml:715
  1.4180  msgid ""
  1.4181  "The most recent version of your software has a bug that you remember wasn't "
  1.4182  "present a few weeks ago, but you don't know when it was introduced.  Here, "
  1.4183 @@ -9700,7 +9720,7 @@
  1.4184  msgstr ""
  1.4185  
  1.4186  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.4187 -#: ../en/ch09-undo.xml:709
  1.4188 +#: ../en/ch09-undo.xml:720
  1.4189  msgid ""
  1.4190  "You fixed a bug in a rush, and now it's time to close the entry in your "
  1.4191  "team's bug database.  The bug database requires a changeset ID when you close "
  1.4192 @@ -9709,7 +9729,7 @@
  1.4193  msgstr ""
  1.4194  
  1.4195  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.4196 -#: ../en/ch09-undo.xml:716
  1.4197 +#: ../en/ch09-undo.xml:727
  1.4198  msgid ""
  1.4199  "Your software works correctly, but runs 15% slower than the last time you "
  1.4200  "measured it.  You want to know which changeset introduced the performance "
  1.4201 @@ -9718,14 +9738,14 @@
  1.4202  msgstr ""
  1.4203  
  1.4204  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.4205 -#: ../en/ch09-undo.xml:723
  1.4206 +#: ../en/ch09-undo.xml:734
  1.4207  msgid ""
  1.4208  "The sizes of the components of your project that you ship exploded recently, "
  1.4209  "and you suspect that something changed in the way you build your project."
  1.4210  msgstr ""
  1.4211  
  1.4212  #. type: Content of: <book><chapter><sect1><para>
  1.4213 -#: ../en/ch09-undo.xml:728
  1.4214 +#: ../en/ch09-undo.xml:739
  1.4215  msgid ""
  1.4216  "From these examples, it should be clear that the <command role=\"hg-cmd\">hg "
  1.4217  "bisect</command> command is not useful only for finding the sources of bugs.  "
  1.4218 @@ -9735,7 +9755,7 @@
  1.4219  msgstr ""
  1.4220  
  1.4221  #. type: Content of: <book><chapter><sect1><para>
  1.4222 -#: ../en/ch09-undo.xml:735
  1.4223 +#: ../en/ch09-undo.xml:746
  1.4224  msgid ""
  1.4225  "We'll introduce a little bit of terminology here, just to make it clear which "
  1.4226  "parts of the search process are your responsibility, and which are "
  1.4227 @@ -9749,7 +9769,7 @@
  1.4228  msgstr ""
  1.4229  
  1.4230  #. type: Content of: <book><chapter><sect1><para>
  1.4231 -#: ../en/ch09-undo.xml:748
  1.4232 +#: ../en/ch09-undo.xml:759
  1.4233  msgid ""
  1.4234  "One simple way to automate the searching process would be simply to probe "
  1.4235  "every changeset.  However, this scales poorly.  If it took ten minutes to "
  1.4236 @@ -9762,7 +9782,7 @@
  1.4237  msgstr ""
  1.4238  
  1.4239  #. type: Content of: <book><chapter><sect1><para>
  1.4240 -#: ../en/ch09-undo.xml:758
  1.4241 +#: ../en/ch09-undo.xml:769
  1.4242  msgid ""
  1.4243  "What the <command role=\"hg-cmd\">hg bisect</command> command does is use its "
  1.4244  "knowledge of the <quote>shape</quote> of your project's revision history to "
  1.4245 @@ -9775,7 +9795,7 @@
  1.4246  msgstr ""
  1.4247  
  1.4248  #. type: Content of: <book><chapter><sect1><para>
  1.4249 -#: ../en/ch09-undo.xml:769
  1.4250 +#: ../en/ch09-undo.xml:780
  1.4251  msgid ""
  1.4252  "The <command role=\"hg-cmd\">hg bisect</command> command is aware of the "
  1.4253  "<quote>branchy</quote> nature of a Mercurial project's revision history, so "
  1.4254 @@ -9785,18 +9805,18 @@
  1.4255  msgstr ""
  1.4256  
  1.4257  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4258 -#: ../en/ch09-undo.xml:777
  1.4259 +#: ../en/ch09-undo.xml:788
  1.4260  msgid "Using the <command role=\"hg-cmd\">hg bisect</command> command"
  1.4261  msgstr "使用命令 <command role=\"hg-cmd\">hg bisect</command>"
  1.4262  
  1.4263  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4264 -#: ../en/ch09-undo.xml:780
  1.4265 +#: ../en/ch09-undo.xml:791
  1.4266  msgid ""
  1.4267  "Here's an example of <command role=\"hg-cmd\">hg bisect</command> in action."
  1.4268  msgstr ""
  1.4269  
  1.4270  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.4271 -#: ../en/ch09-undo.xml:784
  1.4272 +#: ../en/ch09-undo.xml:795
  1.4273  msgid ""
  1.4274  "In versions 0.9.5 and earlier of Mercurial, <command role=\"hg-cmd\">hg "
  1.4275  "bisect</command> was not a core command: it was distributed with Mercurial as "
  1.4276 @@ -9805,14 +9825,14 @@
  1.4277  msgstr ""
  1.4278  
  1.4279  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4280 -#: ../en/ch09-undo.xml:791
  1.4281 +#: ../en/ch09-undo.xml:802
  1.4282  msgid ""
  1.4283  "Now let's create a repository, so that we can try out the <command role=\"hg-"
  1.4284  "cmd\">hg bisect</command> command in isolation."
  1.4285  msgstr ""
  1.4286  
  1.4287  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4288 -#: ../en/ch09-undo.xml:797
  1.4289 +#: ../en/ch09-undo.xml:808
  1.4290  msgid ""
  1.4291  "We'll simulate a project that has a bug in it in a simple-minded way: create "
  1.4292  "trivial changes in a loop, and nominate one specific change that will have "
  1.4293 @@ -9822,7 +9842,7 @@
  1.4294  msgstr ""
  1.4295  
  1.4296  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4297 -#: ../en/ch09-undo.xml:807
  1.4298 +#: ../en/ch09-undo.xml:818
  1.4299  msgid ""
  1.4300  "The next thing that we'd like to do is figure out how to use the <command "
  1.4301  "role=\"hg-cmd\">hg bisect</command> command.  We can use Mercurial's normal "
  1.4302 @@ -9830,46 +9850,46 @@
  1.4303  msgstr ""
  1.4304  
  1.4305  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4306 -#: ../en/ch09-undo.xml:814
  1.4307 +#: ../en/ch09-undo.xml:825
  1.4308  msgid ""
  1.4309  "The <command role=\"hg-cmd\">hg bisect</command> command works in steps.  "
  1.4310  "Each step proceeds as follows."
  1.4311  msgstr ""
  1.4312  
  1.4313  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4314 -#: ../en/ch09-undo.xml:817
  1.4315 +#: ../en/ch09-undo.xml:828
  1.4316  msgid "You run your binary test."
  1.4317  msgstr ""
  1.4318  
  1.4319  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><itemizedlist><listitem><para>
  1.4320 -#: ../en/ch09-undo.xml:819
  1.4321 +#: ../en/ch09-undo.xml:830
  1.4322  msgid ""
  1.4323  "If the test succeeded, you tell <command role=\"hg-cmd\">hg bisect</command> "
  1.4324  "by running the <command role=\"hg-cmd\">hg bisect good</command> command."
  1.4325  msgstr ""
  1.4326  
  1.4327  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><itemizedlist><listitem><para>
  1.4328 -#: ../en/ch09-undo.xml:824
  1.4329 +#: ../en/ch09-undo.xml:835
  1.4330  msgid ""
  1.4331  "If it failed, run the <command role=\"hg-cmd\">hg bisect bad</command> "
  1.4332  "command."
  1.4333  msgstr ""
  1.4334  
  1.4335  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4336 -#: ../en/ch09-undo.xml:828
  1.4337 +#: ../en/ch09-undo.xml:839
  1.4338  msgid ""
  1.4339  "The command uses your information to decide which changeset to test next."
  1.4340  msgstr ""
  1.4341  
  1.4342  #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
  1.4343 -#: ../en/ch09-undo.xml:831
  1.4344 +#: ../en/ch09-undo.xml:842
  1.4345  msgid ""
  1.4346  "It updates the working directory to that changeset, and the process begins "
  1.4347  "again."
  1.4348  msgstr ""
  1.4349  
  1.4350  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4351 -#: ../en/ch09-undo.xml:834
  1.4352 +#: ../en/ch09-undo.xml:845
  1.4353  msgid ""
  1.4354  "The process ends when <command role=\"hg-cmd\">hg bisect</command> identifies "
  1.4355  "a unique changeset that marks the point where your test transitioned from "
  1.4356 @@ -9878,14 +9898,14 @@
  1.4357  
  1.4358  #
  1.4359  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4360 -#: ../en/ch09-undo.xml:839
  1.4361 +#: ../en/ch09-undo.xml:850
  1.4362  msgid ""
  1.4363  "To start the search, we must run the <command role=\"hg-cmd\">hg bisect --"
  1.4364  "reset</command> command."
  1.4365  msgstr ""
  1.4366  
  1.4367  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4368 -#: ../en/ch09-undo.xml:844
  1.4369 +#: ../en/ch09-undo.xml:855
  1.4370  msgid ""
  1.4371  "In our case, the binary test we use is simple: we check to see if any file in "
  1.4372  "the repository contains the string <quote>i have a gub</quote>.  If it does, "
  1.4373 @@ -9895,7 +9915,7 @@
  1.4374  msgstr ""
  1.4375  
  1.4376  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4377 -#: ../en/ch09-undo.xml:852
  1.4378 +#: ../en/ch09-undo.xml:863
  1.4379  msgid ""
  1.4380  "Most of the time, the revision to which the working directory is synced "
  1.4381  "(usually the tip) already exhibits the problem introduced by the buggy "
  1.4382 @@ -9904,7 +9924,7 @@
  1.4383  
  1.4384  #
  1.4385  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4386 -#: ../en/ch09-undo.xml:859
  1.4387 +#: ../en/ch09-undo.xml:870
  1.4388  msgid ""
  1.4389  "Our next task is to nominate a changeset that we know <emphasis>doesn't</"
  1.4390  "emphasis> have the bug; the <command role=\"hg-cmd\">hg bisect</command> "
  1.4391 @@ -9915,26 +9935,26 @@
  1.4392  msgstr ""
  1.4393  
  1.4394  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4395 -#: ../en/ch09-undo.xml:869
  1.4396 +#: ../en/ch09-undo.xml:880
  1.4397  msgid "Notice that this command printed some output."
  1.4398  msgstr ""
  1.4399  
  1.4400  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4401 -#: ../en/ch09-undo.xml:871
  1.4402 +#: ../en/ch09-undo.xml:882
  1.4403  msgid ""
  1.4404  "It told us how many changesets it must consider before it can identify the "
  1.4405  "one that introduced the bug, and how many tests that will require."
  1.4406  msgstr ""
  1.4407  
  1.4408  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4409 -#: ../en/ch09-undo.xml:875
  1.4410 +#: ../en/ch09-undo.xml:886
  1.4411  msgid ""
  1.4412  "It updated the working directory to the next changeset to test, and told us "
  1.4413  "which changeset it's testing."
  1.4414  msgstr ""
  1.4415  
  1.4416  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4417 -#: ../en/ch09-undo.xml:880
  1.4418 +#: ../en/ch09-undo.xml:891
  1.4419  msgid ""
  1.4420  "We now run our test in the working directory.  We use the <command>grep</"
  1.4421  "command> command to see if our <quote>bad</quote> file is present in the "
  1.4422 @@ -9943,26 +9963,26 @@
  1.4423  msgstr ""
  1.4424  
  1.4425  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4426 -#: ../en/ch09-undo.xml:886
  1.4427 +#: ../en/ch09-undo.xml:897
  1.4428  msgid ""
  1.4429  "This test looks like a perfect candidate for automation, so let's turn it "
  1.4430  "into a shell function."
  1.4431  msgstr ""
  1.4432  
  1.4433  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4434 -#: ../en/ch09-undo.xml:890
  1.4435 +#: ../en/ch09-undo.xml:901
  1.4436  msgid ""
  1.4437  "We can now run an entire test step with a single command, <literal>mytest</"
  1.4438  "literal>."
  1.4439  msgstr ""
  1.4440  
  1.4441  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4442 -#: ../en/ch09-undo.xml:895
  1.4443 +#: ../en/ch09-undo.xml:906
  1.4444  msgid "A few more invocations of our canned test step command, and we're done."
  1.4445  msgstr ""
  1.4446  
  1.4447  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4448 -#: ../en/ch09-undo.xml:900
  1.4449 +#: ../en/ch09-undo.xml:911
  1.4450  msgid ""
  1.4451  "Even though we had 40 changesets to search through, the <command role=\"hg-cmd"
  1.4452  "\">hg bisect</command> command let us find the changeset that introduced our "
  1.4453 @@ -9974,13 +9994,13 @@
  1.4454  msgstr ""
  1.4455  
  1.4456  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4457 -#: ../en/ch09-undo.xml:911
  1.4458 +#: ../en/ch09-undo.xml:922
  1.4459  msgid "Cleaning up after your search"
  1.4460  msgstr "搜索后的清理"
  1.4461  
  1.4462  #
  1.4463  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4464 -#: ../en/ch09-undo.xml:913
  1.4465 +#: ../en/ch09-undo.xml:924
  1.4466  msgid ""
  1.4467  "When you're finished using the <command role=\"hg-cmd\">hg bisect</command> "
  1.4468  "command in a repository, you can use the <command role=\"hg-cmd\">hg bisect "
  1.4469 @@ -9992,17 +10012,17 @@
  1.4470  msgstr ""
  1.4471  
  1.4472  #. type: Content of: <book><chapter><sect1><title>
  1.4473 -#: ../en/ch09-undo.xml:928
  1.4474 +#: ../en/ch09-undo.xml:939
  1.4475  msgid "Tips for finding bugs effectively"
  1.4476  msgstr "有效查找问题的技巧"
  1.4477  
  1.4478  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4479 -#: ../en/ch09-undo.xml:931
  1.4480 +#: ../en/ch09-undo.xml:942
  1.4481  msgid "Give consistent input"
  1.4482  msgstr "给出一致的输入"
  1.4483  
  1.4484  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4485 -#: ../en/ch09-undo.xml:933
  1.4486 +#: ../en/ch09-undo.xml:944
  1.4487  msgid ""
  1.4488  "The <command role=\"hg-cmd\">hg bisect</command> command requires that you "
  1.4489  "correctly report the result of every test you perform.  If you tell it that a "
  1.4490 @@ -10014,12 +10034,12 @@
  1.4491  msgstr ""
  1.4492  
  1.4493  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4494 -#: ../en/ch09-undo.xml:945
  1.4495 +#: ../en/ch09-undo.xml:956
  1.4496  msgid "Automate as much as possible"
  1.4497  msgstr "尽量自动"
  1.4498  
  1.4499  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4500 -#: ../en/ch09-undo.xml:947
  1.4501 +#: ../en/ch09-undo.xml:958
  1.4502  msgid ""
  1.4503  "When I started using the <command role=\"hg-cmd\">hg bisect</command> "
  1.4504  "command, I tried a few times to run my tests by hand, on the command line.  "
  1.4505 @@ -10029,7 +10049,7 @@
  1.4506  msgstr ""
  1.4507  
  1.4508  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4509 -#: ../en/ch09-undo.xml:955
  1.4510 +#: ../en/ch09-undo.xml:966
  1.4511  msgid ""
  1.4512  "My initial problems with driving the <command role=\"hg-cmd\">hg bisect</"
  1.4513  "command> command by hand occurred even with simple searches on small "
  1.4514 @@ -10040,24 +10060,24 @@
  1.4515  msgstr ""
  1.4516  
  1.4517  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4518 -#: ../en/ch09-undo.xml:964
  1.4519 +#: ../en/ch09-undo.xml:975
  1.4520  msgid "The key to automated testing is twofold:"
  1.4521  msgstr ""
  1.4522  
  1.4523  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4524 -#: ../en/ch09-undo.xml:966
  1.4525 +#: ../en/ch09-undo.xml:977
  1.4526  msgid "always test for the same symptom, and"
  1.4527  msgstr ""
  1.4528  
  1.4529  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4530 -#: ../en/ch09-undo.xml:968
  1.4531 +#: ../en/ch09-undo.xml:979
  1.4532  msgid ""
  1.4533  "always feed consistent input to the <command role=\"hg-cmd\">hg bisect</"
  1.4534  "command> command."
  1.4535  msgstr ""
  1.4536  
  1.4537  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4538 -#: ../en/ch09-undo.xml:971
  1.4539 +#: ../en/ch09-undo.xml:982
  1.4540  msgid ""
  1.4541  "In my tutorial example above, the <command>grep</command> command tests for "
  1.4542  "the symptom, and the <literal>if</literal> statement takes the result of this "
  1.4543 @@ -10068,12 +10088,12 @@
  1.4544  msgstr ""
  1.4545  
  1.4546  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4547 -#: ../en/ch09-undo.xml:981
  1.4548 +#: ../en/ch09-undo.xml:992
  1.4549  msgid "Check your results"
  1.4550  msgstr "检查你的结果"
  1.4551  
  1.4552  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4553 -#: ../en/ch09-undo.xml:983
  1.4554 +#: ../en/ch09-undo.xml:994
  1.4555  msgid ""
  1.4556  "Because the output of a <command role=\"hg-cmd\">hg bisect</command> search "
  1.4557  "is only as good as the input you give it, don't take the changeset it reports "
  1.4558 @@ -10082,32 +10102,32 @@
  1.4559  msgstr ""
  1.4560  
  1.4561  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4562 -#: ../en/ch09-undo.xml:989
  1.4563 +#: ../en/ch09-undo.xml:1000
  1.4564  msgid ""
  1.4565  "The changeset that it reports as the first bad revision.  Your test should "
  1.4566  "still report this as bad."
  1.4567  msgstr ""
  1.4568  
  1.4569  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4570 -#: ../en/ch09-undo.xml:993
  1.4571 +#: ../en/ch09-undo.xml:1004
  1.4572  msgid ""
  1.4573  "The parent of that changeset (either parent, if it's a merge). Your test "
  1.4574  "should report this changeset as good."
  1.4575  msgstr ""
  1.4576  
  1.4577  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4578 -#: ../en/ch09-undo.xml:997
  1.4579 +#: ../en/ch09-undo.xml:1008
  1.4580  msgid ""
  1.4581  "A child of that changeset.  Your test should report this changeset as bad."
  1.4582  msgstr ""
  1.4583  
  1.4584  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4585 -#: ../en/ch09-undo.xml:1003
  1.4586 +#: ../en/ch09-undo.xml:1014
  1.4587  msgid "Beware interference between bugs"
  1.4588  msgstr "谨防问题之间的冲突"
  1.4589  
  1.4590  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4591 -#: ../en/ch09-undo.xml:1005
  1.4592 +#: ../en/ch09-undo.xml:1016
  1.4593  msgid ""
  1.4594  "It's possible that your search for one bug could be disrupted by the presence "
  1.4595  "of another.  For example, let's say your software crashes at revision 100, "
  1.4596 @@ -10117,7 +10137,7 @@
  1.4597  msgstr ""
  1.4598  
  1.4599  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4600 -#: ../en/ch09-undo.xml:1013
  1.4601 +#: ../en/ch09-undo.xml:1024
  1.4602  msgid ""
  1.4603  "It is possible that this other bug completely <quote>masks</quote> yours, "
  1.4604  "which is to say that it occurs before your bug has a chance to manifest "
  1.4605 @@ -10129,7 +10149,7 @@
  1.4606  msgstr ""
  1.4607  
  1.4608  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4609 -#: ../en/ch09-undo.xml:1023
  1.4610 +#: ../en/ch09-undo.xml:1034
  1.4611  msgid ""
  1.4612  "A different problem could arise if your test for a bug's presence is not "
  1.4613  "specific enough.  If you check for <quote>my program crashes</quote>, then "
  1.4614 @@ -10138,7 +10158,7 @@
  1.4615  msgstr ""
  1.4616  
  1.4617  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4618 -#: ../en/ch09-undo.xml:1030
  1.4619 +#: ../en/ch09-undo.xml:1041
  1.4620  msgid ""
  1.4621  "Another useful situation in which to use <command role=\"hg-cmd\">hg bisect --"
  1.4622  "skip</command> is if you can't test a revision because your project was in a "
  1.4623 @@ -10147,12 +10167,12 @@
  1.4624  msgstr ""
  1.4625  
  1.4626  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4627 -#: ../en/ch09-undo.xml:1039
  1.4628 +#: ../en/ch09-undo.xml:1050
  1.4629  msgid "Bracket your search lazily"
  1.4630  msgstr "减少你的查找工作"
  1.4631  
  1.4632  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4633 -#: ../en/ch09-undo.xml:1041
  1.4634 +#: ../en/ch09-undo.xml:1052
  1.4635  msgid ""
  1.4636  "Choosing the first <quote>good</quote> and <quote>bad</quote> changesets that "
  1.4637  "will mark the end points of your search is often easy, but it bears a little "
  1.4638 @@ -10162,7 +10182,7 @@
  1.4639  msgstr ""
  1.4640  
  1.4641  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4642 -#: ../en/ch09-undo.xml:1049
  1.4643 +#: ../en/ch09-undo.xml:1060
  1.4644  msgid ""
  1.4645  "If you're having trouble remembering when a suitable <quote>good</quote> "
  1.4646  "change was, so that you can tell <command role=\"hg-cmd\">hg bisect</"
  1.4647 @@ -10173,7 +10193,7 @@
  1.4648  msgstr ""
  1.4649  
  1.4650  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4651 -#: ../en/ch09-undo.xml:1058
  1.4652 +#: ../en/ch09-undo.xml:1069
  1.4653  msgid ""
  1.4654  "Even if you end up <quote>early</quote> by thousands of changesets or months "
  1.4655  "of history, you will only add a handful of tests to the total number that "
  1.4656 @@ -13954,22 +13974,23 @@
  1.4657  "<command role=\"hg-ext-mq\">qpop</command> command.  MQ still <emphasis>knows "
  1.4658  "about</emphasis>, or manages, a popped patch, but the patch no longer has a "
  1.4659  "corresponding changeset in the repository, and the working directory does not "
  1.4660 -"contain the changes made by the patch.  Figure <xref linkend=\"fig.mq.stack\"/"
  1.4661 -"> illustrates the difference between applied and tracked patches."
  1.4662 +"contain the changes made by the patch.  Figure <xref endterm=\"fig.mq.stack."
  1.4663 +"caption\" linkend=\"fig.mq.stack\"/> illustrates the difference between "
  1.4664 +"applied and tracked patches."
  1.4665  msgstr ""
  1.4666  
  1.4667  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject>
  1.4668 -#: ../en/ch12-mq.xml:407
  1.4669 +#: ../en/ch12-mq.xml:408
  1.4670  msgid "<imageobject><imagedata fileref=\"images/mq-stack.png\"/></imageobject>"
  1.4671  msgstr ""
  1.4672  
  1.4673  #. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para>
  1.4674 -#: ../en/ch12-mq.xml:409
  1.4675 +#: ../en/ch12-mq.xml:410
  1.4676  msgid "Applied and unapplied patches in the MQ patch stack"
  1.4677  msgstr ""
  1.4678  
  1.4679  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4680 -#: ../en/ch12-mq.xml:414
  1.4681 +#: ../en/ch12-mq.xml:415
  1.4682  msgid ""
  1.4683  "You can reapply an unapplied, or popped, patch using the <command role=\"hg-"
  1.4684  "ext-mq\">qpush</command> command.  This creates a new changeset to correspond "
  1.4685 @@ -13979,7 +14000,7 @@
  1.4686  msgstr ""
  1.4687  
  1.4688  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4689 -#: ../en/ch12-mq.xml:423
  1.4690 +#: ../en/ch12-mq.xml:424
  1.4691  msgid ""
  1.4692  "Notice that once we have popped a patch or two patches, the output of "
  1.4693  "<command role=\"hg-ext-mq\">qseries</command> remains the same, while that of "
  1.4694 @@ -13987,12 +14008,12 @@
  1.4695  msgstr ""
  1.4696  
  1.4697  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4698 -#: ../en/ch12-mq.xml:431
  1.4699 +#: ../en/ch12-mq.xml:432
  1.4700  msgid "Pushing and popping many patches"
  1.4701  msgstr "压入或弹出多个补丁"
  1.4702  
  1.4703  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4704 -#: ../en/ch12-mq.xml:433
  1.4705 +#: ../en/ch12-mq.xml:434
  1.4706  msgid ""
  1.4707  "While <command role=\"hg-ext-mq\">qpush</command> and <command role=\"hg-ext-"
  1.4708  "mq\">qpop</command> each operate on a single patch at a time by default, you "
  1.4709 @@ -14005,12 +14026,12 @@
  1.4710  msgstr ""
  1.4711  
  1.4712  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4713 -#: ../en/ch12-mq.xml:450
  1.4714 +#: ../en/ch12-mq.xml:451
  1.4715  msgid "Safety checks, and overriding them"
  1.4716  msgstr "安全的检查,然后覆盖它们"
  1.4717  
  1.4718  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4719 -#: ../en/ch12-mq.xml:452
  1.4720 +#: ../en/ch12-mq.xml:453
  1.4721  msgid ""
  1.4722  "Several MQ commands check the working directory before they do anything, and "
  1.4723  "fail if they find any modifications.  They do this to ensure that you won't "
  1.4724 @@ -14022,7 +14043,7 @@
  1.4725  msgstr ""
  1.4726  
  1.4727  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4728 -#: ../en/ch12-mq.xml:464
  1.4729 +#: ../en/ch12-mq.xml:465
  1.4730  msgid ""
  1.4731  "Commands that check the working directory all take an <quote>I know what I'm "
  1.4732  "doing</quote> option, which is always named <option>-f</option>.  The exact "
  1.4733 @@ -14036,12 +14057,12 @@
  1.4734  msgstr ""
  1.4735  
  1.4736  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4737 -#: ../en/ch12-mq.xml:479
  1.4738 +#: ../en/ch12-mq.xml:480
  1.4739  msgid "Working on several patches at once"
  1.4740  msgstr "同时处理多个补丁"
  1.4741  
  1.4742  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4743 -#: ../en/ch12-mq.xml:481
  1.4744 +#: ../en/ch12-mq.xml:482
  1.4745  msgid ""
  1.4746  "The <command role=\"hg-ext-mq\">qrefresh</command> command always refreshes "
  1.4747  "the <emphasis>topmost</emphasis> applied patch.  This means that you can "
  1.4748 @@ -14050,7 +14071,7 @@
  1.4749  msgstr ""
  1.4750  
  1.4751  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4752 -#: ../en/ch12-mq.xml:488
  1.4753 +#: ../en/ch12-mq.xml:489
  1.4754  msgid ""
  1.4755  "Here's an example that illustrates how you can use this ability. Let's say "
  1.4756  "you're developing a new feature as two patches.  The first is a change to the "
  1.4757 @@ -14066,12 +14087,12 @@
  1.4758  msgstr ""
  1.4759  
  1.4760  #. type: Content of: <book><chapter><sect1><title>
  1.4761 -#: ../en/ch12-mq.xml:505
  1.4762 +#: ../en/ch12-mq.xml:506
  1.4763  msgid "More about patches"
  1.4764  msgstr "关于补丁的更多信息"
  1.4765  
  1.4766  #. type: Content of: <book><chapter><sect1><para>
  1.4767 -#: ../en/ch12-mq.xml:507
  1.4768 +#: ../en/ch12-mq.xml:508
  1.4769  msgid ""
  1.4770  "MQ uses the GNU <command>patch</command> command to apply patches, so it's "
  1.4771  "helpful to know a few more detailed aspects of how <command>patch</command> "
  1.4772 @@ -14079,12 +14100,12 @@
  1.4773  msgstr ""
  1.4774  
  1.4775  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4776 -#: ../en/ch12-mq.xml:513
  1.4777 +#: ../en/ch12-mq.xml:514
  1.4778  msgid "The strip count"
  1.4779  msgstr "修剪计数"
  1.4780  
  1.4781  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4782 -#: ../en/ch12-mq.xml:515
  1.4783 +#: ../en/ch12-mq.xml:516
  1.4784  msgid ""
  1.4785  "If you look at the file headers in a patch, you will notice that the "
  1.4786  "pathnames usually have an extra component on the front that isn't present in "
  1.4787 @@ -14094,7 +14115,7 @@
  1.4788  msgstr ""
  1.4789  
  1.4790  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4791 -#: ../en/ch12-mq.xml:522
  1.4792 +#: ../en/ch12-mq.xml:523
  1.4793  msgid ""
  1.4794  "Alice would unpack a tarball, edit her files, then decide that she wanted to "
  1.4795  "create a patch.  So she'd rename her working directory, unpack the tarball "
  1.4796 @@ -14108,7 +14129,7 @@
  1.4797  msgstr ""
  1.4798  
  1.4799  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4800 -#: ../en/ch12-mq.xml:535
  1.4801 +#: ../en/ch12-mq.xml:536
  1.4802  msgid ""
  1.4803  "Since someone receiving a patch from the Alices of the net would be unlikely "
  1.4804  "to have unmodified and modified directories with exactly the same names, the "
  1.4805 @@ -14119,7 +14140,7 @@
  1.4806  msgstr ""
  1.4807  
  1.4808  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4809 -#: ../en/ch12-mq.xml:543
  1.4810 +#: ../en/ch12-mq.xml:544
  1.4811  msgid ""
  1.4812  "An option of <quote><literal>-p1</literal></quote> means <quote>use a strip "
  1.4813  "count of one</quote>.  If <command>patch</command> sees a file name "
  1.4814 @@ -14133,7 +14154,7 @@
  1.4815  msgstr ""
  1.4816  
  1.4817  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4818 -#: ../en/ch12-mq.xml:556
  1.4819 +#: ../en/ch12-mq.xml:557
  1.4820  msgid ""
  1.4821  "The <quote>standard</quote> strip count for patches is one; almost all "
  1.4822  "patches contain one leading path name component that needs to be stripped. "
  1.4823 @@ -14143,7 +14164,7 @@
  1.4824  msgstr ""
  1.4825  
  1.4826  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4827 -#: ../en/ch12-mq.xml:564
  1.4828 +#: ../en/ch12-mq.xml:565
  1.4829  msgid ""
  1.4830  "If you receive a patch from someone that you want to add to your patch queue, "
  1.4831  "and the patch needs a strip count other than one, you cannot just <command "
  1.4832 @@ -14160,12 +14181,12 @@
  1.4833  msgstr ""
  1.4834  
  1.4835  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4836 -#: ../en/ch12-mq.xml:583
  1.4837 +#: ../en/ch12-mq.xml:584
  1.4838  msgid "Strategies for applying a patch"
  1.4839  msgstr "应用补丁的策略"
  1.4840  
  1.4841  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4842 -#: ../en/ch12-mq.xml:585
  1.4843 +#: ../en/ch12-mq.xml:586
  1.4844  msgid ""
  1.4845  "When <command>patch</command> applies a hunk, it tries a handful of "
  1.4846  "successively less accurate strategies to try to make the hunk apply. This "
  1.4847 @@ -14175,7 +14196,7 @@
  1.4848  msgstr ""
  1.4849  
  1.4850  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4851 -#: ../en/ch12-mq.xml:592
  1.4852 +#: ../en/ch12-mq.xml:593
  1.4853  msgid ""
  1.4854  "First, <command>patch</command> tries an exact match, where the line numbers, "
  1.4855  "the context, and the text to be modified must apply exactly.  If it cannot "
  1.4856 @@ -14186,7 +14207,7 @@
  1.4857  msgstr ""
  1.4858  
  1.4859  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4860 -#: ../en/ch12-mq.xml:601
  1.4861 +#: ../en/ch12-mq.xml:602
  1.4862  msgid ""
  1.4863  "If a context-only match fails, <command>patch</command> removes the first and "
  1.4864  "last lines of the context, and tries a <emphasis>reduced</emphasis> context-"
  1.4865 @@ -14197,7 +14218,7 @@
  1.4866  msgstr ""
  1.4867  
  1.4868  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4869 -#: ../en/ch12-mq.xml:610
  1.4870 +#: ../en/ch12-mq.xml:611
  1.4871  msgid ""
  1.4872  "When neither of these techniques works, <command>patch</command> prints a "
  1.4873  "message saying that the hunk in question was rejected.  It saves rejected "
  1.4874 @@ -14214,33 +14235,33 @@
  1.4875  msgstr ""
  1.4876  
  1.4877  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4878 -#: ../en/ch12-mq.xml:628
  1.4879 +#: ../en/ch12-mq.xml:629
  1.4880  msgid "Some quirks of patch representation"
  1.4881  msgstr "补丁的一些特性"
  1.4882  
  1.4883  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4884 -#: ../en/ch12-mq.xml:630
  1.4885 +#: ../en/ch12-mq.xml:631
  1.4886  msgid ""
  1.4887  "There are a few useful things to know about how <command>patch</command> "
  1.4888  "works with files."
  1.4889  msgstr ""
  1.4890  
  1.4891  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4892 -#: ../en/ch12-mq.xml:633
  1.4893 +#: ../en/ch12-mq.xml:634
  1.4894  msgid ""
  1.4895  "This should already be obvious, but <command>patch</command> cannot handle "
  1.4896  "binary files."
  1.4897  msgstr ""
  1.4898  
  1.4899  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4900 -#: ../en/ch12-mq.xml:637
  1.4901 +#: ../en/ch12-mq.xml:638
  1.4902  msgid ""
  1.4903  "Neither does it care about the executable bit; it creates new files as "
  1.4904  "readable, but not executable."
  1.4905  msgstr ""
  1.4906  
  1.4907  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4908 -#: ../en/ch12-mq.xml:641
  1.4909 +#: ../en/ch12-mq.xml:642
  1.4910  msgid ""
  1.4911  "<command>patch</command> treats the removal of a file as a diff between the "
  1.4912  "file to be removed and the empty file.  So your idea of <quote>I deleted this "
  1.4913 @@ -14249,7 +14270,7 @@
  1.4914  msgstr ""
  1.4915  
  1.4916  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4917 -#: ../en/ch12-mq.xml:647
  1.4918 +#: ../en/ch12-mq.xml:648
  1.4919  msgid ""
  1.4920  "It treats the addition of a file as a diff between the empty file and the "
  1.4921  "file to be added.  So in a patch, your idea of <quote>I added this file</"
  1.4922 @@ -14257,7 +14278,7 @@
  1.4923  msgstr ""
  1.4924  
  1.4925  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4926 -#: ../en/ch12-mq.xml:653
  1.4927 +#: ../en/ch12-mq.xml:654
  1.4928  msgid ""
  1.4929  "It treats a renamed file as the removal of the old name, and the addition of "
  1.4930  "the new name.  This means that renamed files have a big footprint in "
  1.4931 @@ -14266,7 +14287,7 @@
  1.4932  msgstr ""
  1.4933  
  1.4934  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.4935 -#: ../en/ch12-mq.xml:659
  1.4936 +#: ../en/ch12-mq.xml:660
  1.4937  msgid ""
  1.4938  "<command>patch</command> cannot represent empty files, so you cannot use a "
  1.4939  "patch to represent the notion <quote>I added this empty file to the tree</"
  1.4940 @@ -14274,12 +14295,12 @@
  1.4941  msgstr ""
  1.4942  
  1.4943  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4944 -#: ../en/ch12-mq.xml:666
  1.4945 +#: ../en/ch12-mq.xml:667
  1.4946  msgid "Beware the fuzz"
  1.4947  msgstr "当心毛刺"
  1.4948  
  1.4949  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4950 -#: ../en/ch12-mq.xml:668
  1.4951 +#: ../en/ch12-mq.xml:669
  1.4952  msgid ""
  1.4953  "While applying a hunk at an offset, or with a fuzz factor, will often be "
  1.4954  "completely successful, these inexact techniques naturally leave open the "
  1.4955 @@ -14291,7 +14312,7 @@
  1.4956  msgstr ""
  1.4957  
  1.4958  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4959 -#: ../en/ch12-mq.xml:678
  1.4960 +#: ../en/ch12-mq.xml:679
  1.4961  msgid ""
  1.4962  "It's often a good idea to refresh a patch that has applied with an offset or "
  1.4963  "fuzz factor; refreshing the patch generates new context information that will "
  1.4964 @@ -14304,12 +14325,12 @@
  1.4965  msgstr ""
  1.4966  
  1.4967  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.4968 -#: ../en/ch12-mq.xml:691
  1.4969 +#: ../en/ch12-mq.xml:692
  1.4970  msgid "Handling rejection"
  1.4971  msgstr "处理拒绝"
  1.4972  
  1.4973  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4974 -#: ../en/ch12-mq.xml:693
  1.4975 +#: ../en/ch12-mq.xml:694
  1.4976  msgid ""
  1.4977  "If <command role=\"hg-ext-mq\">qpush</command> fails to apply a patch, it "
  1.4978  "will print an error message and exit.  If it has left <filename role=\"special"
  1.4979 @@ -14318,7 +14339,7 @@
  1.4980  msgstr ""
  1.4981  
  1.4982  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4983 -#: ../en/ch12-mq.xml:699
  1.4984 +#: ../en/ch12-mq.xml:700
  1.4985  msgid ""
  1.4986  "If your patch <emphasis>used to</emphasis> apply cleanly, and no longer does "
  1.4987  "because you've changed the underlying code that your patches are based on, "
  1.4988 @@ -14327,7 +14348,7 @@
  1.4989  msgstr ""
  1.4990  
  1.4991  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.4992 -#: ../en/ch12-mq.xml:705
  1.4993 +#: ../en/ch12-mq.xml:706
  1.4994  msgid ""
  1.4995  "Unfortunately, there aren't any great techniques for dealing with rejected "
  1.4996  "hunks.  Most often, you'll need to view the <filename role=\"special\">.rej</"
  1.4997 @@ -14335,7 +14356,7 @@
  1.4998  msgstr ""
  1.4999  
  1.5000  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5001 -#: ../en/ch12-mq.xml:710
  1.5002 +#: ../en/ch12-mq.xml:711
  1.5003  msgid ""
  1.5004  "If you're feeling adventurous, Neil Brown, a Linux kernel hacker, wrote a "
  1.5005  "tool called <command>wiggle</command> <citation>web:wiggle</citation>, which "
  1.5006 @@ -14344,7 +14365,7 @@
  1.5007  msgstr ""
  1.5008  
  1.5009  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5010 -#: ../en/ch12-mq.xml:716
  1.5011 +#: ../en/ch12-mq.xml:717
  1.5012  msgid ""
  1.5013  "Another Linux kernel hacker, Chris Mason (the author of Mercurial Queues), "
  1.5014  "wrote a similar tool called <command>mpatch</command> <citation>web:mpatch</"
  1.5015 @@ -14354,31 +14375,31 @@
  1.5016  msgstr ""
  1.5017  
  1.5018  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5019 -#: ../en/ch12-mq.xml:725
  1.5020 +#: ../en/ch12-mq.xml:726
  1.5021  msgid "The context in the middle of a hunk has changed."
  1.5022  msgstr ""
  1.5023  
  1.5024  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5025 -#: ../en/ch12-mq.xml:728
  1.5026 +#: ../en/ch12-mq.xml:729
  1.5027  msgid "A hunk is missing some context at the beginning or end."
  1.5028  msgstr ""
  1.5029  
  1.5030  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5031 -#: ../en/ch12-mq.xml:731
  1.5032 +#: ../en/ch12-mq.xml:732
  1.5033  msgid ""
  1.5034  "A large hunk might apply better&emdash;either entirely or in part&emdash;if "
  1.5035  "it was broken up into smaller hunks."
  1.5036  msgstr ""
  1.5037  
  1.5038  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5039 -#: ../en/ch12-mq.xml:735
  1.5040 +#: ../en/ch12-mq.xml:736
  1.5041  msgid ""
  1.5042  "A hunk removes lines with slightly different content than those currently "
  1.5043  "present in the file."
  1.5044  msgstr ""
  1.5045  
  1.5046  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5047 -#: ../en/ch12-mq.xml:739
  1.5048 +#: ../en/ch12-mq.xml:740
  1.5049  msgid ""
  1.5050  "If you use <command>wiggle</command> or <command>mpatch</command>, you should "
  1.5051  "be doubly careful to check your results when you're done.  In fact, "
  1.5052 @@ -14388,12 +14409,12 @@
  1.5053  msgstr ""
  1.5054  
  1.5055  #. type: Content of: <book><chapter><sect1><title>
  1.5056 -#: ../en/ch12-mq.xml:751
  1.5057 +#: ../en/ch12-mq.xml:752
  1.5058  msgid "Getting the best performance out of MQ"
  1.5059  msgstr "MQ 的性能"
  1.5060  
  1.5061  #. type: Content of: <book><chapter><sect1><para>
  1.5062 -#: ../en/ch12-mq.xml:753
  1.5063 +#: ../en/ch12-mq.xml:754
  1.5064  msgid ""
  1.5065  "MQ is very efficient at handling a large number of patches.  I ran some "
  1.5066  "performance experiments in mid-2006 for a talk that I gave at the 2006 "
  1.5067 @@ -14404,7 +14425,7 @@
  1.5068  msgstr ""
  1.5069  
  1.5070  #. type: Content of: <book><chapter><sect1><para>
  1.5071 -#: ../en/ch12-mq.xml:762
  1.5072 +#: ../en/ch12-mq.xml:763
  1.5073  msgid ""
  1.5074  "On my old, slow laptop, I was able to <command role=\"hg-cmd\">hg qpush "
  1.5075  "<option role=\"hg-ext-mq-cmd-qpush-opt\">hg -a</option></command> all 1,738 "
  1.5076 @@ -14416,14 +14437,14 @@
  1.5077  msgstr ""
  1.5078  
  1.5079  #. type: Content of: <book><chapter><sect1><para>
  1.5080 -#: ../en/ch12-mq.xml:773
  1.5081 +#: ../en/ch12-mq.xml:774
  1.5082  msgid ""
  1.5083  "Clearly, MQ is well suited to working in large trees, but there are a few "
  1.5084  "tricks you can use to get the best performance of it."
  1.5085  msgstr ""
  1.5086  
  1.5087  #. type: Content of: <book><chapter><sect1><para>
  1.5088 -#: ../en/ch12-mq.xml:777
  1.5089 +#: ../en/ch12-mq.xml:778
  1.5090  msgid ""
  1.5091  "First of all, try to <quote>batch</quote> operations together.  Every time "
  1.5092  "you run <command role=\"hg-ext-mq\">qpush</command> or <command role=\"hg-ext-"
  1.5093 @@ -14435,7 +14456,7 @@
  1.5094  msgstr ""
  1.5095  
  1.5096  #. type: Content of: <book><chapter><sect1><para>
  1.5097 -#: ../en/ch12-mq.xml:788
  1.5098 +#: ../en/ch12-mq.xml:789
  1.5099  msgid ""
  1.5100  "The <command role=\"hg-ext-mq\">qpush</command> and <command role=\"hg-ext-mq"
  1.5101  "\">qpop</command> commands allow you to push and pop multiple patches at a "
  1.5102 @@ -14447,7 +14468,7 @@
  1.5103  msgstr ""
  1.5104  
  1.5105  #. type: Content of: <book><chapter><sect1><para>
  1.5106 -#: ../en/ch12-mq.xml:798
  1.5107 +#: ../en/ch12-mq.xml:799
  1.5108  msgid ""
  1.5109  "You can identify a destination patch using either the name of the patch, or "
  1.5110  "by number.  If you use numeric addressing, patches are counted from zero; "
  1.5111 @@ -14455,12 +14476,12 @@
  1.5112  msgstr ""
  1.5113  
  1.5114  #. type: Content of: <book><chapter><sect1><title>
  1.5115 -#: ../en/ch12-mq.xml:805
  1.5116 +#: ../en/ch12-mq.xml:806
  1.5117  msgid "Updating your patches when the underlying code changes"
  1.5118  msgstr "当基础代码改变时,更新补丁的方法"
  1.5119  
  1.5120  #. type: Content of: <book><chapter><sect1><para>
  1.5121 -#: ../en/ch12-mq.xml:808
  1.5122 +#: ../en/ch12-mq.xml:809
  1.5123  msgid ""
  1.5124  "It's common to have a stack of patches on top of an underlying repository "
  1.5125  "that you don't modify directly.  If you're working on changes to third-party "
  1.5126 @@ -14471,7 +14492,7 @@
  1.5127  msgstr ""
  1.5128  
  1.5129  #. type: Content of: <book><chapter><sect1><para>
  1.5130 -#: ../en/ch12-mq.xml:817
  1.5131 +#: ../en/ch12-mq.xml:818
  1.5132  msgid ""
  1.5133  "The simplest way to do this is to <command role=\"hg-cmd\">hg qpop <option "
  1.5134  "role=\"hg-ext-mq-cmd-qpop-opt\">hg -a</option></command> your patches, then "
  1.5135 @@ -14485,7 +14506,7 @@
  1.5136  msgstr ""
  1.5137  
  1.5138  #. type: Content of: <book><chapter><sect1><para>
  1.5139 -#: ../en/ch12-mq.xml:829
  1.5140 +#: ../en/ch12-mq.xml:830
  1.5141  msgid ""
  1.5142  "This approach is easy to use and works well if you don't expect changes to "
  1.5143  "the underlying code to affect how well your patches apply. If your patch "
  1.5144 @@ -14495,7 +14516,7 @@
  1.5145  msgstr ""
  1.5146  
  1.5147  #. type: Content of: <book><chapter><sect1><para>
  1.5148 -#: ../en/ch12-mq.xml:836
  1.5149 +#: ../en/ch12-mq.xml:837
  1.5150  msgid ""
  1.5151  "It's possible to partially automate the rebasing process.  If your patches "
  1.5152  "apply cleanly against some revision of the underlying repo, MQ can use this "
  1.5153 @@ -14504,19 +14525,19 @@
  1.5154  msgstr ""
  1.5155  
  1.5156  #. type: Content of: <book><chapter><sect1><para>
  1.5157 -#: ../en/ch12-mq.xml:842
  1.5158 +#: ../en/ch12-mq.xml:843
  1.5159  msgid "The process is a little involved."
  1.5160  msgstr ""
  1.5161  
  1.5162  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.5163 -#: ../en/ch12-mq.xml:844
  1.5164 +#: ../en/ch12-mq.xml:845
  1.5165  msgid ""
  1.5166  "To begin, <command role=\"hg-cmd\">hg qpush -a</command> all of your patches "
  1.5167  "on top of the revision where you know that they apply cleanly."
  1.5168  msgstr ""
  1.5169  
  1.5170  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.5171 -#: ../en/ch12-mq.xml:848
  1.5172 +#: ../en/ch12-mq.xml:849
  1.5173  msgid ""
  1.5174  "Save a backup copy of your patch directory using <command role=\"hg-cmd\">hg "
  1.5175  "qsave <option role=\"hg-ext-mq-cmd-qsave-opt\">hg -e</option> <option role="
  1.5176 @@ -14531,7 +14552,7 @@
  1.5177  msgstr ""
  1.5178  
  1.5179  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.5180 -#: ../en/ch12-mq.xml:862
  1.5181 +#: ../en/ch12-mq.xml:863
  1.5182  msgid ""
  1.5183  "Use <command role=\"hg-cmd\">hg pull</command> to bring new changes into the "
  1.5184  "underlying repository.  (Don't run <command role=\"hg-cmd\">hg pull -u</"
  1.5185 @@ -14539,7 +14560,7 @@
  1.5186  msgstr ""
  1.5187  
  1.5188  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.5189 -#: ../en/ch12-mq.xml:867
  1.5190 +#: ../en/ch12-mq.xml:868
  1.5191  msgid ""
  1.5192  "Update to the new tip revision, using <command role=\"hg-cmd\">hg update "
  1.5193  "<option role=\"hg-opt-update\">-C</option></command> to override the patches "
  1.5194 @@ -14547,7 +14568,7 @@
  1.5195  msgstr ""
  1.5196  
  1.5197  #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para>
  1.5198 -#: ../en/ch12-mq.xml:872
  1.5199 +#: ../en/ch12-mq.xml:873
  1.5200  msgid ""
  1.5201  "Merge all patches using \\hgcmdargs{qpush}{<option role=\"hg-ext-mq-cmd-qpush-"
  1.5202  "opt\">hg -m</option> <option role=\"hg-ext-mq-cmd-qpush-opt\">hg -a</"
  1.5203 @@ -14557,7 +14578,7 @@
  1.5204  msgstr ""
  1.5205  
  1.5206  #. type: Content of: <book><chapter><sect1><para>
  1.5207 -#: ../en/ch12-mq.xml:882
  1.5208 +#: ../en/ch12-mq.xml:883
  1.5209  msgid ""
  1.5210  "During the <command role=\"hg-cmd\">hg qpush <option role=\"hg-ext-mq-cmd-"
  1.5211  "qpush-opt\">hg -m</option></command>, each patch in the <filename role="
  1.5212 @@ -14569,14 +14590,14 @@
  1.5213  msgstr ""
  1.5214  
  1.5215  #. type: Content of: <book><chapter><sect1><para>
  1.5216 -#: ../en/ch12-mq.xml:892
  1.5217 +#: ../en/ch12-mq.xml:893
  1.5218  msgid ""
  1.5219  "When you finish resolving the effects of a patch, MQ refreshes your patch "
  1.5220  "based on the result of the merge."
  1.5221  msgstr ""
  1.5222  
  1.5223  #. type: Content of: <book><chapter><sect1><para>
  1.5224 -#: ../en/ch12-mq.xml:895
  1.5225 +#: ../en/ch12-mq.xml:896
  1.5226  msgid ""
  1.5227  "At the end of this process, your repository will have one extra head from the "
  1.5228  "old patch queue, and a copy of the old patch queue will be in <filename role="
  1.5229 @@ -14588,12 +14609,12 @@
  1.5230  msgstr ""
  1.5231  
  1.5232  #. type: Content of: <book><chapter><sect1><title>
  1.5233 -#: ../en/ch12-mq.xml:907
  1.5234 +#: ../en/ch12-mq.xml:908
  1.5235  msgid "Identifying patches"
  1.5236  msgstr "标识补丁"
  1.5237  
  1.5238  #. type: Content of: <book><chapter><sect1><para>
  1.5239 -#: ../en/ch12-mq.xml:909
  1.5240 +#: ../en/ch12-mq.xml:910
  1.5241  msgid ""
  1.5242  "MQ commands that work with patches let you refer to a patch either by using "
  1.5243  "its name or by a number.  By name is obvious enough; pass the name "
  1.5244 @@ -14603,7 +14624,7 @@
  1.5245  msgstr ""
  1.5246  
  1.5247  #. type: Content of: <book><chapter><sect1><para>
  1.5248 -#: ../en/ch12-mq.xml:916
  1.5249 +#: ../en/ch12-mq.xml:917
  1.5250  msgid ""
  1.5251  "As a shortcut, you can refer to a patch using both a name and a numeric "
  1.5252  "offset; <literal>foo.patch-2</literal> means <quote>two patches before "
  1.5253 @@ -14612,7 +14633,7 @@
  1.5254  msgstr ""
  1.5255  
  1.5256  #. type: Content of: <book><chapter><sect1><para>
  1.5257 -#: ../en/ch12-mq.xml:922
  1.5258 +#: ../en/ch12-mq.xml:923
  1.5259  msgid ""
  1.5260  "Referring to a patch by index isn't much different.  The first patch printed "
  1.5261  "in the output of <command role=\"hg-ext-mq\">qseries</command> is patch zero "
  1.5262 @@ -14621,7 +14642,7 @@
  1.5263  msgstr ""
  1.5264  
  1.5265  #. type: Content of: <book><chapter><sect1><para>
  1.5266 -#: ../en/ch12-mq.xml:928
  1.5267 +#: ../en/ch12-mq.xml:929
  1.5268  msgid ""
  1.5269  "MQ also makes it easy to work with patches when you are using normal "
  1.5270  "Mercurial commands.  Every command that accepts a changeset ID will also "
  1.5271 @@ -14634,38 +14655,38 @@
  1.5272  msgstr ""
  1.5273  
  1.5274  #. type: Content of: <book><chapter><sect1><para>
  1.5275 -#: ../en/ch12-mq.xml:940
  1.5276 +#: ../en/ch12-mq.xml:941
  1.5277  msgid ""
  1.5278  "These additions to Mercurial's normal tagging capabilities make dealing with "
  1.5279  "patches even more of a breeze."
  1.5280  msgstr ""
  1.5281  
  1.5282  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.5283 -#: ../en/ch12-mq.xml:943
  1.5284 +#: ../en/ch12-mq.xml:944
  1.5285  msgid "Want to patchbomb a mailing list with your latest series of changes?"
  1.5286  msgstr ""
  1.5287  
  1.5288  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.5289 -#: ../en/ch12-mq.xml:947
  1.5290 +#: ../en/ch12-mq.xml:948
  1.5291  msgid ""
  1.5292  "(Don't know what <quote>patchbombing</quote> is? See section <xref linkend="
  1.5293  "\"sec.hgext.patchbomb\"/>.)"
  1.5294  msgstr ""
  1.5295  
  1.5296  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.5297 -#: ../en/ch12-mq.xml:950
  1.5298 +#: ../en/ch12-mq.xml:951
  1.5299  msgid ""
  1.5300  "Need to see all of the patches since <literal>foo.patch</literal> that have "
  1.5301  "touched files in a subdirectory of your tree?"
  1.5302  msgstr ""
  1.5303  
  1.5304  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><programlisting><emphasis>
  1.5305 -#: ../en/ch12-mq.xml:954
  1.5306 +#: ../en/ch12-mq.xml:955
  1.5307  msgid "subdir"
  1.5308  msgstr ""
  1.5309  
  1.5310  #. type: Content of: <book><chapter><sect1><para>
  1.5311 -#: ../en/ch12-mq.xml:959
  1.5312 +#: ../en/ch12-mq.xml:960
  1.5313  msgid ""
  1.5314  "Because MQ makes the names of patches available to the rest of Mercurial "
  1.5315  "through its normal internal tag machinery, you don't need to type in the "
  1.5316 @@ -14673,7 +14694,7 @@
  1.5317  msgstr ""
  1.5318  
  1.5319  #. type: Content of: <book><chapter><sect1><para>
  1.5320 -#: ../en/ch12-mq.xml:964
  1.5321 +#: ../en/ch12-mq.xml:965
  1.5322  msgid ""
  1.5323  "Another nice consequence of representing patch names as tags is that when you "
  1.5324  "run the <command role=\"hg-cmd\">hg log</command> command, it will display a "
  1.5325 @@ -14684,19 +14705,19 @@
  1.5326  msgstr ""
  1.5327  
  1.5328  #. type: Content of: <book><chapter><sect1><title>
  1.5329 -#: ../en/ch12-mq.xml:977
  1.5330 +#: ../en/ch12-mq.xml:978
  1.5331  msgid "Useful things to know about"
  1.5332  msgstr "其它需要了解的东西"
  1.5333  
  1.5334  #. type: Content of: <book><chapter><sect1><para>
  1.5335 -#: ../en/ch12-mq.xml:979
  1.5336 +#: ../en/ch12-mq.xml:980
  1.5337  msgid ""
  1.5338  "There are a number of aspects of MQ usage that don't fit tidily into sections "
  1.5339  "of their own, but that are good to know.  Here they are, in one place."
  1.5340  msgstr ""
  1.5341  
  1.5342  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.5343 -#: ../en/ch12-mq.xml:984
  1.5344 +#: ../en/ch12-mq.xml:985
  1.5345  msgid ""
  1.5346  "Normally, when you <command role=\"hg-ext-mq\">qpop</command> a patch and "
  1.5347  "<command role=\"hg-ext-mq\">qpush</command> it again, the changeset that "
  1.5348 @@ -14707,7 +14728,7 @@
  1.5349  msgstr ""
  1.5350  
  1.5351  #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
  1.5352 -#: ../en/ch12-mq.xml:993
  1.5353 +#: ../en/ch12-mq.xml:994
  1.5354  msgid ""
  1.5355  "It's not a good idea to <command role=\"hg-cmd\">hg merge</command> changes "
  1.5356  "from another branch with a patch changeset, at least if you want to maintain "
  1.5357 @@ -14717,12 +14738,12 @@
  1.5358  msgstr ""
  1.5359  
  1.5360  #. type: Content of: <book><chapter><sect1><title>
  1.5361 -#: ../en/ch12-mq.xml:1004
  1.5362 +#: ../en/ch12-mq.xml:1005
  1.5363  msgid "Managing patches in a repository"
  1.5364  msgstr "在版本库管理补丁"
  1.5365  
  1.5366  #. type: Content of: <book><chapter><sect1><para>
  1.5367 -#: ../en/ch12-mq.xml:1006
  1.5368 +#: ../en/ch12-mq.xml:1007
  1.5369  msgid ""
  1.5370  "Because MQ's <filename role=\"special\" class=\"directory\">.hg/patches</"
  1.5371  "filename> directory resides outside a Mercurial repository's working "
  1.5372 @@ -14731,7 +14752,7 @@
  1.5373  msgstr ""
  1.5374  
  1.5375  #. type: Content of: <book><chapter><sect1><para>
  1.5376 -#: ../en/ch12-mq.xml:1012
  1.5377 +#: ../en/ch12-mq.xml:1013
  1.5378  msgid ""
  1.5379  "This presents the interesting possibility of managing the contents of the "
  1.5380  "patch directory as a Mercurial repository in its own right.  This can be a "
  1.5381 @@ -14742,7 +14763,7 @@
  1.5382  msgstr ""
  1.5383  
  1.5384  #. type: Content of: <book><chapter><sect1><para>
  1.5385 -#: ../en/ch12-mq.xml:1021
  1.5386 +#: ../en/ch12-mq.xml:1022
  1.5387  msgid ""
  1.5388  "You can then share different versions of the same patch stack among multiple "
  1.5389  "underlying repositories.  I use this when I am developing a Linux kernel "
  1.5390 @@ -14754,7 +14775,7 @@
  1.5391  msgstr ""
  1.5392  
  1.5393  #. type: Content of: <book><chapter><sect1><para>
  1.5394 -#: ../en/ch12-mq.xml:1031
  1.5395 +#: ../en/ch12-mq.xml:1032
  1.5396  msgid ""
  1.5397  "Managing patches in a repository makes it possible for multiple developers to "
  1.5398  "work on the same patch series without colliding with each other, all on top "
  1.5399 @@ -14762,12 +14783,12 @@
  1.5400  msgstr ""
  1.5401  
  1.5402  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5403 -#: ../en/ch12-mq.xml:1037
  1.5404 +#: ../en/ch12-mq.xml:1038
  1.5405  msgid "MQ support for patch repositories"
  1.5406  msgstr "MQ 支持补丁版本库"
  1.5407  
  1.5408  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5409 -#: ../en/ch12-mq.xml:1039
  1.5410 +#: ../en/ch12-mq.xml:1040
  1.5411  msgid ""
  1.5412  "MQ helps you to work with the <filename role=\"special\" class=\"directory\">."
  1.5413  "hg/patches</filename> directory as a repository; when you prepare a "
  1.5414 @@ -14778,7 +14799,7 @@
  1.5415  msgstr ""
  1.5416  
  1.5417  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.5418 -#: ../en/ch12-mq.xml:1049
  1.5419 +#: ../en/ch12-mq.xml:1050
  1.5420  msgid ""
  1.5421  "If you forget to use the <option role=\"hg-ext-mq-cmd-qinit-opt\">hg -c</"
  1.5422  "option> option, you can simply go into the <filename role=\"special\" class="
  1.5423 @@ -14789,7 +14810,7 @@
  1.5424  msgstr ""
  1.5425  
  1.5426  #. type: Content of: <book><chapter><sect1><sect2><note><para>
  1.5427 -#: ../en/ch12-mq.xml:1058
  1.5428 +#: ../en/ch12-mq.xml:1059
  1.5429  msgid ""
  1.5430  "(<command role=\"hg-cmd\">hg qinit <option role=\"hg-ext-mq-cmd-qinit-opt"
  1.5431  "\">hg -c</option></command> does this for you automatically); you "
  1.5432 @@ -14798,7 +14819,7 @@
  1.5433  msgstr ""
  1.5434  
  1.5435  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5436 -#: ../en/ch12-mq.xml:1065
  1.5437 +#: ../en/ch12-mq.xml:1066
  1.5438  msgid ""
  1.5439  "As a convenience, if MQ notices that the <filename class=\"directory\">.hg/"
  1.5440  "patches</filename> directory is a repository, it will automatically <command "
  1.5441 @@ -14806,7 +14827,7 @@
  1.5442  msgstr ""
  1.5443  
  1.5444  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5445 -#: ../en/ch12-mq.xml:1070
  1.5446 +#: ../en/ch12-mq.xml:1071
  1.5447  msgid ""
  1.5448  "MQ provides a shortcut command, <command role=\"hg-ext-mq\">qcommit</"
  1.5449  "command>, that runs <command role=\"hg-cmd\">hg commit</command> in the "
  1.5450 @@ -14815,7 +14836,7 @@
  1.5451  msgstr ""
  1.5452  
  1.5453  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5454 -#: ../en/ch12-mq.xml:1076
  1.5455 +#: ../en/ch12-mq.xml:1077
  1.5456  msgid ""
  1.5457  "Finally, as a convenience to manage the patch directory, you can define the "
  1.5458  "alias <command>mq</command> on Unix systems. For example, on Linux systems "
  1.5459 @@ -14824,26 +14845,26 @@
  1.5460  msgstr ""
  1.5461  
  1.5462  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5463 -#: ../en/ch12-mq.xml:1086
  1.5464 +#: ../en/ch12-mq.xml:1087
  1.5465  msgid ""
  1.5466  "You can then issue commands of the form <command>mq pull</command> from the "
  1.5467  "main repository."
  1.5468  msgstr ""
  1.5469  
  1.5470  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5471 -#: ../en/ch12-mq.xml:1091
  1.5472 +#: ../en/ch12-mq.xml:1092
  1.5473  msgid "A few things to watch out for"
  1.5474  msgstr "需要注意的事情"
  1.5475  
  1.5476  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5477 -#: ../en/ch12-mq.xml:1093
  1.5478 +#: ../en/ch12-mq.xml:1094
  1.5479  msgid ""
  1.5480  "MQ's support for working with a repository full of patches is limited in a "
  1.5481  "few small respects."
  1.5482  msgstr ""
  1.5483  
  1.5484  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5485 -#: ../en/ch12-mq.xml:1096
  1.5486 +#: ../en/ch12-mq.xml:1097
  1.5487  msgid ""
  1.5488  "MQ cannot automatically detect changes that you make to the patch directory.  "
  1.5489  "If you <command role=\"hg-cmd\">hg pull</command>, manually edit, or <command "
  1.5490 @@ -14857,12 +14878,12 @@
  1.5491  msgstr ""
  1.5492  
  1.5493  #. type: Content of: <book><chapter><sect1><title>
  1.5494 -#: ../en/ch12-mq.xml:1112
  1.5495 +#: ../en/ch12-mq.xml:1113
  1.5496  msgid "Third party tools for working with patches"
  1.5497  msgstr "操作补丁的第三方工具"
  1.5498  
  1.5499  #. type: Content of: <book><chapter><sect1><para>
  1.5500 -#: ../en/ch12-mq.xml:1114
  1.5501 +#: ../en/ch12-mq.xml:1115
  1.5502  msgid ""
  1.5503  "Once you've been working with patches for a while, you'll find yourself "
  1.5504  "hungry for tools that will help you to understand and manipulate the patches "
  1.5505 @@ -14870,7 +14891,7 @@
  1.5506  msgstr ""
  1.5507  
  1.5508  #. type: Content of: <book><chapter><sect1><para>
  1.5509 -#: ../en/ch12-mq.xml:1118
  1.5510 +#: ../en/ch12-mq.xml:1119
  1.5511  msgid ""
  1.5512  "The <command>diffstat</command> command <citation>web:diffstat</citation> "
  1.5513  "generates a histogram of the modifications made to each file in a patch.  It "
  1.5514 @@ -14883,7 +14904,7 @@
  1.5515  msgstr ""
  1.5516  
  1.5517  #. type: Content of: <book><chapter><sect1><para>
  1.5518 -#: ../en/ch12-mq.xml:1132
  1.5519 +#: ../en/ch12-mq.xml:1133
  1.5520  msgid ""
  1.5521  "The <literal role=\"package\">patchutils</literal> package <citation>web:"
  1.5522  "patchutils</citation> is invaluable. It provides a set of small utilities "
  1.5523 @@ -14898,12 +14919,12 @@
  1.5524  msgstr ""
  1.5525  
  1.5526  #. type: Content of: <book><chapter><sect1><title>
  1.5527 -#: ../en/ch12-mq.xml:1148
  1.5528 +#: ../en/ch12-mq.xml:1149
  1.5529  msgid "Good ways to work with patches"
  1.5530  msgstr "操作补丁的好习惯"
  1.5531  
  1.5532  #. type: Content of: <book><chapter><sect1><para>
  1.5533 -#: ../en/ch12-mq.xml:1150
  1.5534 +#: ../en/ch12-mq.xml:1151
  1.5535  msgid ""
  1.5536  "Whether you are working on a patch series to submit to a free software or "
  1.5537  "open source project, or a series that you intend to treat as a sequence of "
  1.5538 @@ -14912,7 +14933,7 @@
  1.5539  msgstr ""
  1.5540  
  1.5541  #. type: Content of: <book><chapter><sect1><para>
  1.5542 -#: ../en/ch12-mq.xml:1156
  1.5543 +#: ../en/ch12-mq.xml:1157
  1.5544  msgid ""
  1.5545  "Give your patches descriptive names.  A good name for a patch might be "
  1.5546  "<filename>rework-device-alloc.patch</filename>, because it will immediately "
  1.5547 @@ -14926,7 +14947,7 @@
  1.5548  msgstr ""
  1.5549  
  1.5550  #. type: Content of: <book><chapter><sect1><para>
  1.5551 -#: ../en/ch12-mq.xml:1168
  1.5552 +#: ../en/ch12-mq.xml:1169
  1.5553  msgid ""
  1.5554  "Be aware of what patch you're working on.  Use the <command role=\"hg-ext-mq"
  1.5555  "\">qtop</command> command and skim over the text of your patches "
  1.5556 @@ -14939,7 +14960,7 @@
  1.5557  msgstr ""
  1.5558  
  1.5559  #. type: Content of: <book><chapter><sect1><para>
  1.5560 -#: ../en/ch12-mq.xml:1178
  1.5561 +#: ../en/ch12-mq.xml:1179
  1.5562  msgid ""
  1.5563  "For this reason, it is very much worth investing a little time to learn how "
  1.5564  "to use some of the third-party tools I described in section <xref linkend="
  1.5565 @@ -14950,17 +14971,17 @@
  1.5566  msgstr ""
  1.5567  
  1.5568  #. type: Content of: <book><chapter><sect1><title>
  1.5569 -#: ../en/ch12-mq.xml:1189
  1.5570 +#: ../en/ch12-mq.xml:1190
  1.5571  msgid "MQ cookbook"
  1.5572  msgstr "MQ 手册"
  1.5573  
  1.5574  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5575 -#: ../en/ch12-mq.xml:1192
  1.5576 +#: ../en/ch12-mq.xml:1193
  1.5577  msgid "Manage <quote>trivial</quote> patches"
  1.5578  msgstr "管理<quote>琐碎的</quote>补丁"
  1.5579  
  1.5580  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5581 -#: ../en/ch12-mq.xml:1194
  1.5582 +#: ../en/ch12-mq.xml:1195
  1.5583  msgid ""
  1.5584  "Because the overhead of dropping files into a new Mercurial repository is so "
  1.5585  "low, it makes a lot of sense to manage patches this way even if you simply "
  1.5586 @@ -14969,26 +14990,26 @@
  1.5587  
  1.5588  #
  1.5589  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5590 -#: ../en/ch12-mq.xml:1199
  1.5591 +#: ../en/ch12-mq.xml:1200
  1.5592  msgid ""
  1.5593  "Begin by downloading and unpacking the source tarball, and turning it into a "
  1.5594  "Mercurial repository."
  1.5595  msgstr ""
  1.5596  
  1.5597  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5598 -#: ../en/ch12-mq.xml:1204
  1.5599 +#: ../en/ch12-mq.xml:1205
  1.5600  msgid "Continue by creating a patch stack and making your changes."
  1.5601  msgstr ""
  1.5602  
  1.5603  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5604 -#: ../en/ch12-mq.xml:1209
  1.5605 +#: ../en/ch12-mq.xml:1210
  1.5606  msgid ""
  1.5607  "Let's say a few weeks or months pass, and your package author releases a new "
  1.5608  "version.  First, bring their changes into the repository."
  1.5609  msgstr ""
  1.5610  
  1.5611  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5612 -#: ../en/ch12-mq.xml:1215
  1.5613 +#: ../en/ch12-mq.xml:1216
  1.5614  msgid ""
  1.5615  "The pipeline starting with <command role=\"hg-cmd\">hg locate</command> above "
  1.5616  "deletes all files in the working directory, so that <command role=\"hg-cmd"
  1.5617 @@ -14998,17 +15019,17 @@
  1.5618  msgstr ""
  1.5619  
  1.5620  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5621 -#: ../en/ch12-mq.xml:1223
  1.5622 +#: ../en/ch12-mq.xml:1224
  1.5623  msgid "Finally, you can apply your patches on top of the new tree."
  1.5624  msgstr ""
  1.5625  
  1.5626  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5627 -#: ../en/ch12-mq.xml:1230
  1.5628 +#: ../en/ch12-mq.xml:1231
  1.5629  msgid "Combining entire patches"
  1.5630  msgstr "组合全部的补丁"
  1.5631  
  1.5632  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5633 -#: ../en/ch12-mq.xml:1232
  1.5634 +#: ../en/ch12-mq.xml:1233
  1.5635  msgid ""
  1.5636  "MQ provides a command, <command role=\"hg-ext-mq\">qfold</command> that lets "
  1.5637  "you combine entire patches.  This <quote>folds</quote> the patches you name, "
  1.5638 @@ -15018,7 +15039,7 @@
  1.5639  msgstr ""
  1.5640  
  1.5641  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5642 -#: ../en/ch12-mq.xml:1240
  1.5643 +#: ../en/ch12-mq.xml:1241
  1.5644  msgid ""
  1.5645  "The order in which you fold patches matters.  If your topmost applied patch "
  1.5646  "is <literal>foo</literal>, and you <command role=\"hg-ext-mq\">qfold</"
  1.5647 @@ -15029,19 +15050,19 @@
  1.5648  msgstr ""
  1.5649  
  1.5650  #. type: Content of: <book><chapter><sect1><sect2><title>
  1.5651 -#: ../en/ch12-mq.xml:1251
  1.5652 +#: ../en/ch12-mq.xml:1252
  1.5653  msgid "Merging part of one patch into another"
  1.5654  msgstr "合并补丁的部分内容到其它补丁"
  1.5655  
  1.5656  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5657 -#: ../en/ch12-mq.xml:1253
  1.5658 +#: ../en/ch12-mq.xml:1254
  1.5659  msgid ""
  1.5660  "Merging <emphasis>part</emphasis> of one patch into another is more difficult "
  1.5661  "than combining entire patches."
  1.5662  msgstr ""
  1.5663  
  1.5664  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5665 -#: ../en/ch12-mq.xml:1257
  1.5666 +#: ../en/ch12-mq.xml:1258
  1.5667  msgid ""
  1.5668  "If you want to move changes to entire files, you can use <command>filterdiff</"
  1.5669  "command>'s <option role=\"cmd-opt-filterdiff\">-i</option> and <option role="
  1.5670 @@ -15055,7 +15076,7 @@
  1.5671  msgstr ""
  1.5672  
  1.5673  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5674 -#: ../en/ch12-mq.xml:1270
  1.5675 +#: ../en/ch12-mq.xml:1271
  1.5676  msgid ""
  1.5677  "If you have a patch that has multiple hunks modifying a file, and you only "
  1.5678  "want to move a few of those hunks, the job becomes more messy, but you can "
  1.5679 @@ -15064,32 +15085,32 @@
  1.5680  msgstr ""
  1.5681  
  1.5682  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5683 -#: ../en/ch12-mq.xml:1278
  1.5684 +#: ../en/ch12-mq.xml:1279
  1.5685  msgid "This command prints three different kinds of number:"
  1.5686  msgstr ""
  1.5687  
  1.5688  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5689 -#: ../en/ch12-mq.xml:1281
  1.5690 +#: ../en/ch12-mq.xml:1282
  1.5691  msgid ""
  1.5692  "(in the first column) a <emphasis>file number</emphasis> to identify each "
  1.5693  "file modified in the patch;"
  1.5694  msgstr ""
  1.5695  
  1.5696  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5697 -#: ../en/ch12-mq.xml:1285
  1.5698 +#: ../en/ch12-mq.xml:1286
  1.5699  msgid ""
  1.5700  "(on the next line, indented) the line number within a modified file where a "
  1.5701  "hunk starts; and"
  1.5702  msgstr ""
  1.5703  
  1.5704  #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
  1.5705 -#: ../en/ch12-mq.xml:1288
  1.5706 +#: ../en/ch12-mq.xml:1289
  1.5707  msgid ""
  1.5708  "(on the same line) a <emphasis>hunk number</emphasis> to identify that hunk."
  1.5709  msgstr ""
  1.5710  
  1.5711  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5712 -#: ../en/ch12-mq.xml:1292
  1.5713 +#: ../en/ch12-mq.xml:1293
  1.5714  msgid ""
  1.5715  "You'll have to use some visual inspection, and reading of the patch, to "
  1.5716  "identify the file and hunk numbers you'll want, but you can then pass them to "
  1.5717 @@ -15099,7 +15120,7 @@
  1.5718  msgstr ""
  1.5719  
  1.5720  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5721 -#: ../en/ch12-mq.xml:1300
  1.5722 +#: ../en/ch12-mq.xml:1301
  1.5723  msgid ""
  1.5724  "Once you have this hunk, you can concatenate it onto the end of your "
  1.5725  "destination patch and continue with the remainder of section <xref linkend="
  1.5726 @@ -15107,19 +15128,19 @@
  1.5727  msgstr ""
  1.5728  
  1.5729  #. type: Content of: <book><chapter><sect1><title>
  1.5730 -#: ../en/ch12-mq.xml:1307
  1.5731 +#: ../en/ch12-mq.xml:1308
  1.5732  msgid "Differences between quilt and MQ"
  1.5733  msgstr "MQ 与 quilt 的区别"
  1.5734  
  1.5735  #. type: Content of: <book><chapter><sect1><para>
  1.5736 -#: ../en/ch12-mq.xml:1309
  1.5737 +#: ../en/ch12-mq.xml:1310
  1.5738  msgid ""
  1.5739  "If you are already familiar with quilt, MQ provides a similar command set.  "
  1.5740  "There are a few differences in the way that it works."
  1.5741  msgstr ""
  1.5742  
  1.5743  #. type: Content of: <book><chapter><sect1><para>
  1.5744 -#: ../en/ch12-mq.xml:1313
  1.5745 +#: ../en/ch12-mq.xml:1314
  1.5746  msgid ""
  1.5747  "You will already have noticed that most quilt commands have MQ counterparts "
  1.5748  "that simply begin with a <quote><literal>q</literal></quote>.  The exceptions "
  1.5749 @@ -15765,7 +15786,7 @@
  1.5750  msgstr ""
  1.5751  
  1.5752  #
  1.5753 -#. 	&example.hg-interdiff;
  1.5754 +#. 	&example.hg-interdiff; 
  1.5755  #. type: Content of: <book><chapter><sect1><sect2><para>
  1.5756  #: ../en/ch13-mq-collab.xml:465
  1.5757  msgid ""