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 ""