hgbook
changeset 658:433040113eaf
Update file location in po files
author | Dongsheng Song <songdongsheng@live.cn> |
---|---|
date | Mon Mar 30 21:37:52 2009 +0800 (2009-03-30) |
parents | 1e020cb7d417 |
children | 8d130de70ebe |
files | po/zh.po |
line diff
1.1 --- a/po/zh.po Mon Mar 30 21:36:31 2009 +0800 1.2 +++ b/po/zh.po Mon Mar 30 21:37:52 2009 +0800 1.3 @@ -41,7 +41,7 @@ 1.4 msgid "" 1.5 msgstr "" 1.6 "Project-Id-Version: hgbook 1.2\n" 1.7 -"POT-Creation-Date: 2009-03-20 17:12+0800\n" 1.8 +"POT-Creation-Date: 2009-03-30 21:36+0800\n" 1.9 "PO-Revision-Date: 2009-03-20 17:12+0800\n" 1.10 "Last-Translator: \n" 1.11 "Language-Team: Simplified Chinese <i18n-zh@googlegroups.com >\n" 1.12 @@ -84,32 +84,32 @@ 1.13 "year> <holder>Bryan O'Sullivan</holder> </copyright>" 1.14 1.15 #. type: Content of: <book><appendix><title> 1.16 -#: ../en/appA-cmdref.xml:4 1.17 +#: ../en/appA-cmdref.xml:5 1.18 msgid "Command reference" 1.19 msgstr "命令参考" 1.20 1.21 #. type: Content of: <book><appendix><para> 1.22 -#: ../en/appA-cmdref.xml:6 1.23 +#: ../en/appA-cmdref.xml:7 1.24 msgid "" 1.25 "\\cmdref{add}{add files at the next commit} \\optref{add}{I}{include} \\optref" 1.26 "{add}{X}{exclude} \\optref{add}{n}{dry-run}" 1.27 msgstr "" 1.28 1.29 #. type: Content of: <book><appendix><para> 1.30 -#: ../en/appA-cmdref.xml:11 1.31 +#: ../en/appA-cmdref.xml:12 1.32 msgid "\\cmdref{diff}{print changes in history or working directory}" 1.33 msgstr "" 1.34 1.35 #. type: Content of: <book><appendix><para> 1.36 -#: ../en/appA-cmdref.xml:13 1.37 +#: ../en/appA-cmdref.xml:14 1.38 msgid "" 1.39 "Show differences between revisions for the specified files or directories, " 1.40 "using the unified diff format. For a description of the unified diff format, " 1.41 -"see section <xref linkend=\"sec.mq.patch\"/>." 1.42 +"see <xref linkend=\"sec:mq:patch\"/>." 1.43 msgstr "" 1.44 1.45 #. type: Content of: <book><appendix><para> 1.46 -#: ../en/appA-cmdref.xml:17 1.47 +#: ../en/appA-cmdref.xml:18 1.48 msgid "" 1.49 "By default, this command does not print diffs for files that Mercurial " 1.50 "considers to contain binary data. To control this behaviour, see the <option " 1.51 @@ -118,59 +118,59 @@ 1.52 msgstr "" 1.53 1.54 #. type: Content of: <book><appendix><sect2><title> 1.55 -#: ../en/appA-cmdref.xml:22 1.56 +#: ../en/appA-cmdref.xml:23 1.57 msgid "Options" 1.58 msgstr "选项" 1.59 1.60 #. type: Content of: <book><appendix><sect2><para> 1.61 -#: ../en/appA-cmdref.xml:24 1.62 +#: ../en/appA-cmdref.xml:25 1.63 msgid "\\loptref{diff}{nodates}" 1.64 msgstr "" 1.65 1.66 #. type: Content of: <book><appendix><sect2><para> 1.67 -#: ../en/appA-cmdref.xml:26 1.68 +#: ../en/appA-cmdref.xml:27 1.69 msgid "Omit date and time information when printing diff headers." 1.70 msgstr "" 1.71 1.72 #. type: Content of: <book><appendix><sect2><para> 1.73 -#: ../en/appA-cmdref.xml:28 1.74 +#: ../en/appA-cmdref.xml:29 1.75 msgid "\\optref{diff}{B}{ignore-blank-lines}" 1.76 msgstr "" 1.77 1.78 #. type: Content of: <book><appendix><sect2><para> 1.79 -#: ../en/appA-cmdref.xml:30 1.80 +#: ../en/appA-cmdref.xml:31 1.81 msgid "" 1.82 "Do not print changes that only insert or delete blank lines. A line that " 1.83 "contains only whitespace is not considered blank." 1.84 msgstr "" 1.85 1.86 #. type: Content of: <book><appendix><sect2><para> 1.87 -#: ../en/appA-cmdref.xml:34 1.88 +#: ../en/appA-cmdref.xml:35 1.89 msgid "\\optref{diff}{I}{include}" 1.90 msgstr "" 1.91 1.92 #. type: Content of: <book><appendix><sect2><para> 1.93 -#: ../en/appA-cmdref.xml:37 1.94 +#: ../en/appA-cmdref.xml:38 1.95 msgid "Include files and directories whose names match the given patterns." 1.96 msgstr "" 1.97 1.98 #. type: Content of: <book><appendix><sect2><para> 1.99 -#: ../en/appA-cmdref.xml:40 1.100 +#: ../en/appA-cmdref.xml:41 1.101 msgid "\\optref{diff}{X}{exclude}" 1.102 msgstr "" 1.103 1.104 #. type: Content of: <book><appendix><sect2><para> 1.105 -#: ../en/appA-cmdref.xml:43 1.106 +#: ../en/appA-cmdref.xml:44 1.107 msgid "Exclude files and directories whose names match the given patterns." 1.108 msgstr "" 1.109 1.110 #. type: Content of: <book><appendix><sect2><para> 1.111 -#: ../en/appA-cmdref.xml:46 1.112 +#: ../en/appA-cmdref.xml:47 1.113 msgid "\\optref{diff}{a}{text}" 1.114 msgstr "" 1.115 1.116 #. type: Content of: <book><appendix><sect2><para> 1.117 -#: ../en/appA-cmdref.xml:49 1.118 +#: ../en/appA-cmdref.xml:50 1.119 msgid "" 1.120 "If this option is not specified, <command role=\"hg-cmd\">hg diff</command> " 1.121 "will refuse to print diffs for files that it detects as binary. Specifying " 1.122 @@ -179,7 +179,7 @@ 1.123 msgstr "" 1.124 1.125 #. type: Content of: <book><appendix><sect2><para> 1.126 -#: ../en/appA-cmdref.xml:55 1.127 +#: ../en/appA-cmdref.xml:56 1.128 msgid "" 1.129 "This option is useful for files that are <quote>mostly text</quote> but have " 1.130 "a few embedded NUL characters. If you use it on files that contain a lot of " 1.131 @@ -187,36 +187,36 @@ 1.132 msgstr "" 1.133 1.134 #. type: Content of: <book><appendix><sect2><para> 1.135 -#: ../en/appA-cmdref.xml:60 1.136 +#: ../en/appA-cmdref.xml:61 1.137 msgid "\\optref{diff}{b}{ignore-space-change}" 1.138 msgstr "" 1.139 1.140 #. type: Content of: <book><appendix><sect2><para> 1.141 -#: ../en/appA-cmdref.xml:63 1.142 +#: ../en/appA-cmdref.xml:64 1.143 msgid "" 1.144 "Do not print a line if the only change to that line is in the amount of white " 1.145 "space it contains." 1.146 msgstr "" 1.147 1.148 #. type: Content of: <book><appendix><sect2><para> 1.149 -#: ../en/appA-cmdref.xml:67 1.150 +#: ../en/appA-cmdref.xml:68 1.151 msgid "\\optref{diff}{g}{git}" 1.152 msgstr "" 1.153 1.154 #. type: Content of: <book><appendix><sect2><para> 1.155 -#: ../en/appA-cmdref.xml:70 1.156 +#: ../en/appA-cmdref.xml:71 1.157 msgid "" 1.158 "Print <command>git</command>-compatible diffs. XXX reference a format " 1.159 "description." 1.160 msgstr "" 1.161 1.162 #. type: Content of: <book><appendix><sect2><para> 1.163 -#: ../en/appA-cmdref.xml:74 1.164 +#: ../en/appA-cmdref.xml:75 1.165 msgid "\\optref{diff}{p}{show-function}" 1.166 msgstr "" 1.167 1.168 #. type: Content of: <book><appendix><sect2><para> 1.169 -#: ../en/appA-cmdref.xml:77 1.170 +#: ../en/appA-cmdref.xml:78 1.171 msgid "" 1.172 "Display the name of the enclosing function in a hunk header, using a simple " 1.173 "heuristic. This functionality is enabled by default, so the <option role=" 1.174 @@ -226,12 +226,12 @@ 1.175 msgstr "" 1.176 1.177 #. type: Content of: <book><appendix><sect2><para> 1.178 -#: ../en/appA-cmdref.xml:84 1.179 +#: ../en/appA-cmdref.xml:85 1.180 msgid "\\optref{diff}{r}{rev}" 1.181 msgstr "" 1.182 1.183 #. type: Content of: <book><appendix><sect2><para> 1.184 -#: ../en/appA-cmdref.xml:87 1.185 +#: ../en/appA-cmdref.xml:88 1.186 msgid "" 1.187 "Specify one or more revisions to compare. The <command role=\"hg-cmd\">hg " 1.188 "diff</command> command accepts up to two <option role=\"hg-opt-diff\">-r</" 1.189 @@ -239,26 +239,26 @@ 1.190 msgstr "" 1.191 1.192 #. type: Content of: <book><appendix><sect2><orderedlist><listitem><para> 1.193 -#: ../en/appA-cmdref.xml:93 1.194 +#: ../en/appA-cmdref.xml:94 1.195 msgid "" 1.196 "Display the differences between the parent revision of the working directory " 1.197 "and the working directory." 1.198 msgstr "" 1.199 1.200 #. type: Content of: <book><appendix><sect2><orderedlist><listitem><para> 1.201 -#: ../en/appA-cmdref.xml:97 1.202 +#: ../en/appA-cmdref.xml:98 1.203 msgid "" 1.204 "Display the differences between the specified changeset and the working " 1.205 "directory." 1.206 msgstr "" 1.207 1.208 #. type: Content of: <book><appendix><sect2><orderedlist><listitem><para> 1.209 -#: ../en/appA-cmdref.xml:101 1.210 +#: ../en/appA-cmdref.xml:102 1.211 msgid "Display the differences between the two specified changesets." 1.212 msgstr "" 1.213 1.214 #. type: Content of: <book><appendix><sect2><para> 1.215 -#: ../en/appA-cmdref.xml:105 1.216 +#: ../en/appA-cmdref.xml:106 1.217 msgid "" 1.218 "You can specify two revisions using either two <option role=\"hg-opt-diff\">-" 1.219 "r</option> options or revision range notation. For example, the two revision " 1.220 @@ -266,7 +266,7 @@ 1.221 msgstr "" 1.222 1.223 #. type: Content of: <book><appendix><sect2><para> 1.224 -#: ../en/appA-cmdref.xml:112 1.225 +#: ../en/appA-cmdref.xml:113 1.226 msgid "" 1.227 "When you provide two revisions, Mercurial treats the order of those revisions " 1.228 "as significant. Thus, <command role=\"hg-cmd\">hg diff -r10:20</command> " 1.229 @@ -279,24 +279,24 @@ 1.230 msgstr "" 1.231 1.232 #. type: Content of: <book><appendix><sect2><para> 1.233 -#: ../en/appA-cmdref.xml:122 1.234 +#: ../en/appA-cmdref.xml:123 1.235 msgid "\\optref{diff}{w}{ignore-all-space}" 1.236 msgstr "" 1.237 1.238 #. type: Content of: <book><appendix><sect2><para> 1.239 -#: ../en/appA-cmdref.xml:125 1.240 +#: ../en/appA-cmdref.xml:126 1.241 msgid "\\cmdref{version}{print version and copyright information}" 1.242 msgstr "" 1.243 1.244 #. type: Content of: <book><appendix><sect2><para> 1.245 -#: ../en/appA-cmdref.xml:128 1.246 +#: ../en/appA-cmdref.xml:129 1.247 msgid "" 1.248 "This command displays the version of Mercurial you are running, and its " 1.249 "copyright license. There are four kinds of version string that you may see." 1.250 msgstr "" 1.251 1.252 #. type: Content of: <book><appendix><sect2><itemizedlist><listitem><para> 1.253 -#: ../en/appA-cmdref.xml:133 1.254 +#: ../en/appA-cmdref.xml:134 1.255 msgid "" 1.256 "The string <quote><literal>unknown</literal></quote>. This version of " 1.257 "Mercurial was not built in a Mercurial repository, and cannot determine its " 1.258 @@ -304,7 +304,7 @@ 1.259 msgstr "" 1.260 1.261 #. type: Content of: <book><appendix><sect2><itemizedlist><listitem><para> 1.262 -#: ../en/appA-cmdref.xml:138 1.263 +#: ../en/appA-cmdref.xml:139 1.264 msgid "" 1.265 "A short numeric string, such as <quote><literal>1.1</literal></quote>. This " 1.266 "is a build of a revision of Mercurial that was identified by a specific tag " 1.267 @@ -314,14 +314,14 @@ 1.268 msgstr "" 1.269 1.270 #. type: Content of: <book><appendix><sect2><itemizedlist><listitem><para> 1.271 -#: ../en/appA-cmdref.xml:146 1.272 +#: ../en/appA-cmdref.xml:147 1.273 msgid "" 1.274 "A hexadecimal string, such as <quote><literal>875489e31abe</literal></" 1.275 "quote>. This is a build of the given revision of Mercurial." 1.276 msgstr "" 1.277 1.278 #. type: Content of: <book><appendix><sect2><itemizedlist><listitem><para> 1.279 -#: ../en/appA-cmdref.xml:150 1.280 +#: ../en/appA-cmdref.xml:151 1.281 msgid "" 1.282 "A hexadecimal string followed by a date, such as <quote><literal>875489e31abe" 1.283 "+20070205</literal></quote>. This is a build of the given revision of " 1.284 @@ -330,12 +330,12 @@ 1.285 msgstr "" 1.286 1.287 #. type: Content of: <book><appendix><sect2><title> 1.288 -#: ../en/appA-cmdref.xml:159 1.289 +#: ../en/appA-cmdref.xml:160 1.290 msgid "Tips and tricks" 1.291 msgstr "" 1.292 1.293 #. type: Content of: <book><appendix><sect2><sect3><title> 1.294 -#: ../en/appA-cmdref.xml:162 1.295 +#: ../en/appA-cmdref.xml:163 1.296 msgid "" 1.297 "Why do the results of <command role=\"hg-cmd\">hg diff</command> and <command " 1.298 "role=\"hg-cmd\">hg status</command> differ?" 1.299 @@ -344,7 +344,7 @@ 1.300 "\">hg status</command> 的结果不同 ?" 1.301 1.302 #. type: Content of: <book><appendix><sect2><sect3><para> 1.303 -#: ../en/appA-cmdref.xml:164 1.304 +#: ../en/appA-cmdref.xml:165 1.305 msgid "" 1.306 "When you run the <command role=\"hg-cmd\">hg status</command> command, you'll " 1.307 "see a list of files that Mercurial will record changes for the next time you " 1.308 @@ -355,7 +355,7 @@ 1.309 msgstr "" 1.310 1.311 #. type: Content of: <book><appendix><sect2><sect3><para> 1.312 -#: ../en/appA-cmdref.xml:171 1.313 +#: ../en/appA-cmdref.xml:172 1.314 msgid "" 1.315 "The first is that <command role=\"hg-cmd\">hg status</command> prints some " 1.316 "kinds of modifications that <command role=\"hg-cmd\">hg diff</command> " 1.317 @@ -367,7 +367,7 @@ 1.318 msgstr "" 1.319 1.320 #. type: Content of: <book><appendix><sect2><sect3><para> 1.321 -#: ../en/appA-cmdref.xml:179 1.322 +#: ../en/appA-cmdref.xml:180 1.323 msgid "" 1.324 "If you use the <option role=\"hg-opt-diff\">--git</option> option to <command " 1.325 "role=\"hg-cmd\">hg diff</command>, it will display <command>git</command>-" 1.326 @@ -375,7 +375,7 @@ 1.327 msgstr "" 1.328 1.329 #. type: Content of: <book><appendix><sect2><sect3><para> 1.330 -#: ../en/appA-cmdref.xml:184 1.331 +#: ../en/appA-cmdref.xml:185 1.332 msgid "" 1.333 "The second possible reason that <command role=\"hg-cmd\">hg diff</command> " 1.334 "might be printing diffs for a subset of the files displayed by <command role=" 1.335 @@ -394,12 +394,12 @@ 1.336 msgstr "" 1.337 1.338 #. type: Content of: <book><appendix><sect2><sect3><title> 1.339 -#: ../en/appA-cmdref.xml:200 1.340 +#: ../en/appA-cmdref.xml:201 1.341 msgid "Generating safe binary diffs" 1.342 msgstr "生成安全的二进制差异" 1.343 1.344 #. type: Content of: <book><appendix><sect2><sect3><para> 1.345 -#: ../en/appA-cmdref.xml:202 1.346 +#: ../en/appA-cmdref.xml:203 1.347 msgid "" 1.348 "If you use the <option role=\"hg-opt-diff\">-a</option> option to force " 1.349 "Mercurial to print diffs of files that are either <quote>mostly text</quote> " 1.350 @@ -409,7 +409,7 @@ 1.351 msgstr "" 1.352 1.353 #. type: Content of: <book><appendix><sect2><sect3><para> 1.354 -#: ../en/appA-cmdref.xml:209 1.355 +#: ../en/appA-cmdref.xml:210 1.356 msgid "" 1.357 "If you want to generate a diff of a binary file that is safe to use as input " 1.358 "for <command role=\"hg-cmd\">hg import</command>, use the <command role=\"hg-" 1.359 @@ -1318,8 +1318,8 @@ 1.360 #: ../en/appD-license.xml:33 1.361 msgid "" 1.362 "The reference must be immediately followed with any options elected by the " 1.363 -"author(s) and/or publisher of the document (see section <xref linkend=\"sec." 1.364 -"opl.options\"/>)." 1.365 +"author(s) and/or publisher of the document (see <xref linkend=\"sec:opl:" 1.366 +"options\"/>)." 1.367 msgstr "" 1.368 1.369 #. type: Content of: <book><appendix><sect1><para> 1.370 @@ -1607,7 +1607,7 @@ 1.371 "turns out to be in error, you can revert to an earlier version of one or more " 1.372 "files. In fact, a <emphasis>really</emphasis> good revision control tool " 1.373 "will even help you to efficiently figure out exactly when a problem was " 1.374 -"introduced (see section <xref linkend=\"sec.undo.bisect\"/> for details)." 1.375 +"introduced (see <xref linkend=\"sec:undo:bisect\"/> for details)." 1.376 msgstr "" 1.377 1.378 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para> 1.379 @@ -1773,8 +1773,8 @@ 1.380 msgid "" 1.381 "As an instance of this, several consecutive commits in an example can show up " 1.382 "as having occurred during the same second. You can see this occur in the " 1.383 -"<literal role=\"hg-ext\">bisect</literal> example in section <xref linkend=" 1.384 -"\"sec.undo.bisect\"/>, for instance." 1.385 +"<literal role=\"hg-ext\">bisect</literal> example in <xref linkend=\"sec:undo:" 1.386 +"bisect\"/>, for instance." 1.387 msgstr "" 1.388 1.389 #. type: Content of: <book><preface><sect1><para> 1.390 @@ -2907,48 +2907,53 @@ 1.391 #. type: Content of: <book><chapter><sect1><para> 1.392 #: ../en/ch01-tour-basic.xml:249 1.393 msgid "" 1.394 -"Figure <xref endterm=\"fig.tour-basic.history.caption\" linkend=\"fig.tour-" 1.395 -"basic.history\"/> provides a graphical representation of the history of the " 1.396 -"<filename class=\"directory\">hello</filename> repository, to make it a " 1.397 -"little easier to see which direction history is <quote>flowing</quote> in. " 1.398 -"We'll be returning to this figure several times in this chapter and the " 1.399 -"chapter that follows." 1.400 -msgstr "" 1.401 - 1.402 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject> 1.403 -#: ../en/ch01-tour-basic.xml:260 1.404 -msgid "" 1.405 -"<imageobject><imagedata fileref=\"images/tour-history.png\"/></imageobject>" 1.406 -msgstr "" 1.407 - 1.408 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><textobject><phrase> 1.409 -#: ../en/ch01-tour-basic.xml:261 ../en/ch02-tour-merge.xml:48 1.410 -#: ../en/ch02-tour-merge.xml:78 ../en/ch02-tour-merge.xml:126 1.411 -#: ../en/ch02-tour-merge.xml:182 ../en/ch02-tour-merge.xml:254 1.412 -#: ../en/ch03-concepts.xml:56 ../en/ch03-concepts.xml:108 1.413 -#: ../en/ch03-concepts.xml:194 ../en/ch03-concepts.xml:301 1.414 -#: ../en/ch03-concepts.xml:353 ../en/ch03-concepts.xml:370 1.415 -#: ../en/ch03-concepts.xml:414 ../en/ch03-concepts.xml:436 1.416 -#: ../en/ch03-concepts.xml:480 ../en/ch05-collab.xml:277 1.417 -#: ../en/ch08-undo.xml:366 ../en/ch08-undo.xml:417 ../en/ch08-undo.xml:485 1.418 -#: ../en/ch08-undo.xml:527 ../en/ch11-mq.xml:410 1.419 -msgid "XXX add text" 1.420 -msgstr "" 1.421 - 1.422 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para> 1.423 -#: ../en/ch01-tour-basic.xml:262 1.424 +"<xref linkend=\"fig:tour-basic:history\"/> provides a graphical " 1.425 +"representation of the history of the <filename class=\"directory\">hello</" 1.426 +"filename> repository, to make it a little easier to see which direction " 1.427 +"history is <quote>flowing</quote> in. We'll be returning to this figure " 1.428 +"several times in this chapter and the chapter that follows." 1.429 +msgstr "" 1.430 + 1.431 +#. type: Content of: <book><chapter><sect1><figure><title> 1.432 +#: ../en/ch01-tour-basic.xml:258 1.433 msgid "" 1.434 "Graphical history of the <filename class=\"directory\">hello</filename> " 1.435 "repository" 1.436 msgstr "" 1.437 1.438 +#. type: Content of: <book><chapter><sect1><figure> 1.439 +#: ../en/ch01-tour-basic.xml:260 ../en/ch02-tour-merge.xml:50 1.440 +#: ../en/ch02-tour-merge.xml:181 ../en/ch03-concepts.xml:293 1.441 +msgid "<placeholder type=\"mediaobject\" id=\"0\"/>" 1.442 +msgstr "" 1.443 + 1.444 +#. type: Content of: <book><chapter><sect1><figure><mediaobject> 1.445 +#: ../en/ch01-tour-basic.xml:261 1.446 +msgid "" 1.447 +"<imageobject><imagedata fileref=\"figs/tour-history.png\"/></imageobject>" 1.448 +msgstr "" 1.449 + 1.450 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject><textobject><phrase> 1.451 +#: ../en/ch01-tour-basic.xml:262 ../en/ch02-tour-merge.xml:52 1.452 +#: ../en/ch02-tour-merge.xml:82 ../en/ch02-tour-merge.xml:129 1.453 +#: ../en/ch02-tour-merge.xml:183 ../en/ch02-tour-merge.xml:254 1.454 +#: ../en/ch03-concepts.xml:57 ../en/ch03-concepts.xml:106 1.455 +#: ../en/ch03-concepts.xml:191 ../en/ch03-concepts.xml:295 1.456 +#: ../en/ch03-concepts.xml:346 ../en/ch03-concepts.xml:361 1.457 +#: ../en/ch03-concepts.xml:402 ../en/ch03-concepts.xml:422 1.458 +#: ../en/ch03-concepts.xml:465 ../en/ch05-collab.xml:276 1.459 +#: ../en/ch08-undo.xml:365 ../en/ch08-undo.xml:412 ../en/ch08-undo.xml:477 1.460 +#: ../en/ch08-undo.xml:515 ../en/ch11-mq.xml:412 1.461 +msgid "XXX add text" 1.462 +msgstr "" 1.463 + 1.464 #. type: Content of: <book><chapter><sect1><sect2><title> 1.465 -#: ../en/ch01-tour-basic.xml:269 1.466 +#: ../en/ch01-tour-basic.xml:267 1.467 msgid "Changesets, revisions, and talking to other people" 1.468 msgstr "改变集,版本,与其它用户交互" 1.469 1.470 #. type: Content of: <book><chapter><sect1><sect2><para> 1.471 -#: ../en/ch01-tour-basic.xml:272 1.472 +#: ../en/ch01-tour-basic.xml:270 1.473 msgid "" 1.474 "As English is a notoriously sloppy language, and computer science has a " 1.475 "hallowed history of terminological confusion (why use one term when four will " 1.476 @@ -2960,7 +2965,7 @@ 1.477 msgstr "" 1.478 1.479 #. type: Content of: <book><chapter><sect1><sect2><para> 1.480 -#: ../en/ch01-tour-basic.xml:282 1.481 +#: ../en/ch01-tour-basic.xml:280 1.482 msgid "" 1.483 "While it doesn't matter what <emphasis>word</emphasis> you use to refer to " 1.484 "the concept of <quote>a changeset</quote>, the <emphasis>identifier</" 1.485 @@ -2971,21 +2976,21 @@ 1.486 msgstr "" 1.487 1.488 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.489 +#: ../en/ch01-tour-basic.xml:289 1.490 +msgid "" 1.491 +"The revision number is <emphasis>only valid in that repository</emphasis>," 1.492 +msgstr "" 1.493 + 1.494 +#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.495 #: ../en/ch01-tour-basic.xml:291 1.496 msgid "" 1.497 -"The revision number is <emphasis>only valid in that repository</emphasis>," 1.498 -msgstr "" 1.499 - 1.500 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.501 -#: ../en/ch01-tour-basic.xml:293 1.502 -msgid "" 1.503 "while the hex string is the <emphasis>permanent, unchanging identifier</" 1.504 "emphasis> that will always identify that exact changeset in <emphasis>every</" 1.505 "emphasis> copy of the repository." 1.506 msgstr "" 1.507 1.508 #. type: Content of: <book><chapter><sect1><sect2><para> 1.509 -#: ../en/ch01-tour-basic.xml:298 1.510 +#: ../en/ch01-tour-basic.xml:296 1.511 msgid "" 1.512 "This distinction is important. If you send someone an email talking about " 1.513 "<quote>revision 33</quote>, there's a high likelihood that their revision 33 " 1.514 @@ -2997,7 +3002,7 @@ 1.515 msgstr "" 1.516 1.517 #. type: Content of: <book><chapter><sect1><sect2><para> 1.518 -#: ../en/ch01-tour-basic.xml:308 1.519 +#: ../en/ch01-tour-basic.xml:306 1.520 msgid "" 1.521 "Mercurial uses revision numbers purely as a convenient shorthand. If you " 1.522 "need to discuss a changeset with someone, or make a record of a changeset for " 1.523 @@ -3006,12 +3011,12 @@ 1.524 msgstr "" 1.525 1.526 #. type: Content of: <book><chapter><sect1><sect2><title> 1.527 -#: ../en/ch01-tour-basic.xml:316 1.528 +#: ../en/ch01-tour-basic.xml:314 1.529 msgid "Viewing specific revisions" 1.530 msgstr "察看指定版本" 1.531 1.532 #. type: Content of: <book><chapter><sect1><sect2><para> 1.533 -#: ../en/ch01-tour-basic.xml:318 1.534 +#: ../en/ch01-tour-basic.xml:316 1.535 msgid "" 1.536 "To narrow the output of <command role=\"hg-cmd\">hg log</command> down to a " 1.537 "single revision, use the <option role=\"hg-opt-log\">-r</option> (or <option " 1.538 @@ -3021,7 +3026,7 @@ 1.539 msgstr "" 1.540 1.541 #. type: Content of: <book><chapter><sect1><sect2><para> 1.542 -#: ../en/ch01-tour-basic.xml:327 1.543 +#: ../en/ch01-tour-basic.xml:325 1.544 msgid "" 1.545 "If you want to see the history of several revisions without having to list " 1.546 "each one, you can use <emphasis>range notation</emphasis>; this lets you " 1.547 @@ -3030,7 +3035,7 @@ 1.548 msgstr "" 1.549 1.550 #. type: Content of: <book><chapter><sect1><sect2><para> 1.551 -#: ../en/ch01-tour-basic.xml:335 1.552 +#: ../en/ch01-tour-basic.xml:333 1.553 msgid "" 1.554 "Mercurial also honours the order in which you specify revisions, so <command " 1.555 "role=\"hg-cmd\">hg log -r 2:4</command> prints 2, 3, and 4. while <command " 1.556 @@ -3038,12 +3043,12 @@ 1.557 msgstr "" 1.558 1.559 #. type: Content of: <book><chapter><sect1><sect2><title> 1.560 -#: ../en/ch01-tour-basic.xml:342 1.561 +#: ../en/ch01-tour-basic.xml:340 1.562 msgid "More detailed information" 1.563 msgstr "更详细的信息" 1.564 1.565 #. type: Content of: <book><chapter><sect1><sect2><para> 1.566 -#: ../en/ch01-tour-basic.xml:344 1.567 +#: ../en/ch01-tour-basic.xml:342 1.568 msgid "" 1.569 "While the summary information printed by <command role=\"hg-cmd\">hg log</" 1.570 "command> is useful if you already know what you're looking for, you may need " 1.571 @@ -3055,22 +3060,22 @@ 1.572 msgstr "" 1.573 1.574 #. type: Content of: <book><chapter><sect1><sect2><para> 1.575 -#: ../en/ch01-tour-basic.xml:356 1.576 +#: ../en/ch01-tour-basic.xml:354 1.577 msgid "" 1.578 "If you want to see both the description and content of a change, add the " 1.579 "<option role=\"hg-opt-log\">-p</option> (or <option role=\"hg-opt-log\">--" 1.580 "patch</option>) option. This displays the content of a change as a " 1.581 "<emphasis>unified diff</emphasis> (if you've never seen a unified diff " 1.582 -"before, see section <xref linkend=\"sec.mq.patch\"/> for an overview)." 1.583 +"before, see <xref linkend=\"sec:mq:patch\"/> for an overview)." 1.584 msgstr "" 1.585 1.586 #. type: Content of: <book><chapter><sect1><title> 1.587 -#: ../en/ch01-tour-basic.xml:369 1.588 +#: ../en/ch01-tour-basic.xml:367 1.589 msgid "All about command options" 1.590 msgstr "命令选项" 1.591 1.592 #. type: Content of: <book><chapter><sect1><para> 1.593 -#: ../en/ch01-tour-basic.xml:371 1.594 +#: ../en/ch01-tour-basic.xml:369 1.595 msgid "" 1.596 "Let's take a brief break from exploring Mercurial commands to discuss a " 1.597 "pattern in the way that they work; you may find this useful to keep in mind " 1.598 @@ -3078,7 +3083,7 @@ 1.599 msgstr "" 1.600 1.601 #. type: Content of: <book><chapter><sect1><para> 1.602 -#: ../en/ch01-tour-basic.xml:375 1.603 +#: ../en/ch01-tour-basic.xml:373 1.604 msgid "" 1.605 "Mercurial has a consistent and straightforward approach to dealing with the " 1.606 "options that you can pass to commands. It follows the conventions for " 1.607 @@ -3086,7 +3091,7 @@ 1.608 msgstr "" 1.609 1.610 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.611 -#: ../en/ch01-tour-basic.xml:380 1.612 +#: ../en/ch01-tour-basic.xml:378 1.613 msgid "" 1.614 "Every option has a long name. For example, as we've already seen, the " 1.615 "<command role=\"hg-cmd\">hg log</command> command accepts a <option role=\"hg-" 1.616 @@ -3094,7 +3099,7 @@ 1.617 msgstr "" 1.618 1.619 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.620 -#: ../en/ch01-tour-basic.xml:384 1.621 +#: ../en/ch01-tour-basic.xml:382 1.622 msgid "" 1.623 "Most options have short names, too. Instead of <option role=\"hg-opt-log\">--" 1.624 "rev</option>, we can use <option role=\"hg-opt-log\">-r</option>. (The " 1.625 @@ -3103,7 +3108,7 @@ 1.626 msgstr "" 1.627 1.628 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.629 -#: ../en/ch01-tour-basic.xml:389 1.630 +#: ../en/ch01-tour-basic.xml:387 1.631 msgid "" 1.632 "Long options start with two dashes (e.g. <option role=\"hg-opt-log\">--rev</" 1.633 "option>), while short options start with one (e.g. <option role=\"hg-opt-log" 1.634 @@ -3111,7 +3116,7 @@ 1.635 msgstr "" 1.636 1.637 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.638 -#: ../en/ch01-tour-basic.xml:393 1.639 +#: ../en/ch01-tour-basic.xml:391 1.640 msgid "" 1.641 "Option naming and usage is consistent across commands. For example, every " 1.642 "command that lets you specify a changeset ID or revision number accepts both " 1.643 @@ -3120,7 +3125,7 @@ 1.644 msgstr "" 1.645 1.646 #. type: Content of: <book><chapter><sect1><para> 1.647 -#: ../en/ch01-tour-basic.xml:399 1.648 +#: ../en/ch01-tour-basic.xml:397 1.649 msgid "" 1.650 "In the examples throughout this book, I use short options instead of long. " 1.651 "This just reflects my own preference, so don't read anything significant into " 1.652 @@ -3128,7 +3133,7 @@ 1.653 msgstr "" 1.654 1.655 #. type: Content of: <book><chapter><sect1><para> 1.656 -#: ../en/ch01-tour-basic.xml:403 1.657 +#: ../en/ch01-tour-basic.xml:401 1.658 msgid "" 1.659 "Most commands that print output of some kind will print more output when " 1.660 "passed a <option role=\"hg-opt-global\">-v</option> (or <option role=\"hg-opt-" 1.661 @@ -3137,19 +3142,19 @@ 1.662 msgstr "" 1.663 1.664 #. type: Content of: <book><chapter><sect1><title> 1.665 -#: ../en/ch01-tour-basic.xml:411 1.666 +#: ../en/ch01-tour-basic.xml:409 1.667 msgid "Making and reviewing changes" 1.668 msgstr "创建和复审修改" 1.669 1.670 #. type: Content of: <book><chapter><sect1><para> 1.671 -#: ../en/ch01-tour-basic.xml:413 1.672 +#: ../en/ch01-tour-basic.xml:411 1.673 msgid "" 1.674 "Now that we have a grasp of viewing history in Mercurial, let's take a look " 1.675 "at making some changes and examining them." 1.676 msgstr "" 1.677 1.678 #. type: Content of: <book><chapter><sect1><para> 1.679 -#: ../en/ch01-tour-basic.xml:417 1.680 +#: ../en/ch01-tour-basic.xml:415 1.681 msgid "" 1.682 "The first thing we'll do is isolate our experiment in a repository of its " 1.683 "own. We use the <command role=\"hg-cmd\">hg clone</command> command, but we " 1.684 @@ -3160,7 +3165,7 @@ 1.685 msgstr "" 1.686 1.687 #. type: Content of: <book><chapter><sect1><para> 1.688 -#: ../en/ch01-tour-basic.xml:427 1.689 +#: ../en/ch01-tour-basic.xml:425 1.690 msgid "" 1.691 "As an aside, it's often good practice to keep a <quote>pristine</quote> copy " 1.692 "of a remote repository around, which you can then make temporary clones of to " 1.693 @@ -3172,7 +3177,7 @@ 1.694 msgstr "" 1.695 1.696 #. type: Content of: <book><chapter><sect1><para> 1.697 -#: ../en/ch01-tour-basic.xml:436 1.698 +#: ../en/ch01-tour-basic.xml:434 1.699 msgid "" 1.700 "In our <filename class=\"directory\">my-hello</filename> repository, we have " 1.701 "a file <filename>hello.c</filename> that contains the classic <quote>hello, " 1.702 @@ -3185,14 +3190,14 @@ 1.703 msgstr "" 1.704 1.705 #. type: Content of: <book><chapter><sect1><para> 1.706 -#: ../en/ch01-tour-basic.xml:449 1.707 +#: ../en/ch01-tour-basic.xml:447 1.708 msgid "" 1.709 "Mercurial's <command role=\"hg-cmd\">hg status</command> command will tell us " 1.710 "what Mercurial knows about the files in the repository." 1.711 msgstr "" 1.712 1.713 #. type: Content of: <book><chapter><sect1><para> 1.714 -#: ../en/ch01-tour-basic.xml:455 1.715 +#: ../en/ch01-tour-basic.xml:453 1.716 msgid "" 1.717 "The <command role=\"hg-cmd\">hg status</command> command prints no output for " 1.718 "some files, but a line starting with <quote><literal>M</literal></quote> for " 1.719 @@ -3202,7 +3207,7 @@ 1.720 msgstr "" 1.721 1.722 #. type: Content of: <book><chapter><sect1><para> 1.723 -#: ../en/ch01-tour-basic.xml:462 1.724 +#: ../en/ch01-tour-basic.xml:460 1.725 msgid "" 1.726 "The <quote><literal>M</literal></quote> indicates that Mercurial has noticed " 1.727 "that we modified <filename>hello.c</filename>. We didn't need to " 1.728 @@ -3212,7 +3217,7 @@ 1.729 msgstr "" 1.730 1.731 #. type: Content of: <book><chapter><sect1><para> 1.732 -#: ../en/ch01-tour-basic.xml:470 1.733 +#: ../en/ch01-tour-basic.xml:468 1.734 msgid "" 1.735 "It's a little bit helpful to know that we've modified <filename>hello.c</" 1.736 "filename>, but we might prefer to know exactly <emphasis>what</emphasis> " 1.737 @@ -3221,12 +3226,12 @@ 1.738 msgstr "" 1.739 1.740 #. type: Content of: <book><chapter><sect1><title> 1.741 -#: ../en/ch01-tour-basic.xml:480 1.742 +#: ../en/ch01-tour-basic.xml:478 1.743 msgid "Recording changes in a new changeset" 1.744 msgstr "在新修改集中记录修改" 1.745 1.746 #. type: Content of: <book><chapter><sect1><para> 1.747 -#: ../en/ch01-tour-basic.xml:482 1.748 +#: ../en/ch01-tour-basic.xml:480 1.749 msgid "" 1.750 "We can modify files, build and test our changes, and use <command role=\"hg-" 1.751 "cmd\">hg status</command> and <command role=\"hg-cmd\">hg diff</command> to " 1.752 @@ -3235,7 +3240,7 @@ 1.753 msgstr "" 1.754 1.755 #. type: Content of: <book><chapter><sect1><para> 1.756 -#: ../en/ch01-tour-basic.xml:489 1.757 +#: ../en/ch01-tour-basic.xml:487 1.758 msgid "" 1.759 "The <command role=\"hg-cmd\">hg commit</command> command lets us create a new " 1.760 "changeset; we'll usually refer to this as <quote>making a commit</quote> or " 1.761 @@ -3243,12 +3248,12 @@ 1.762 msgstr "" 1.763 1.764 #. type: Content of: <book><chapter><sect1><sect2><title> 1.765 -#: ../en/ch01-tour-basic.xml:495 1.766 +#: ../en/ch01-tour-basic.xml:493 1.767 msgid "Setting up a username" 1.768 msgstr "配置用户名称" 1.769 1.770 #. type: Content of: <book><chapter><sect1><sect2><para> 1.771 -#: ../en/ch01-tour-basic.xml:497 1.772 +#: ../en/ch01-tour-basic.xml:495 1.773 msgid "" 1.774 "When you try to run <command role=\"hg-cmd\">hg commit</command> for the " 1.775 "first time, it is not guaranteed to succeed. Mercurial records your name and " 1.776 @@ -3259,7 +3264,7 @@ 1.777 msgstr "" 1.778 1.779 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.780 -#: ../en/ch01-tour-basic.xml:506 1.781 +#: ../en/ch01-tour-basic.xml:504 1.782 msgid "" 1.783 "If you specify a <option role=\"hg-opt-commit\">-u</option> option to the " 1.784 "<command role=\"hg-cmd\">hg commit</command> command on the command line, " 1.785 @@ -3267,30 +3272,30 @@ 1.786 msgstr "" 1.787 1.788 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.789 -#: ../en/ch01-tour-basic.xml:511 1.790 +#: ../en/ch01-tour-basic.xml:509 1.791 msgid "" 1.792 "If you have set the <envar>HGUSER</envar> environment variable, this is " 1.793 "checked next." 1.794 msgstr "" 1.795 1.796 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.797 -#: ../en/ch01-tour-basic.xml:514 1.798 +#: ../en/ch01-tour-basic.xml:512 1.799 msgid "" 1.800 "If you create a file in your home directory called <filename role=\"special" 1.801 "\">.hgrc</filename>, with a <envar role=\"rc-item-ui\">username</envar> " 1.802 "entry, that will be used next. To see what the contents of this file should " 1.803 -"look like, refer to section <xref linkend=\"sec.tour-basic.username\"/> below." 1.804 +"look like, refer to <xref linkend=\"sec:tour-basic:username\"/> below." 1.805 msgstr "" 1.806 1.807 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.808 -#: ../en/ch01-tour-basic.xml:521 1.809 +#: ../en/ch01-tour-basic.xml:520 1.810 msgid "" 1.811 "If you have set the <envar>EMAIL</envar> environment variable, this will be " 1.812 "used next." 1.813 msgstr "" 1.814 1.815 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.816 -#: ../en/ch01-tour-basic.xml:524 1.817 +#: ../en/ch01-tour-basic.xml:523 1.818 msgid "" 1.819 "Mercurial will query your system to find out your local user name and host " 1.820 "name, and construct a username from these components. Since this often " 1.821 @@ -3299,7 +3304,7 @@ 1.822 msgstr "" 1.823 1.824 #. type: Content of: <book><chapter><sect1><sect2><para> 1.825 -#: ../en/ch01-tour-basic.xml:531 1.826 +#: ../en/ch01-tour-basic.xml:530 1.827 msgid "" 1.828 "If all of these mechanisms fail, Mercurial will fail, printing an error " 1.829 "message. In this case, it will not let you commit until you set up a " 1.830 @@ -3307,7 +3312,7 @@ 1.831 msgstr "" 1.832 1.833 #. type: Content of: <book><chapter><sect1><sect2><para> 1.834 -#: ../en/ch01-tour-basic.xml:535 1.835 +#: ../en/ch01-tour-basic.xml:534 1.836 msgid "" 1.837 "You should think of the <envar>HGUSER</envar> environment variable and the " 1.838 "<option role=\"hg-opt-commit\">-u</option> option to the <command role=\"hg-" 1.839 @@ -3318,12 +3323,12 @@ 1.840 msgstr "" 1.841 1.842 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.843 -#: ../en/ch01-tour-basic.xml:544 1.844 +#: ../en/ch01-tour-basic.xml:543 1.845 msgid "Creating a Mercurial configuration file" 1.846 msgstr "创建 Mercurial 的配置文件" 1.847 1.848 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.849 -#: ../en/ch01-tour-basic.xml:546 1.850 +#: ../en/ch01-tour-basic.xml:545 1.851 msgid "" 1.852 "To set a user name, use your favourite editor to create a file called " 1.853 "<filename role=\"special\">.hgrc</filename> in your home directory. " 1.854 @@ -3333,7 +3338,7 @@ 1.855 msgstr "" 1.856 1.857 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.858 -#: ../en/ch01-tour-basic.xml:558 1.859 +#: ../en/ch01-tour-basic.xml:557 1.860 msgid "" 1.861 "The <quote><literal>[ui]</literal></quote> line begins a <emphasis>section</" 1.862 "emphasis> of the config file, so you can read the <quote><literal>username " 1.863 @@ -3345,12 +3350,12 @@ 1.864 msgstr "" 1.865 1.866 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.867 -#: ../en/ch01-tour-basic.xml:571 1.868 +#: ../en/ch01-tour-basic.xml:570 1.869 msgid "Choosing a user name" 1.870 msgstr "选择用户名称" 1.871 1.872 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.873 -#: ../en/ch01-tour-basic.xml:573 1.874 +#: ../en/ch01-tour-basic.xml:572 1.875 msgid "" 1.876 "You can use any text you like as the value of the <literal>username</literal> " 1.877 "config item, since this information is for reading by other people, but for " 1.878 @@ -3359,7 +3364,7 @@ 1.879 msgstr "" 1.880 1.881 #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para> 1.882 -#: ../en/ch01-tour-basic.xml:580 1.883 +#: ../en/ch01-tour-basic.xml:579 1.884 msgid "" 1.885 "Mercurial's built-in web server obfuscates email addresses, to make it more " 1.886 "difficult for the email harvesting tools that spammers use. This reduces the " 1.887 @@ -3368,12 +3373,12 @@ 1.888 msgstr "" 1.889 1.890 #. type: Content of: <book><chapter><sect1><sect2><title> 1.891 -#: ../en/ch01-tour-basic.xml:590 1.892 +#: ../en/ch01-tour-basic.xml:589 1.893 msgid "Writing a commit message" 1.894 msgstr "写提交日志" 1.895 1.896 #. type: Content of: <book><chapter><sect1><sect2><para> 1.897 -#: ../en/ch01-tour-basic.xml:592 1.898 +#: ../en/ch01-tour-basic.xml:591 1.899 msgid "" 1.900 "When we commit a change, Mercurial drops us into a text editor, to enter a " 1.901 "message that will describe the modifications we've made in this changeset. " 1.902 @@ -3383,7 +3388,7 @@ 1.903 msgstr "" 1.904 1.905 #. type: Content of: <book><chapter><sect1><sect2><para> 1.906 -#: ../en/ch01-tour-basic.xml:602 1.907 +#: ../en/ch01-tour-basic.xml:601 1.908 msgid "" 1.909 "The editor that the <command role=\"hg-cmd\">hg commit</command> command " 1.910 "drops us into will contain an empty line, followed by a number of lines " 1.911 @@ -3391,7 +3396,7 @@ 1.912 msgstr "" 1.913 1.914 #. type: Content of: <book><chapter><sect1><sect2><para> 1.915 -#: ../en/ch01-tour-basic.xml:609 1.916 +#: ../en/ch01-tour-basic.xml:608 1.917 msgid "" 1.918 "Mercurial ignores the lines that start with <quote><literal>HG:</literal></" 1.919 "quote>; it uses them only to tell us which files it's recording changes to. " 1.920 @@ -3399,12 +3404,12 @@ 1.921 msgstr "" 1.922 1.923 #. type: Content of: <book><chapter><sect1><sect2><title> 1.924 -#: ../en/ch01-tour-basic.xml:615 1.925 +#: ../en/ch01-tour-basic.xml:614 1.926 msgid "Writing a good commit message" 1.927 msgstr "写好提交日志" 1.928 1.929 #. type: Content of: <book><chapter><sect1><sect2><para> 1.930 -#: ../en/ch01-tour-basic.xml:617 1.931 +#: ../en/ch01-tour-basic.xml:616 1.932 msgid "" 1.933 "Since <command role=\"hg-cmd\">hg log</command> only prints the first line of " 1.934 "a commit message by default, it's best to write a commit message whose first " 1.935 @@ -3414,7 +3419,7 @@ 1.936 msgstr "" 1.937 1.938 #. type: Content of: <book><chapter><sect1><sect2><para> 1.939 -#: ../en/ch01-tour-basic.xml:631 1.940 +#: ../en/ch01-tour-basic.xml:630 1.941 msgid "" 1.942 "As far as the remainder of the contents of the commit message are concerned, " 1.943 "there are no hard-and-fast rules. Mercurial itself doesn't interpret or care " 1.944 @@ -3423,7 +3428,7 @@ 1.945 msgstr "" 1.946 1.947 #. type: Content of: <book><chapter><sect1><sect2><para> 1.948 -#: ../en/ch01-tour-basic.xml:637 1.949 +#: ../en/ch01-tour-basic.xml:636 1.950 msgid "" 1.951 "My personal preference is for short, but informative, commit messages that " 1.952 "tell me something that I can't figure out with a quick glance at the output " 1.953 @@ -3431,12 +3436,12 @@ 1.954 msgstr "" 1.955 1.956 #. type: Content of: <book><chapter><sect1><sect2><title> 1.957 -#: ../en/ch01-tour-basic.xml:644 1.958 +#: ../en/ch01-tour-basic.xml:643 1.959 msgid "Aborting a commit" 1.960 msgstr "终止提交" 1.961 1.962 #. type: Content of: <book><chapter><sect1><sect2><para> 1.963 -#: ../en/ch01-tour-basic.xml:646 1.964 +#: ../en/ch01-tour-basic.xml:645 1.965 msgid "" 1.966 "If you decide that you don't want to commit while in the middle of editing a " 1.967 "commit message, simply exit from your editor without saving the file that " 1.968 @@ -3445,7 +3450,7 @@ 1.969 msgstr "" 1.970 1.971 #. type: Content of: <book><chapter><sect1><sect2><para> 1.972 -#: ../en/ch01-tour-basic.xml:651 1.973 +#: ../en/ch01-tour-basic.xml:650 1.974 msgid "" 1.975 "If we run the <command role=\"hg-cmd\">hg commit</command> command without " 1.976 "any arguments, it records all of the changes we've made, as reported by " 1.977 @@ -3454,12 +3459,12 @@ 1.978 msgstr "" 1.979 1.980 #. type: Content of: <book><chapter><sect1><sect2><title> 1.981 -#: ../en/ch01-tour-basic.xml:658 1.982 +#: ../en/ch01-tour-basic.xml:657 1.983 msgid "Admiring our new handiwork" 1.984 msgstr "欣赏我们的新手艺" 1.985 1.986 #. type: Content of: <book><chapter><sect1><sect2><para> 1.987 -#: ../en/ch01-tour-basic.xml:660 1.988 +#: ../en/ch01-tour-basic.xml:659 1.989 msgid "" 1.990 "Once we've finished the commit, we can use the <command role=\"hg-cmd\">hg " 1.991 "tip</command> command to display the changeset we just created. This command " 1.992 @@ -3468,19 +3473,19 @@ 1.993 msgstr "" 1.994 1.995 #. type: Content of: <book><chapter><sect1><sect2><para> 1.996 -#: ../en/ch01-tour-basic.xml:669 1.997 +#: ../en/ch01-tour-basic.xml:668 1.998 msgid "" 1.999 "We refer to the newest revision in the repository as the tip revision, or " 1.1000 "simply the tip." 1.1001 msgstr "" 1.1002 1.1003 #. type: Content of: <book><chapter><sect1><title> 1.1004 -#: ../en/ch01-tour-basic.xml:676 1.1005 +#: ../en/ch01-tour-basic.xml:675 1.1006 msgid "Sharing changes" 1.1007 msgstr "共享修改" 1.1008 1.1009 #. type: Content of: <book><chapter><sect1><para> 1.1010 -#: ../en/ch01-tour-basic.xml:678 1.1011 +#: ../en/ch01-tour-basic.xml:677 1.1012 msgid "" 1.1013 "We mentioned earlier that repositories in Mercurial are self-contained. This " 1.1014 "means that the changeset we just created exists only in our <filename class=" 1.1015 @@ -3489,12 +3494,12 @@ 1.1016 msgstr "" 1.1017 1.1018 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1019 -#: ../en/ch01-tour-basic.xml:686 1.1020 +#: ../en/ch01-tour-basic.xml:685 1.1021 msgid "Pulling changes from another repository" 1.1022 msgstr "从其它版本库取得修改" 1.1023 1.1024 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1025 -#: ../en/ch01-tour-basic.xml:687 1.1026 +#: ../en/ch01-tour-basic.xml:686 1.1027 msgid "" 1.1028 "To get started, let's clone our original <filename class=\"directory\">hello</" 1.1029 "filename> repository, which does not contain the change we just committed. " 1.1030 @@ -3503,7 +3508,7 @@ 1.1031 msgstr "" 1.1032 1.1033 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1034 -#: ../en/ch01-tour-basic.xml:695 1.1035 +#: ../en/ch01-tour-basic.xml:694 1.1036 msgid "" 1.1037 "We'll use the <command role=\"hg-cmd\">hg pull</command> command to bring " 1.1038 "changes from <filename class=\"directory\">my-hello</filename> into <filename " 1.1039 @@ -3516,7 +3521,7 @@ 1.1040 msgstr "" 1.1041 1.1042 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1043 -#: ../en/ch01-tour-basic.xml:708 1.1044 +#: ../en/ch01-tour-basic.xml:707 1.1045 msgid "" 1.1046 "(Of course, someone could cause more changesets to appear in the repository " 1.1047 "that we ran <command role=\"hg-cmd\">hg incoming</command> in, before we get " 1.1048 @@ -3525,7 +3530,7 @@ 1.1049 msgstr "" 1.1050 1.1051 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1052 -#: ../en/ch01-tour-basic.xml:715 1.1053 +#: ../en/ch01-tour-basic.xml:714 1.1054 msgid "" 1.1055 "Bringing changes into a repository is a simple matter of running the <command " 1.1056 "role=\"hg-cmd\">hg pull</command> command, and telling it which repository to " 1.1057 @@ -3533,7 +3538,7 @@ 1.1058 msgstr "" 1.1059 1.1060 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1061 -#: ../en/ch01-tour-basic.xml:722 1.1062 +#: ../en/ch01-tour-basic.xml:721 1.1063 msgid "" 1.1064 "As you can see from the before-and-after output of <command role=\"hg-cmd" 1.1065 "\">hg tip</command>, we have successfully pulled changes into our " 1.1066 @@ -3542,24 +3547,24 @@ 1.1067 msgstr "" 1.1068 1.1069 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1070 -#: ../en/ch01-tour-basic.xml:730 1.1071 +#: ../en/ch01-tour-basic.xml:729 1.1072 msgid "Updating the working directory" 1.1073 msgstr "更新工作目录" 1.1074 1.1075 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1076 -#: ../en/ch01-tour-basic.xml:732 1.1077 +#: ../en/ch01-tour-basic.xml:731 1.1078 msgid "" 1.1079 "We have so far glossed over the relationship between a repository and its " 1.1080 "working directory. The <command role=\"hg-cmd\">hg pull</command> command " 1.1081 -"that we ran in section <xref linkend=\"sec.tour.pull\"/> brought changes into " 1.1082 -"the repository, but if we check, there's no sign of those changes in the " 1.1083 -"working directory. This is because <command role=\"hg-cmd\">hg pull</" 1.1084 -"command> does not (by default) touch the working directory. Instead, we use " 1.1085 -"the <command role=\"hg-cmd\">hg update</command> command to do this." 1.1086 -msgstr "" 1.1087 - 1.1088 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.1089 -#: ../en/ch01-tour-basic.xml:744 1.1090 +"that we ran in <xref linkend=\"sec:tour:pull\"/> brought changes into the " 1.1091 +"repository, but if we check, there's no sign of those changes in the working " 1.1092 +"directory. This is because <command role=\"hg-cmd\">hg pull</command> does " 1.1093 +"not (by default) touch the working directory. Instead, we use the <command " 1.1094 +"role=\"hg-cmd\">hg update</command> command to do this." 1.1095 +msgstr "" 1.1096 + 1.1097 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.1098 +#: ../en/ch01-tour-basic.xml:743 1.1099 msgid "" 1.1100 "It might seem a bit strange that <command role=\"hg-cmd\">hg pull</command> " 1.1101 "doesn't update the working directory automatically. There's actually a good " 1.1102 @@ -3573,7 +3578,7 @@ 1.1103 msgstr "" 1.1104 1.1105 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1106 -#: ../en/ch01-tour-basic.xml:755 1.1107 +#: ../en/ch01-tour-basic.xml:754 1.1108 msgid "" 1.1109 "However, since pull-then-update is such a common thing to do, Mercurial lets " 1.1110 "you combine the two by passing the <option role=\"hg-opt-pull\">-u</option> " 1.1111 @@ -3581,35 +3586,34 @@ 1.1112 msgstr "" 1.1113 1.1114 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1115 -#: ../en/ch01-tour-basic.xml:760 1.1116 +#: ../en/ch01-tour-basic.xml:759 1.1117 msgid "" 1.1118 "If you look back at the output of <command role=\"hg-cmd\">hg pull</command> " 1.1119 -"in section <xref linkend=\"sec.tour.pull\"/> when we ran it without <option " 1.1120 -"role=\"hg-opt-pull\">-u</option>, you can see that it printed a helpful " 1.1121 -"reminder that we'd have to take an explicit step to update the working " 1.1122 -"directory:" 1.1123 -msgstr "" 1.1124 - 1.1125 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.1126 -#: ../en/ch01-tour-basic.xml:769 1.1127 +"in <xref linkend=\"sec:tour:pull\"/> when we ran it without <option role=\"hg-" 1.1128 +"opt-pull\">-u</option>, you can see that it printed a helpful reminder that " 1.1129 +"we'd have to take an explicit step to update the working directory:" 1.1130 +msgstr "" 1.1131 + 1.1132 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.1133 +#: ../en/ch01-tour-basic.xml:768 1.1134 msgid "" 1.1135 "To find out what revision the working directory is at, use the <command role=" 1.1136 "\"hg-cmd\">hg parents</command> command." 1.1137 msgstr "" 1.1138 1.1139 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1140 -#: ../en/ch01-tour-basic.xml:775 1.1141 -msgid "" 1.1142 -"If you look back at figure <xref endterm=\"fig.tour-basic.history.caption\" " 1.1143 -"linkend=\"fig.tour-basic.history\"/>, you'll see arrows connecting each " 1.1144 -"changeset. The node that the arrow leads <emphasis>from</emphasis> in each " 1.1145 -"case is a parent, and the node that the arrow leads <emphasis>to</emphasis> " 1.1146 -"is its child. The working directory has a parent in just the same way; this " 1.1147 -"is the changeset that the working directory currently contains." 1.1148 -msgstr "" 1.1149 - 1.1150 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.1151 -#: ../en/ch01-tour-basic.xml:785 1.1152 +#: ../en/ch01-tour-basic.xml:774 1.1153 +msgid "" 1.1154 +"If you look back at <xref linkend=\"fig:tour-basic:history\"/>, you'll see " 1.1155 +"arrows connecting each changeset. The node that the arrow leads " 1.1156 +"<emphasis>from</emphasis> in each case is a parent, and the node that the " 1.1157 +"arrow leads <emphasis>to</emphasis> is its child. The working directory has " 1.1158 +"a parent in just the same way; this is the changeset that the working " 1.1159 +"directory currently contains." 1.1160 +msgstr "" 1.1161 + 1.1162 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.1163 +#: ../en/ch01-tour-basic.xml:783 1.1164 msgid "" 1.1165 "To update the working directory to a particular revision, give a revision " 1.1166 "number or changeset ID to the <command role=\"hg-cmd\">hg update</command> " 1.1167 @@ -3617,7 +3621,7 @@ 1.1168 msgstr "" 1.1169 1.1170 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1171 -#: ../en/ch01-tour-basic.xml:792 1.1172 +#: ../en/ch01-tour-basic.xml:790 1.1173 msgid "" 1.1174 "If you omit an explicit revision, <command role=\"hg-cmd\">hg update</" 1.1175 "command> will update to the tip revision, as shown by the second call to " 1.1176 @@ -3625,12 +3629,12 @@ 1.1177 msgstr "" 1.1178 1.1179 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1180 -#: ../en/ch01-tour-basic.xml:800 1.1181 +#: ../en/ch01-tour-basic.xml:798 1.1182 msgid "Pushing changes to another repository" 1.1183 msgstr "发布修改到其它版本库" 1.1184 1.1185 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1186 -#: ../en/ch01-tour-basic.xml:802 1.1187 +#: ../en/ch01-tour-basic.xml:800 1.1188 msgid "" 1.1189 "Mercurial lets us push changes to another repository, from the repository " 1.1190 "we're currently visiting. As with the example of <command role=\"hg-cmd\">hg " 1.1191 @@ -3639,21 +3643,21 @@ 1.1192 msgstr "" 1.1193 1.1194 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1195 -#: ../en/ch01-tour-basic.xml:810 1.1196 +#: ../en/ch01-tour-basic.xml:808 1.1197 msgid "" 1.1198 "The <command role=\"hg-cmd\">hg outgoing</command> command tells us what " 1.1199 "changes would be pushed into another repository." 1.1200 msgstr "" 1.1201 1.1202 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1203 -#: ../en/ch01-tour-basic.xml:816 1.1204 +#: ../en/ch01-tour-basic.xml:814 1.1205 msgid "" 1.1206 "And the <command role=\"hg-cmd\">hg push</command> command does the actual " 1.1207 "push." 1.1208 msgstr "" 1.1209 1.1210 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1211 -#: ../en/ch01-tour-basic.xml:822 1.1212 +#: ../en/ch01-tour-basic.xml:820 1.1213 msgid "" 1.1214 "As with <command role=\"hg-cmd\">hg pull</command>, the <command role=\"hg-cmd" 1.1215 "\">hg push</command> command does not update the working directory in the " 1.1216 @@ -3664,19 +3668,19 @@ 1.1217 msgstr "" 1.1218 1.1219 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1220 -#: ../en/ch01-tour-basic.xml:831 1.1221 +#: ../en/ch01-tour-basic.xml:829 1.1222 msgid "" 1.1223 "What happens if we try to pull or push changes and the receiving repository " 1.1224 "already has those changes? Nothing too exciting." 1.1225 msgstr "" 1.1226 1.1227 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1228 -#: ../en/ch01-tour-basic.xml:838 1.1229 +#: ../en/ch01-tour-basic.xml:836 1.1230 msgid "Sharing changes over a network" 1.1231 msgstr "通过网络共享修改" 1.1232 1.1233 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1234 -#: ../en/ch01-tour-basic.xml:840 1.1235 +#: ../en/ch01-tour-basic.xml:838 1.1236 msgid "" 1.1237 "The commands we have covered in the previous few sections are not limited to " 1.1238 "working with local repositories. Each works in exactly the same fashion over " 1.1239 @@ -3684,7 +3688,7 @@ 1.1240 msgstr "" 1.1241 1.1242 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1243 -#: ../en/ch01-tour-basic.xml:848 1.1244 +#: ../en/ch01-tour-basic.xml:846 1.1245 msgid "" 1.1246 "In this example, we can see what changes we could push to the remote " 1.1247 "repository, but the repository is understandably not set up to let anonymous " 1.1248 @@ -3746,27 +3750,26 @@ 1.1249 msgid "" 1.1250 "We should now have two copies of <filename>hello.c</filename> with different " 1.1251 "contents. The histories of the two repositories have also diverged, as " 1.1252 -"illustrated in figure <xref endterm=\"fig.tour-merge.sep-repos.caption\" " 1.1253 -"linkend=\"fig.tour-merge.sep-repos\"/>." 1.1254 -msgstr "" 1.1255 - 1.1256 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject> 1.1257 -#: ../en/ch02-tour-merge.xml:47 1.1258 -msgid "" 1.1259 -"<imageobject><imagedata fileref=\"images/tour-merge-sep-repos.png\"/></" 1.1260 -"imageobject>" 1.1261 -msgstr "" 1.1262 - 1.1263 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para> 1.1264 -#: ../en/ch02-tour-merge.xml:49 1.1265 +"illustrated in <xref linkend=\"fig:tour-merge:sep-repos\"/>." 1.1266 +msgstr "" 1.1267 + 1.1268 +#. type: Content of: <book><chapter><sect1><figure><title> 1.1269 +#: ../en/ch02-tour-merge.xml:46 1.1270 msgid "" 1.1271 "Divergent recent histories of the <filename class=\"directory\">my-hello</" 1.1272 "filename> and <filename class=\"directory\">my-new-hello</filename> " 1.1273 "repositories" 1.1274 msgstr "" 1.1275 1.1276 -#. type: Content of: <book><chapter><sect1><para> 1.1277 -#: ../en/ch02-tour-merge.xml:57 1.1278 +#. type: Content of: <book><chapter><sect1><figure><mediaobject> 1.1279 +#: ../en/ch02-tour-merge.xml:51 1.1280 +msgid "" 1.1281 +"<imageobject><imagedata fileref=\"figs/tour-merge-sep-repos.png\"/></" 1.1282 +"imageobject>" 1.1283 +msgstr "" 1.1284 + 1.1285 +#. type: Content of: <book><chapter><sect1><para> 1.1286 +#: ../en/ch02-tour-merge.xml:56 1.1287 msgid "" 1.1288 "We already know that pulling changes from our <filename class=\"directory" 1.1289 "\">my-hello</filename> repository will have no effect on the working " 1.1290 @@ -3774,19 +3777,19 @@ 1.1291 msgstr "" 1.1292 1.1293 #. type: Content of: <book><chapter><sect1><para> 1.1294 -#: ../en/ch02-tour-merge.xml:63 1.1295 +#: ../en/ch02-tour-merge.xml:62 1.1296 msgid "" 1.1297 "However, the <command role=\"hg-cmd\">hg pull</command> command says " 1.1298 "something about <quote>heads</quote>." 1.1299 msgstr "" 1.1300 1.1301 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1302 -#: ../en/ch02-tour-merge.xml:67 1.1303 +#: ../en/ch02-tour-merge.xml:66 1.1304 msgid "Head changesets" 1.1305 msgstr "顶点改变集" 1.1306 1.1307 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1308 -#: ../en/ch02-tour-merge.xml:69 1.1309 +#: ../en/ch02-tour-merge.xml:68 1.1310 msgid "" 1.1311 "A head is a change that has no descendants, or children, as they're also " 1.1312 "known. The tip revision is thus a head, because the newest revision in a " 1.1313 @@ -3794,50 +3797,61 @@ 1.1314 "one head." 1.1315 msgstr "" 1.1316 1.1317 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.1318 -#: ../en/ch02-tour-merge.xml:77 1.1319 -msgid "" 1.1320 -"<imageobject><imagedata fileref=\"images/tour-merge-pull.png\"/></imageobject>" 1.1321 -msgstr "" 1.1322 - 1.1323 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.1324 -#: ../en/ch02-tour-merge.xml:79 1.1325 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.1326 +#: ../en/ch02-tour-merge.xml:75 1.1327 msgid "" 1.1328 "Repository contents after pulling from <filename class=\"directory\">my-" 1.1329 "hello</filename> into <filename class=\"directory\">my-new-hello</filename>" 1.1330 msgstr "" 1.1331 1.1332 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.1333 -#: ../en/ch02-tour-merge.xml:85 1.1334 -msgid "" 1.1335 -"In figure <xref endterm=\"fig.tour-merge.pull.caption\" linkend=\"fig.tour-" 1.1336 -"merge.pull\"/>, you can see the effect of the pull from <filename class=" 1.1337 -"\"directory\">my-hello</filename> into <filename class=\"directory\">my-new-" 1.1338 -"hello</filename>. The history that was already present in <filename class=" 1.1339 -"\"directory\">my-new-hello</filename> is untouched, but a new revision has " 1.1340 -"been added. By referring to figure <xref endterm=\"fig.tour-merge.sep-repos." 1.1341 -"caption\" linkend=\"fig.tour-merge.sep-repos\"/>, we can see that the " 1.1342 -"<emphasis>changeset ID</emphasis> remains the same in the new repository, but " 1.1343 -"the <emphasis>revision number</emphasis> has changed. (This, incidentally, " 1.1344 -"is a fine example of why it's not safe to use revision numbers when " 1.1345 -"discussing changesets.) We can view the heads in a repository using the " 1.1346 -"<command role=\"hg-cmd\">hg heads</command> command." 1.1347 +#. type: Content of: <book><chapter><sect1><sect2><figure> 1.1348 +#: ../en/ch02-tour-merge.xml:78 ../en/ch02-tour-merge.xml:125 1.1349 +#: ../en/ch02-tour-merge.xml:250 ../en/ch03-concepts.xml:55 1.1350 +#: ../en/ch03-concepts.xml:104 ../en/ch03-concepts.xml:189 1.1351 +#: ../en/ch03-concepts.xml:344 ../en/ch03-concepts.xml:359 1.1352 +#: ../en/ch03-concepts.xml:400 ../en/ch03-concepts.xml:420 1.1353 +#: ../en/ch03-concepts.xml:461 ../en/ch05-collab.xml:274 1.1354 +#: ../en/ch08-undo.xml:363 ../en/ch08-undo.xml:410 ../en/ch08-undo.xml:475 1.1355 +#: ../en/ch08-undo.xml:513 ../en/ch11-mq.xml:410 1.1356 +msgid " <placeholder type=\"mediaobject\" id=\"0\"/>" 1.1357 +msgstr "" 1.1358 + 1.1359 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.1360 +#: ../en/ch02-tour-merge.xml:79 1.1361 +msgid "" 1.1362 +"<imageobject> <imagedata fileref=\"figs/tour-merge-pull.png\"/> </imageobject>" 1.1363 +msgstr "" 1.1364 + 1.1365 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.1366 +#: ../en/ch02-tour-merge.xml:86 1.1367 +msgid "" 1.1368 +"In <xref linkend=\"fig:tour-merge:pull\"/>, you can see the effect of the " 1.1369 +"pull from <filename class=\"directory\">my-hello</filename> into <filename " 1.1370 +"class=\"directory\">my-new-hello</filename>. The history that was already " 1.1371 +"present in <filename class=\"directory\">my-new-hello</filename> is " 1.1372 +"untouched, but a new revision has been added. By referring to <xref linkend=" 1.1373 +"\"fig:tour-merge:sep-repos\"/>, we can see that the <emphasis>changeset ID</" 1.1374 +"emphasis> remains the same in the new repository, but the <emphasis>revision " 1.1375 +"number</emphasis> has changed. (This, incidentally, is a fine example of why " 1.1376 +"it's not safe to use revision numbers when discussing changesets.) We can " 1.1377 +"view the heads in a repository using the <command role=\"hg-cmd\">hg heads</" 1.1378 +"command> command." 1.1379 msgstr "" 1.1380 1.1381 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1382 -#: ../en/ch02-tour-merge.xml:106 1.1383 +#: ../en/ch02-tour-merge.xml:105 1.1384 msgid "Performing the merge" 1.1385 msgstr "执行合并" 1.1386 1.1387 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1388 -#: ../en/ch02-tour-merge.xml:108 1.1389 +#: ../en/ch02-tour-merge.xml:107 1.1390 msgid "" 1.1391 "What happens if we try to use the normal <command role=\"hg-cmd\">hg update</" 1.1392 "command> command to update to the new tip?" 1.1393 msgstr "" 1.1394 1.1395 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1396 -#: ../en/ch02-tour-merge.xml:114 1.1397 +#: ../en/ch02-tour-merge.xml:113 1.1398 msgid "" 1.1399 "Mercurial is telling us that the <command role=\"hg-cmd\">hg update</command> " 1.1400 "command won't do a merge; it won't update the working directory when it " 1.1401 @@ -3846,20 +3860,20 @@ 1.1402 "merge the two heads." 1.1403 msgstr "" 1.1404 1.1405 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.1406 -#: ../en/ch02-tour-merge.xml:125 1.1407 -msgid "" 1.1408 -"<imageobject><imagedata fileref=\"images/tour-merge-merge.png\"/></" 1.1409 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.1410 +#: ../en/ch02-tour-merge.xml:123 1.1411 +msgid "Working directory and repository during merge, and following commit" 1.1412 +msgstr "" 1.1413 + 1.1414 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.1415 +#: ../en/ch02-tour-merge.xml:126 1.1416 +msgid "" 1.1417 +"<imageobject> <imagedata fileref=\"figs/tour-merge-merge.png\"/> </" 1.1418 "imageobject>" 1.1419 msgstr "" 1.1420 1.1421 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.1422 -#: ../en/ch02-tour-merge.xml:127 1.1423 -msgid "Working directory and repository during merge, and following commit" 1.1424 -msgstr "" 1.1425 - 1.1426 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.1427 -#: ../en/ch02-tour-merge.xml:132 1.1428 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.1429 +#: ../en/ch02-tour-merge.xml:133 1.1430 msgid "" 1.1431 "This updates the working directory so that it contains changes from " 1.1432 "<emphasis>both</emphasis> heads, which is reflected in both the output of " 1.1433 @@ -3868,12 +3882,12 @@ 1.1434 msgstr "" 1.1435 1.1436 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1437 -#: ../en/ch02-tour-merge.xml:142 1.1438 +#: ../en/ch02-tour-merge.xml:143 1.1439 msgid "Committing the results of the merge" 1.1440 msgstr "提交合并结果" 1.1441 1.1442 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1443 -#: ../en/ch02-tour-merge.xml:144 1.1444 +#: ../en/ch02-tour-merge.xml:145 1.1445 msgid "" 1.1446 "Whenever we've done a merge, <command role=\"hg-cmd\">hg parents</command> " 1.1447 "will display two parents until we <command role=\"hg-cmd\">hg commit</" 1.1448 @@ -3881,7 +3895,7 @@ 1.1449 msgstr "" 1.1450 1.1451 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1452 -#: ../en/ch02-tour-merge.xml:151 1.1453 +#: ../en/ch02-tour-merge.xml:152 1.1454 msgid "" 1.1455 "We now have a new tip revision; notice that it has <emphasis>both</emphasis> " 1.1456 "of our former heads as its parents. These are the same revisions that were " 1.1457 @@ -3889,22 +3903,22 @@ 1.1458 msgstr "" 1.1459 1.1460 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1461 -#: ../en/ch02-tour-merge.xml:158 1.1462 -msgid "" 1.1463 -"In figure <xref endterm=\"fig.tour-merge.merge.caption\" linkend=\"fig.tour-" 1.1464 -"merge.merge\"/>, you can see a representation of what happens to the working " 1.1465 -"directory during the merge, and how this affects the repository when the " 1.1466 -"commit happens. During the merge, the working directory has two parent " 1.1467 -"changesets, and these become the parents of the new changeset." 1.1468 +#: ../en/ch02-tour-merge.xml:159 1.1469 +msgid "" 1.1470 +"In <xref linkend=\"fig:tour-merge:merge\"/>, you can see a representation of " 1.1471 +"what happens to the working directory during the merge, and how this affects " 1.1472 +"the repository when the commit happens. During the merge, the working " 1.1473 +"directory has two parent changesets, and these become the parents of the new " 1.1474 +"changeset." 1.1475 msgstr "" 1.1476 1.1477 #. type: Content of: <book><chapter><sect1><title> 1.1478 -#: ../en/ch02-tour-merge.xml:169 1.1479 +#: ../en/ch02-tour-merge.xml:170 1.1480 msgid "Merging conflicting changes" 1.1481 msgstr "合并有冲突的改变" 1.1482 1.1483 #. type: Content of: <book><chapter><sect1><para> 1.1484 -#: ../en/ch02-tour-merge.xml:171 1.1485 +#: ../en/ch02-tour-merge.xml:172 1.1486 msgid "" 1.1487 "Most merges are simple affairs, but sometimes you'll find yourself merging " 1.1488 "changes where each modifies the same portions of the same files. Unless both " 1.1489 @@ -3913,31 +3927,30 @@ 1.1490 "something coherent." 1.1491 msgstr "" 1.1492 1.1493 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject> 1.1494 +#. type: Content of: <book><chapter><sect1><figure><title> 1.1495 #: ../en/ch02-tour-merge.xml:180 1.1496 -msgid "" 1.1497 -"<imageobject><imagedata fileref=\"images/tour-merge-conflict.png\"/> </" 1.1498 +msgid "Conflicting changes to a document" 1.1499 +msgstr "" 1.1500 + 1.1501 +#. type: Content of: <book><chapter><sect1><figure><mediaobject> 1.1502 +#: ../en/ch02-tour-merge.xml:182 1.1503 +msgid "" 1.1504 +"<imageobject><imagedata fileref=\"figs/tour-merge-conflict.png\"/></" 1.1505 "imageobject>" 1.1506 msgstr "" 1.1507 1.1508 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para> 1.1509 -#: ../en/ch02-tour-merge.xml:183 1.1510 -msgid "Conflicting changes to a document" 1.1511 -msgstr "" 1.1512 - 1.1513 -#. type: Content of: <book><chapter><sect1><para> 1.1514 -#: ../en/ch02-tour-merge.xml:188 1.1515 -msgid "" 1.1516 -"Figure <xref endterm=\"fig.tour-merge.conflict.caption\" linkend=\"fig.tour-" 1.1517 -"merge.conflict\"/> illustrates an instance of two conflicting changes to a " 1.1518 -"document. We started with a single version of the file; then we made some " 1.1519 -"changes; while someone else made different changes to the same text. Our " 1.1520 -"task in resolving the conflicting changes is to decide what the file should " 1.1521 -"look like." 1.1522 -msgstr "" 1.1523 - 1.1524 -#. type: Content of: <book><chapter><sect1><para> 1.1525 -#: ../en/ch02-tour-merge.xml:196 1.1526 +#. type: Content of: <book><chapter><sect1><para> 1.1527 +#: ../en/ch02-tour-merge.xml:187 1.1528 +msgid "" 1.1529 +"<xref linkend=\"fig:tour-merge:conflict\"/> illustrates an instance of two " 1.1530 +"conflicting changes to a document. We started with a single version of the " 1.1531 +"file; then we made some changes; while someone else made different changes to " 1.1532 +"the same text. Our task in resolving the conflicting changes is to decide " 1.1533 +"what the file should look like." 1.1534 +msgstr "" 1.1535 + 1.1536 +#. type: Content of: <book><chapter><sect1><para> 1.1537 +#: ../en/ch02-tour-merge.xml:194 1.1538 msgid "" 1.1539 "Mercurial doesn't have a built-in facility for handling conflicts. Instead, " 1.1540 "it runs an external program called <command>hgmerge</command>. This is a " 1.1541 @@ -3950,7 +3963,7 @@ 1.1542 msgstr "" 1.1543 1.1544 #. type: Content of: <book><chapter><sect1><para> 1.1545 -#: ../en/ch02-tour-merge.xml:207 1.1546 +#: ../en/ch02-tour-merge.xml:205 1.1547 msgid "" 1.1548 "It's also possible to get Mercurial to run another program or script instead " 1.1549 "of <command>hgmerge</command>, by setting the <envar>HGMERGE</envar> " 1.1550 @@ -3958,25 +3971,24 @@ 1.1551 msgstr "" 1.1552 1.1553 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1554 -#: ../en/ch02-tour-merge.xml:213 1.1555 +#: ../en/ch02-tour-merge.xml:211 1.1556 msgid "Using a graphical merge tool" 1.1557 msgstr "使用图形合并工具" 1.1558 1.1559 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1560 -#: ../en/ch02-tour-merge.xml:215 1.1561 +#: ../en/ch02-tour-merge.xml:213 1.1562 msgid "" 1.1563 "My preferred graphical merge tool is <command>kdiff3</command>, which I'll " 1.1564 "use to describe the features that are common to graphical file merging " 1.1565 "tools. You can see a screenshot of <command>kdiff3</command> in action in " 1.1566 -"figure <xref endterm=\"fig.tour-merge.kdiff3.caption\" linkend=\"fig.tour-" 1.1567 -"merge.kdiff3\"/>. The kind of merge it is performing is called a " 1.1568 -"<emphasis>three-way merge</emphasis>, because there are three different " 1.1569 -"versions of the file of interest to us. The tool thus splits the upper " 1.1570 -"portion of the window into three panes:" 1.1571 +"<xref linkend=\"fig:tour-merge:kdiff3\"/>. The kind of merge it is " 1.1572 +"performing is called a <emphasis>three-way merge</emphasis>, because there " 1.1573 +"are three different versions of the file of interest to us. The tool thus " 1.1574 +"splits the upper portion of the window into three panes:" 1.1575 msgstr "" 1.1576 1.1577 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.1578 -#: ../en/ch02-tour-merge.xml:226 1.1579 +#: ../en/ch02-tour-merge.xml:223 1.1580 msgid "" 1.1581 "At the left is the <emphasis>base</emphasis> version of the file, i.e. the " 1.1582 "most recent version from which the two versions we're trying to merge are " 1.1583 @@ -3984,21 +3996,21 @@ 1.1584 msgstr "" 1.1585 1.1586 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.1587 -#: ../en/ch02-tour-merge.xml:231 1.1588 +#: ../en/ch02-tour-merge.xml:228 1.1589 msgid "" 1.1590 "In the middle is <quote>our</quote> version of the file, with the contents " 1.1591 "that we modified." 1.1592 msgstr "" 1.1593 1.1594 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.1595 -#: ../en/ch02-tour-merge.xml:234 1.1596 +#: ../en/ch02-tour-merge.xml:231 1.1597 msgid "" 1.1598 "On the right is <quote>their</quote> version of the file, the one that from " 1.1599 "the changeset that we're trying to merge with." 1.1600 msgstr "" 1.1601 1.1602 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1603 -#: ../en/ch02-tour-merge.xml:238 1.1604 +#: ../en/ch02-tour-merge.xml:235 1.1605 msgid "" 1.1606 "In the pane below these is the current <emphasis>result</emphasis> of the " 1.1607 "merge. Our task is to replace all of the red text, which indicates unresolved " 1.1608 @@ -4007,27 +4019,27 @@ 1.1609 msgstr "" 1.1610 1.1611 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1612 -#: ../en/ch02-tour-merge.xml:245 1.1613 +#: ../en/ch02-tour-merge.xml:242 1.1614 msgid "" 1.1615 "All four of these panes are <emphasis>locked together</emphasis>; if we " 1.1616 "scroll vertically or horizontally in any of them, the others are updated to " 1.1617 "display the corresponding sections of their respective files." 1.1618 msgstr "" 1.1619 1.1620 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.1621 -#: ../en/ch02-tour-merge.xml:252 1.1622 -msgid "" 1.1623 -"<imageobject><imagedata width=\"100%\" fileref=\"images/kdiff3.png\"/> </" 1.1624 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.1625 +#: ../en/ch02-tour-merge.xml:248 1.1626 +msgid "Using <command>kdiff3</command> to merge versions of a file" 1.1627 +msgstr "" 1.1628 + 1.1629 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.1630 +#: ../en/ch02-tour-merge.xml:251 1.1631 +msgid "" 1.1632 +"<imageobject> <imagedata width=\"100%\" fileref=\"figs/kdiff3.png\"/></" 1.1633 "imageobject>" 1.1634 msgstr "" 1.1635 1.1636 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.1637 -#: ../en/ch02-tour-merge.xml:255 1.1638 -msgid "Using <command>kdiff3</command> to merge versions of a file" 1.1639 -msgstr "" 1.1640 - 1.1641 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.1642 -#: ../en/ch02-tour-merge.xml:261 1.1643 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.1644 +#: ../en/ch02-tour-merge.xml:259 1.1645 msgid "" 1.1646 "For each conflicting portion of the file, we can choose to resolve the " 1.1647 "conflict using some combination of text from the base version, ours, or " 1.1648 @@ -4036,7 +4048,7 @@ 1.1649 msgstr "" 1.1650 1.1651 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1652 -#: ../en/ch02-tour-merge.xml:267 1.1653 +#: ../en/ch02-tour-merge.xml:265 1.1654 msgid "" 1.1655 "There are <emphasis>many</emphasis> file merging tools available, too many to " 1.1656 "cover here. They vary in which platforms they are available for, and in " 1.1657 @@ -4046,26 +4058,25 @@ 1.1658 msgstr "" 1.1659 1.1660 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1661 -#: ../en/ch02-tour-merge.xml:276 1.1662 +#: ../en/ch02-tour-merge.xml:274 1.1663 msgid "A worked example" 1.1664 msgstr "合并实例" 1.1665 1.1666 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1667 -#: ../en/ch02-tour-merge.xml:278 1.1668 -msgid "" 1.1669 -"In this example, we will reproduce the file modification history of figure " 1.1670 -"<xref endterm=\"fig.tour-merge.conflict.caption\" linkend=\"fig.tour-merge." 1.1671 -"conflict\"/> above. Let's begin by creating a repository with a base version " 1.1672 -"of our document." 1.1673 -msgstr "" 1.1674 - 1.1675 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.1676 -#: ../en/ch02-tour-merge.xml:286 1.1677 +#: ../en/ch02-tour-merge.xml:276 1.1678 +msgid "" 1.1679 +"In this example, we will reproduce the file modification history of <xref " 1.1680 +"linkend=\"fig:tour-merge:conflict\"/> above. Let's begin by creating a " 1.1681 +"repository with a base version of our document." 1.1682 +msgstr "" 1.1683 + 1.1684 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.1685 +#: ../en/ch02-tour-merge.xml:283 1.1686 msgid "We'll clone the repository and make a change to the file." 1.1687 msgstr "" 1.1688 1.1689 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1690 -#: ../en/ch02-tour-merge.xml:291 1.1691 +#: ../en/ch02-tour-merge.xml:288 1.1692 msgid "" 1.1693 "And another clone, to simulate someone else making a change to the file. " 1.1694 "(This hints at the idea that it's not all that unusual to merge with yourself " 1.1695 @@ -4074,14 +4085,14 @@ 1.1696 msgstr "" 1.1697 1.1698 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1699 -#: ../en/ch02-tour-merge.xml:299 1.1700 +#: ../en/ch02-tour-merge.xml:296 1.1701 msgid "" 1.1702 "Having created two different versions of the file, we'll set up an " 1.1703 "environment suitable for running our merge." 1.1704 msgstr "" 1.1705 1.1706 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1707 -#: ../en/ch02-tour-merge.xml:305 1.1708 +#: ../en/ch02-tour-merge.xml:302 1.1709 msgid "" 1.1710 "In this example, I won't use Mercurial's normal <command>hgmerge</command> " 1.1711 "program to do the merge, because it would drop my nice automated example-" 1.1712 @@ -4093,12 +4104,12 @@ 1.1713 msgstr "" 1.1714 1.1715 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1716 -#: ../en/ch02-tour-merge.xml:315 1.1717 +#: ../en/ch02-tour-merge.xml:312 1.1718 msgid "<emphasis role=\"bold\">XXX FIX THIS EXAMPLE.</emphasis>" 1.1719 msgstr "" 1.1720 1.1721 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1722 -#: ../en/ch02-tour-merge.xml:320 1.1723 +#: ../en/ch02-tour-merge.xml:317 1.1724 msgid "" 1.1725 "Because <command>merge</command> can't resolve the conflicting changes, it " 1.1726 "leaves <emphasis>merge markers</emphasis> inside the file that has conflicts, " 1.1727 @@ -4107,7 +4118,7 @@ 1.1728 msgstr "" 1.1729 1.1730 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1731 -#: ../en/ch02-tour-merge.xml:326 1.1732 +#: ../en/ch02-tour-merge.xml:323 1.1733 msgid "" 1.1734 "Mercurial can tell from the way <command>merge</command> exits that it wasn't " 1.1735 "able to merge successfully, so it tells us what commands we'll need to run if " 1.1736 @@ -4117,7 +4128,7 @@ 1.1737 msgstr "" 1.1738 1.1739 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1740 -#: ../en/ch02-tour-merge.xml:333 1.1741 +#: ../en/ch02-tour-merge.xml:330 1.1742 msgid "" 1.1743 "If automatic or manual merges fail, there's nothing to prevent us from " 1.1744 "<quote>fixing up</quote> the affected files ourselves, and committing the " 1.1745 @@ -4125,19 +4136,19 @@ 1.1746 msgstr "" 1.1747 1.1748 #. type: Content of: <book><chapter><sect1><title> 1.1749 -#: ../en/ch02-tour-merge.xml:342 1.1750 +#: ../en/ch02-tour-merge.xml:339 1.1751 msgid "Simplifying the pull-merge-commit sequence" 1.1752 msgstr "简化拉-合并-提交程序" 1.1753 1.1754 #. type: Content of: <book><chapter><sect1><para> 1.1755 -#: ../en/ch02-tour-merge.xml:344 1.1756 +#: ../en/ch02-tour-merge.xml:341 1.1757 msgid "" 1.1758 "The process of merging changes as outlined above is straightforward, but " 1.1759 "requires running three commands in sequence." 1.1760 msgstr "" 1.1761 1.1762 #. type: Content of: <book><chapter><sect1><para> 1.1763 -#: ../en/ch02-tour-merge.xml:350 1.1764 +#: ../en/ch02-tour-merge.xml:347 1.1765 msgid "" 1.1766 "In the case of the final commit, you also need to enter a commit message, " 1.1767 "which is almost always going to be a piece of uninteresting " 1.1768 @@ -4145,7 +4156,7 @@ 1.1769 msgstr "" 1.1770 1.1771 #. type: Content of: <book><chapter><sect1><para> 1.1772 -#: ../en/ch02-tour-merge.xml:354 1.1773 +#: ../en/ch02-tour-merge.xml:351 1.1774 msgid "" 1.1775 "It would be nice to reduce the number of steps needed, if this were " 1.1776 "possible. Indeed, Mercurial is distributed with an extension called <literal " 1.1777 @@ -4153,7 +4164,7 @@ 1.1778 msgstr "" 1.1779 1.1780 #. type: Content of: <book><chapter><sect1><para> 1.1781 -#: ../en/ch02-tour-merge.xml:359 1.1782 +#: ../en/ch02-tour-merge.xml:356 1.1783 msgid "" 1.1784 "Mercurial provides a flexible extension mechanism that lets people extend its " 1.1785 "functionality, while keeping the core of Mercurial small and easy to deal " 1.1786 @@ -4163,7 +4174,7 @@ 1.1787 msgstr "" 1.1788 1.1789 #. type: Content of: <book><chapter><sect1><para> 1.1790 -#: ../en/ch02-tour-merge.xml:366 1.1791 +#: ../en/ch02-tour-merge.xml:363 1.1792 msgid "" 1.1793 "The <literal role=\"hg-ext\">fetch</literal> extension adds a new command " 1.1794 "called, not surprisingly, <command role=\"hg-cmd\">hg fetch</command>. This " 1.1795 @@ -4177,7 +4188,7 @@ 1.1796 msgstr "" 1.1797 1.1798 #. type: Content of: <book><chapter><sect1><para> 1.1799 -#: ../en/ch02-tour-merge.xml:379 1.1800 +#: ../en/ch02-tour-merge.xml:376 1.1801 msgid "" 1.1802 "Enabling the <literal role=\"hg-ext\">fetch</literal> extension is easy. " 1.1803 "Edit your <filename role=\"special\">.hgrc</filename>, and either go to the " 1.1804 @@ -4187,7 +4198,7 @@ 1.1805 msgstr "" 1.1806 1.1807 #. type: Content of: <book><chapter><sect1><para> 1.1808 -#: ../en/ch02-tour-merge.xml:388 1.1809 +#: ../en/ch02-tour-merge.xml:385 1.1810 msgid "" 1.1811 "(Normally, on the right-hand side of the <quote><literal>=</literal></quote> " 1.1812 "would appear the location of the extension, but since the <literal role=\"hg-" 1.1813 @@ -4258,28 +4269,27 @@ 1.1814 "much history, the revision data and index are combined in a single " 1.1815 "<quote><literal>.i</literal></quote> file. The correspondence between a file " 1.1816 "in the working directory and the filelog that tracks its history in the " 1.1817 -"repository is illustrated in figure <xref endterm=\"fig.concepts.filelog." 1.1818 -"caption\" linkend=\"fig.concepts.filelog\"/>." 1.1819 -msgstr "" 1.1820 - 1.1821 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.1822 -#: ../en/ch03-concepts.xml:55 1.1823 -msgid "<imageobject><imagedata fileref=\"images/filelog.png\"/></imageobject>" 1.1824 -msgstr "" 1.1825 - 1.1826 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.1827 -#: ../en/ch03-concepts.xml:57 1.1828 +"repository is illustrated in <xref linkend=\"fig:concepts:filelog\"/>." 1.1829 +msgstr "" 1.1830 + 1.1831 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.1832 +#: ../en/ch03-concepts.xml:53 1.1833 msgid "" 1.1834 "Relationships between files in working directory and filelogs in repository" 1.1835 msgstr "" 1.1836 1.1837 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.1838 +#: ../en/ch03-concepts.xml:56 1.1839 +msgid "<imageobject><imagedata fileref=\"figs/filelog.png\"/></imageobject>" 1.1840 +msgstr "" 1.1841 + 1.1842 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1843 -#: ../en/ch03-concepts.xml:65 1.1844 +#: ../en/ch03-concepts.xml:63 1.1845 msgid "Managing tracked files" 1.1846 msgstr "管理跟踪的文件" 1.1847 1.1848 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1849 -#: ../en/ch03-concepts.xml:67 1.1850 +#: ../en/ch03-concepts.xml:65 1.1851 msgid "" 1.1852 "Mercurial uses a structure called a <emphasis>manifest</emphasis> to collect " 1.1853 "together information about the files that it tracks. Each entry in the " 1.1854 @@ -4289,12 +4299,12 @@ 1.1855 msgstr "" 1.1856 1.1857 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1858 -#: ../en/ch03-concepts.xml:77 1.1859 +#: ../en/ch03-concepts.xml:75 1.1860 msgid "Recording changeset information" 1.1861 msgstr "记录修改集信息" 1.1862 1.1863 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1864 -#: ../en/ch03-concepts.xml:79 1.1865 +#: ../en/ch03-concepts.xml:77 1.1866 msgid "" 1.1867 "The <emphasis>changelog</emphasis> contains information about each " 1.1868 "changeset. Each revision records who committed a change, the changeset " 1.1869 @@ -4303,12 +4313,12 @@ 1.1870 msgstr "" 1.1871 1.1872 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1873 -#: ../en/ch03-concepts.xml:87 1.1874 +#: ../en/ch03-concepts.xml:85 1.1875 msgid "Relationships between revisions" 1.1876 msgstr "版本之间的关系" 1.1877 1.1878 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1879 -#: ../en/ch03-concepts.xml:89 1.1880 +#: ../en/ch03-concepts.xml:87 1.1881 msgid "" 1.1882 "Within a changelog, a manifest, or a filelog, each revision stores a pointer " 1.1883 "to its immediate parent (or to its two parents, if it's a merge revision). " 1.1884 @@ -4318,28 +4328,28 @@ 1.1885 msgstr "" 1.1886 1.1887 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1888 -#: ../en/ch03-concepts.xml:96 1.1889 +#: ../en/ch03-concepts.xml:94 1.1890 msgid "" 1.1891 "For every changeset in a repository, there is exactly one revision stored in " 1.1892 "the changelog. Each revision of the changelog contains a pointer to a single " 1.1893 "revision of the manifest. A revision of the manifest stores a pointer to a " 1.1894 "single revision of each filelog tracked when that changeset was created. " 1.1895 -"These relationships are illustrated in figure <xref endterm=\"fig.concepts." 1.1896 -"metadata.caption\" linkend=\"fig.concepts.metadata\"/>." 1.1897 -msgstr "" 1.1898 - 1.1899 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.1900 -#: ../en/ch03-concepts.xml:107 1.1901 -msgid "<imageobject><imagedata fileref=\"images/metadata.png\"/></imageobject>" 1.1902 -msgstr "" 1.1903 - 1.1904 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.1905 -#: ../en/ch03-concepts.xml:109 1.1906 +"These relationships are illustrated in <xref linkend=\"fig:concepts:metadata" 1.1907 +"\"/>." 1.1908 +msgstr "" 1.1909 + 1.1910 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.1911 +#: ../en/ch03-concepts.xml:103 1.1912 msgid "Metadata relationships" 1.1913 msgstr "" 1.1914 1.1915 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.1916 -#: ../en/ch03-concepts.xml:114 1.1917 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.1918 +#: ../en/ch03-concepts.xml:105 1.1919 +msgid "<imageobject><imagedata fileref=\"figs/metadata.png\"/></imageobject>" 1.1920 +msgstr "" 1.1921 + 1.1922 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.1923 +#: ../en/ch03-concepts.xml:110 1.1924 msgid "" 1.1925 "As the illustration shows, there is <emphasis>not</emphasis> a <quote>one to " 1.1926 "one</quote> relationship between revisions in the changelog, manifest, or " 1.1927 @@ -4351,24 +4361,24 @@ 1.1928 msgstr "" 1.1929 1.1930 #. type: Content of: <book><chapter><sect1><title> 1.1931 -#: ../en/ch03-concepts.xml:127 1.1932 +#: ../en/ch03-concepts.xml:123 1.1933 msgid "Safe, efficient storage" 1.1934 msgstr "安全,高效的存储" 1.1935 1.1936 #. type: Content of: <book><chapter><sect1><para> 1.1937 -#: ../en/ch03-concepts.xml:129 1.1938 +#: ../en/ch03-concepts.xml:125 1.1939 msgid "" 1.1940 "The underpinnings of changelogs, manifests, and filelogs are provided by a " 1.1941 "single structure called the <emphasis>revlog</emphasis>." 1.1942 msgstr "" 1.1943 1.1944 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1945 -#: ../en/ch03-concepts.xml:134 1.1946 +#: ../en/ch03-concepts.xml:130 1.1947 msgid "Efficient storage" 1.1948 msgstr "高效存储" 1.1949 1.1950 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1951 -#: ../en/ch03-concepts.xml:136 1.1952 +#: ../en/ch03-concepts.xml:132 1.1953 msgid "" 1.1954 "The revlog provides efficient storage of revisions using a <emphasis>delta</" 1.1955 "emphasis> mechanism. Instead of storing a complete copy of a file for each " 1.1956 @@ -4378,7 +4388,7 @@ 1.1957 msgstr "" 1.1958 1.1959 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1960 -#: ../en/ch03-concepts.xml:144 1.1961 +#: ../en/ch03-concepts.xml:140 1.1962 msgid "" 1.1963 "Some obsolete revision control systems can only work with deltas of text " 1.1964 "files. They must either store binary files as complete snapshots or encoded " 1.1965 @@ -4388,12 +4398,12 @@ 1.1966 msgstr "" 1.1967 1.1968 #. type: Content of: <book><chapter><sect1><sect2><title> 1.1969 -#: ../en/ch03-concepts.xml:153 1.1970 +#: ../en/ch03-concepts.xml:149 1.1971 msgid "Safe operation" 1.1972 msgstr "安全操作" 1.1973 1.1974 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1975 -#: ../en/ch03-concepts.xml:155 1.1976 +#: ../en/ch03-concepts.xml:151 1.1977 msgid "" 1.1978 "Mercurial only ever <emphasis>appends</emphasis> data to the end of a revlog " 1.1979 "file. It never modifies a section of a file after it has written it. This is " 1.1980 @@ -4402,7 +4412,7 @@ 1.1981 msgstr "" 1.1982 1.1983 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1984 -#: ../en/ch03-concepts.xml:161 1.1985 +#: ../en/ch03-concepts.xml:157 1.1986 msgid "" 1.1987 "In addition, Mercurial treats every write as part of a <emphasis>transaction</" 1.1988 "emphasis> that can span a number of files. A transaction is " 1.1989 @@ -4414,7 +4424,7 @@ 1.1990 msgstr "" 1.1991 1.1992 #. type: Content of: <book><chapter><sect1><sect2><para> 1.1993 -#: ../en/ch03-concepts.xml:171 1.1994 +#: ../en/ch03-concepts.xml:167 1.1995 msgid "" 1.1996 "The fact that Mercurial only appends to files makes it easier to provide this " 1.1997 "transactional guarantee. The easier it is to do stuff like this, the more " 1.1998 @@ -4422,12 +4432,12 @@ 1.1999 msgstr "" 1.2000 1.2001 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2002 -#: ../en/ch03-concepts.xml:178 1.2003 +#: ../en/ch03-concepts.xml:174 1.2004 msgid "Fast retrieval" 1.2005 msgstr "快速检索" 1.2006 1.2007 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2008 -#: ../en/ch03-concepts.xml:180 1.2009 +#: ../en/ch03-concepts.xml:176 1.2010 msgid "" 1.2011 "Mercurial cleverly avoids a pitfall common to all earlier revision control " 1.2012 "systems: the problem of <emphasis>inefficient retrieval</emphasis>. Most " 1.2013 @@ -4439,18 +4449,18 @@ 1.2014 "longer it takes to reconstruct a particular revision." 1.2015 msgstr "" 1.2016 1.2017 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.2018 -#: ../en/ch03-concepts.xml:193 1.2019 -msgid "<imageobject><imagedata fileref=\"images/snapshot.png\"/></imageobject>" 1.2020 -msgstr "" 1.2021 - 1.2022 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.2023 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.2024 +#: ../en/ch03-concepts.xml:188 1.2025 +msgid "Snapshot of a revlog, with incremental deltas" 1.2026 +msgstr "" 1.2027 + 1.2028 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.2029 +#: ../en/ch03-concepts.xml:190 1.2030 +msgid "<imageobject><imagedata fileref=\"figs/snapshot.png\"/></imageobject>" 1.2031 +msgstr "" 1.2032 + 1.2033 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.2034 #: ../en/ch03-concepts.xml:195 1.2035 -msgid "Snapshot of a revlog, with incremental deltas" 1.2036 -msgstr "" 1.2037 - 1.2038 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.2039 -#: ../en/ch03-concepts.xml:200 1.2040 msgid "" 1.2041 "The innovation that Mercurial applies to this problem is simple but " 1.2042 "effective. Once the cumulative amount of delta information stored since the " 1.2043 @@ -4462,21 +4472,20 @@ 1.2044 msgstr "" 1.2045 1.2046 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2047 -#: ../en/ch03-concepts.xml:209 1.2048 -msgid "" 1.2049 -"Figure <xref endterm=\"fig.concepts.snapshot.caption\" linkend=\"fig.concepts." 1.2050 -"snapshot\"/> illustrates the idea. In an entry in a revlog's index file, " 1.2051 -"Mercurial stores the range of entries from the data file that it must read to " 1.2052 -"reconstruct a particular revision." 1.2053 +#: ../en/ch03-concepts.xml:204 1.2054 +msgid "" 1.2055 +"<xref linkend=\"fig:concepts:snapshot\"/> illustrates the idea. In an entry " 1.2056 +"in a revlog's index file, Mercurial stores the range of entries from the data " 1.2057 +"file that it must read to reconstruct a particular revision." 1.2058 msgstr "" 1.2059 1.2060 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.2061 -#: ../en/ch03-concepts.xml:216 1.2062 +#: ../en/ch03-concepts.xml:210 1.2063 msgid "Aside: the influence of video compression" 1.2064 msgstr "" 1.2065 1.2066 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.2067 -#: ../en/ch03-concepts.xml:218 1.2068 +#: ../en/ch03-concepts.xml:212 1.2069 msgid "" 1.2070 "If you're familiar with video compression or have ever watched a TV feed " 1.2071 "through a digital cable or satellite service, you may know that most video " 1.2072 @@ -4487,7 +4496,7 @@ 1.2073 msgstr "" 1.2074 1.2075 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.2076 -#: ../en/ch03-concepts.xml:227 1.2077 +#: ../en/ch03-concepts.xml:221 1.2078 msgid "" 1.2079 "Because it's possible for a video stream to <quote>drop out</quote> " 1.2080 "occasionally due to signal glitches, and to limit the accumulation of " 1.2081 @@ -4500,12 +4509,12 @@ 1.2082 msgstr "" 1.2083 1.2084 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2085 -#: ../en/ch03-concepts.xml:241 1.2086 +#: ../en/ch03-concepts.xml:235 1.2087 msgid "Identification and strong integrity" 1.2088 msgstr "鉴别和强完整性" 1.2089 1.2090 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2091 -#: ../en/ch03-concepts.xml:243 1.2092 +#: ../en/ch03-concepts.xml:237 1.2093 msgid "" 1.2094 "Along with delta or snapshot information, a revlog entry contains a " 1.2095 "cryptographic hash of the data that it represents. This makes it difficult " 1.2096 @@ -4513,7 +4522,7 @@ 1.2097 msgstr "" 1.2098 1.2099 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2100 -#: ../en/ch03-concepts.xml:248 1.2101 +#: ../en/ch03-concepts.xml:242 1.2102 msgid "" 1.2103 "Hashes provide more than a mere check against corruption; they are used as " 1.2104 "the identifiers for revisions. The changeset identification hashes that you " 1.2105 @@ -4522,7 +4531,7 @@ 1.2106 msgstr "" 1.2107 1.2108 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2109 -#: ../en/ch03-concepts.xml:255 1.2110 +#: ../en/ch03-concepts.xml:249 1.2111 msgid "" 1.2112 "Mercurial verifies that hashes are correct when it retrieves file revisions " 1.2113 "and when it pulls changes from another repository. If it encounters an " 1.2114 @@ -4530,7 +4539,7 @@ 1.2115 msgstr "" 1.2116 1.2117 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2118 -#: ../en/ch03-concepts.xml:260 1.2119 +#: ../en/ch03-concepts.xml:254 1.2120 msgid "" 1.2121 "In addition to the effect it has on retrieval efficiency, Mercurial's use of " 1.2122 "periodic snapshots makes it more robust against partial data corruption. If " 1.2123 @@ -4541,12 +4550,12 @@ 1.2124 msgstr "" 1.2125 1.2126 #. type: Content of: <book><chapter><sect1><title> 1.2127 -#: ../en/ch03-concepts.xml:272 1.2128 +#: ../en/ch03-concepts.xml:266 1.2129 msgid "Revision history, branching, and merging" 1.2130 msgstr "修订历史,分支与合并" 1.2131 1.2132 #. type: Content of: <book><chapter><sect1><para> 1.2133 -#: ../en/ch03-concepts.xml:274 1.2134 +#: ../en/ch03-concepts.xml:268 1.2135 msgid "" 1.2136 "Every entry in a Mercurial revlog knows the identity of its immediate " 1.2137 "ancestor revision, usually referred to as its <emphasis>parent</emphasis>. " 1.2138 @@ -4557,17 +4566,17 @@ 1.2139 msgstr "" 1.2140 1.2141 #. type: Content of: <book><chapter><sect1><para> 1.2142 +#: ../en/ch03-concepts.xml:276 1.2143 +msgid "" 1.2144 +"In <xref linkend=\"fig:concepts:revlog\"/>, you can see an example of the " 1.2145 +"conceptual structure of a revlog. Filelogs, manifests, and changelogs all " 1.2146 +"have this same structure; they differ only in the kind of data stored in each " 1.2147 +"delta or snapshot." 1.2148 +msgstr "" 1.2149 + 1.2150 +#. type: Content of: <book><chapter><sect1><para> 1.2151 #: ../en/ch03-concepts.xml:282 1.2152 msgid "" 1.2153 -"In figure <xref endterm=\"fig.concepts.revlog.caption\" linkend=\"fig." 1.2154 -"concepts.revlog\"/>, you can see an example of the conceptual structure of a " 1.2155 -"revlog. Filelogs, manifests, and changelogs all have this same structure; " 1.2156 -"they differ only in the kind of data stored in each delta or snapshot." 1.2157 -msgstr "" 1.2158 - 1.2159 -#. type: Content of: <book><chapter><sect1><para> 1.2160 -#: ../en/ch03-concepts.xml:289 1.2161 -msgid "" 1.2162 "The first revision in a revlog (at the bottom of the image) has the null ID " 1.2163 "in both of its parent slots. For a <quote>normal</quote> revision, its first " 1.2164 "parent slot contains the ID of its parent revision, and its second contains " 1.2165 @@ -4577,30 +4586,30 @@ 1.2166 "slots." 1.2167 msgstr "" 1.2168 1.2169 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject> 1.2170 -#: ../en/ch03-concepts.xml:300 1.2171 -msgid "<imageobject><imagedata fileref=\"images/revlog.png\"/></imageobject>" 1.2172 -msgstr "" 1.2173 - 1.2174 -#. type: Content of: <book><chapter><sect1><informalfigure><mediaobject><caption><para> 1.2175 -#: ../en/ch03-concepts.xml:302 1.2176 -msgid "Revision in revlog" 1.2177 +#. type: Content of: <book><chapter><sect1><figure><title> 1.2178 +#: ../en/ch03-concepts.xml:292 1.2179 +msgid "The conceptual structure of a revlog" 1.2180 +msgstr "" 1.2181 + 1.2182 +#. type: Content of: <book><chapter><sect1><figure><mediaobject> 1.2183 +#: ../en/ch03-concepts.xml:294 1.2184 +msgid "<imageobject><imagedata fileref=\"figs/revlog.png\"/></imageobject>" 1.2185 msgstr "" 1.2186 1.2187 #. type: Content of: <book><chapter><sect1><title> 1.2188 -#: ../en/ch03-concepts.xml:309 1.2189 +#: ../en/ch03-concepts.xml:301 1.2190 msgid "The working directory" 1.2191 msgstr "工作目录" 1.2192 1.2193 #. type: Content of: <book><chapter><sect1><para> 1.2194 -#: ../en/ch03-concepts.xml:311 1.2195 +#: ../en/ch03-concepts.xml:303 1.2196 msgid "" 1.2197 "In the working directory, Mercurial stores a snapshot of the files from the " 1.2198 "repository as of a particular changeset." 1.2199 msgstr "" 1.2200 1.2201 #. type: Content of: <book><chapter><sect1><para> 1.2202 -#: ../en/ch03-concepts.xml:314 1.2203 +#: ../en/ch03-concepts.xml:306 1.2204 msgid "" 1.2205 "The working directory <quote>knows</quote> which changeset it contains. When " 1.2206 "you update the working directory to contain a particular changeset, Mercurial " 1.2207 @@ -4611,7 +4620,7 @@ 1.2208 msgstr "" 1.2209 1.2210 #. type: Content of: <book><chapter><sect1><para> 1.2211 -#: ../en/ch03-concepts.xml:323 1.2212 +#: ../en/ch03-concepts.xml:315 1.2213 msgid "" 1.2214 "The <emphasis>dirstate</emphasis> contains Mercurial's knowledge of the " 1.2215 "working directory. This details which changeset the working directory is " 1.2216 @@ -4620,7 +4629,7 @@ 1.2217 msgstr "" 1.2218 1.2219 #. type: Content of: <book><chapter><sect1><para> 1.2220 -#: ../en/ch03-concepts.xml:329 1.2221 +#: ../en/ch03-concepts.xml:321 1.2222 msgid "" 1.2223 "Just as a revision of a revlog has room for two parents, so that it can " 1.2224 "represent either a normal revision (with one parent) or a merge of two " 1.2225 @@ -4635,51 +4644,50 @@ 1.2226 msgstr "" 1.2227 1.2228 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2229 -#: ../en/ch03-concepts.xml:343 1.2230 +#: ../en/ch03-concepts.xml:335 1.2231 msgid "What happens when you commit" 1.2232 msgstr "当你提交时发生的事情" 1.2233 1.2234 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2235 -#: ../en/ch03-concepts.xml:345 1.2236 +#: ../en/ch03-concepts.xml:337 1.2237 msgid "" 1.2238 "The dirstate stores parent information for more than just book-keeping " 1.2239 "purposes. Mercurial uses the parents of the dirstate as <emphasis>the " 1.2240 "parents of a new changeset</emphasis> when you perform a commit." 1.2241 msgstr "" 1.2242 1.2243 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.2244 -#: ../en/ch03-concepts.xml:352 1.2245 -msgid "<imageobject><imagedata fileref=\"images/wdir.png\"/></imageobject>" 1.2246 -msgstr "" 1.2247 - 1.2248 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.2249 -#: ../en/ch03-concepts.xml:354 1.2250 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.2251 +#: ../en/ch03-concepts.xml:343 1.2252 msgid "The working directory can have two parents" 1.2253 msgstr "" 1.2254 1.2255 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.2256 -#: ../en/ch03-concepts.xml:359 1.2257 -msgid "" 1.2258 -"Figure <xref endterm=\"fig.concepts.wdir.caption\" linkend=\"fig.concepts.wdir" 1.2259 -"\"/> shows the normal state of the working directory, where it has a single " 1.2260 -"changeset as parent. That changeset is the <emphasis>tip</emphasis>, the " 1.2261 -"newest changeset in the repository that has no children." 1.2262 -msgstr "" 1.2263 - 1.2264 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.2265 -#: ../en/ch03-concepts.xml:368 1.2266 -msgid "" 1.2267 -"<imageobject><imagedata fileref=\"images/wdir-after-commit.png\"/> </" 1.2268 -"imageobject>" 1.2269 -msgstr "" 1.2270 - 1.2271 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.2272 -#: ../en/ch03-concepts.xml:371 1.2273 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.2274 +#: ../en/ch03-concepts.xml:345 1.2275 +msgid "<imageobject><imagedata fileref=\"figs/wdir.png\"/></imageobject>" 1.2276 +msgstr "" 1.2277 + 1.2278 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.2279 +#: ../en/ch03-concepts.xml:350 1.2280 +msgid "" 1.2281 +"<xref linkend=\"fig:concepts:wdir\"/> shows the normal state of the working " 1.2282 +"directory, where it has a single changeset as parent. That changeset is the " 1.2283 +"<emphasis>tip</emphasis>, the newest changeset in the repository that has no " 1.2284 +"children." 1.2285 +msgstr "" 1.2286 + 1.2287 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.2288 +#: ../en/ch03-concepts.xml:357 1.2289 msgid "The working directory gains new parents after a commit" 1.2290 msgstr "" 1.2291 1.2292 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.2293 -#: ../en/ch03-concepts.xml:376 1.2294 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.2295 +#: ../en/ch03-concepts.xml:360 1.2296 +msgid "" 1.2297 +"<imageobject><imagedata fileref=\"figs/wdir-after-commit.png\"/></imageobject>" 1.2298 +msgstr "" 1.2299 + 1.2300 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.2301 +#: ../en/ch03-concepts.xml:365 1.2302 msgid "" 1.2303 "It's useful to think of the working directory as <quote>the changeset I'm " 1.2304 "about to commit</quote>. Any files that you tell Mercurial that you've " 1.2305 @@ -4689,23 +4697,22 @@ 1.2306 msgstr "" 1.2307 1.2308 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2309 -#: ../en/ch03-concepts.xml:384 1.2310 +#: ../en/ch03-concepts.xml:373 1.2311 msgid "" 1.2312 "After a commit, Mercurial will update the parents of the working directory, " 1.2313 "so that the first parent is the ID of the new changeset, and the second is " 1.2314 -"the null ID. This is shown in figure <xref endterm=\"fig.concepts.wdir-after-" 1.2315 -"commit.caption\" linkend=\"fig.concepts.wdir-after-commit\"/>. Mercurial " 1.2316 -"doesn't touch any of the files in the working directory when you commit; it " 1.2317 -"just modifies the dirstate to note its new parents." 1.2318 +"the null ID. This is shown in <xref linkend=\"fig:concepts:wdir-after-commit" 1.2319 +"\"/>. Mercurial doesn't touch any of the files in the working directory when " 1.2320 +"you commit; it just modifies the dirstate to note its new parents." 1.2321 msgstr "" 1.2322 1.2323 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2324 -#: ../en/ch03-concepts.xml:396 1.2325 +#: ../en/ch03-concepts.xml:384 1.2326 msgid "Creating a new head" 1.2327 msgstr "创建新顶点" 1.2328 1.2329 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2330 -#: ../en/ch03-concepts.xml:398 1.2331 +#: ../en/ch03-concepts.xml:386 1.2332 msgid "" 1.2333 "It's perfectly normal to update the working directory to a changeset other " 1.2334 "than the current tip. For example, you might want to know what your project " 1.2335 @@ -4714,24 +4721,22 @@ 1.2336 "update the working directory to the changeset you're interested in, and then " 1.2337 "examine the files in the working directory directly to see their contents as " 1.2338 "they were when you committed that changeset. The effect of this is shown in " 1.2339 -"figure <xref endterm=\"fig.concepts.wdir-pre-branch.caption\" linkend=\"fig." 1.2340 -"concepts.wdir-pre-branch\"/>." 1.2341 -msgstr "" 1.2342 - 1.2343 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.2344 -#: ../en/ch03-concepts.xml:412 1.2345 -msgid "" 1.2346 -"<imageobject><imagedata fileref=\"images/wdir-pre-branch.png\"/> </" 1.2347 -"imageobject>" 1.2348 -msgstr "" 1.2349 - 1.2350 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.2351 -#: ../en/ch03-concepts.xml:415 1.2352 +"<xref linkend=\"fig:concepts:wdir-pre-branch\"/>." 1.2353 +msgstr "" 1.2354 + 1.2355 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.2356 +#: ../en/ch03-concepts.xml:398 1.2357 msgid "The working directory, updated to an older changeset" 1.2358 msgstr "" 1.2359 1.2360 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.2361 -#: ../en/ch03-concepts.xml:420 1.2362 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.2363 +#: ../en/ch03-concepts.xml:401 1.2364 +msgid "" 1.2365 +"<imageobject><imagedata fileref=\"figs/wdir-pre-branch.png\"/></imageobject>" 1.2366 +msgstr "" 1.2367 + 1.2368 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.2369 +#: ../en/ch03-concepts.xml:406 1.2370 msgid "" 1.2371 "Having updated the working directory to an older changeset, what happens if " 1.2372 "you make some changes, and then commit? Mercurial behaves in the same way as " 1.2373 @@ -4739,23 +4744,21 @@ 1.2374 "the new changeset. This new changeset has no children, so it becomes the new " 1.2375 "tip. And the repository now contains two changesets that have no children; " 1.2376 "we call these <emphasis>heads</emphasis>. You can see the structure that " 1.2377 -"this creates in figure <xref endterm=\"fig.concepts.wdir-branch.caption\" " 1.2378 -"linkend=\"fig.concepts.wdir-branch\"/>." 1.2379 -msgstr "" 1.2380 - 1.2381 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.2382 -#: ../en/ch03-concepts.xml:434 1.2383 -msgid "" 1.2384 -"<imageobject><imagedata fileref=\"images/wdir-branch.png\"/> </imageobject>" 1.2385 -msgstr "" 1.2386 - 1.2387 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.2388 -#: ../en/ch03-concepts.xml:437 1.2389 +"this creates in <xref linkend=\"fig:concepts:wdir-branch\"/>." 1.2390 +msgstr "" 1.2391 + 1.2392 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.2393 +#: ../en/ch03-concepts.xml:418 1.2394 msgid "After a commit made while synced to an older changeset" 1.2395 msgstr "" 1.2396 1.2397 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.2398 +#: ../en/ch03-concepts.xml:421 1.2399 +msgid "<imageobject><imagedata fileref=\"figs/wdir-branch.png\"/></imageobject>" 1.2400 +msgstr "" 1.2401 + 1.2402 #. type: Content of: <book><chapter><sect1><sect2><note><para> 1.2403 -#: ../en/ch03-concepts.xml:443 1.2404 +#: ../en/ch03-concepts.xml:427 1.2405 msgid "" 1.2406 "If you're new to Mercurial, you should keep in mind a common <quote>error</" 1.2407 "quote>, which is to use the <command role=\"hg-cmd\">hg pull</command> " 1.2408 @@ -4769,7 +4772,7 @@ 1.2409 msgstr "" 1.2410 1.2411 #. type: Content of: <book><chapter><sect1><sect2><note><para> 1.2412 -#: ../en/ch03-concepts.xml:455 1.2413 +#: ../en/ch03-concepts.xml:439 1.2414 msgid "" 1.2415 "I put the word <quote>error</quote> in quotes because all that you need to do " 1.2416 "to rectify this situation is <command role=\"hg-cmd\">hg merge</command>, " 1.2417 @@ -4780,33 +4783,32 @@ 1.2418 msgstr "" 1.2419 1.2420 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2421 -#: ../en/ch03-concepts.xml:467 1.2422 +#: ../en/ch03-concepts.xml:451 1.2423 msgid "Merging heads" 1.2424 msgstr "合并顶点" 1.2425 1.2426 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2427 -#: ../en/ch03-concepts.xml:469 1.2428 +#: ../en/ch03-concepts.xml:453 1.2429 msgid "" 1.2430 "When you run the <command role=\"hg-cmd\">hg merge</command> command, " 1.2431 "Mercurial leaves the first parent of the working directory unchanged, and " 1.2432 "sets the second parent to the changeset you're merging with, as shown in " 1.2433 -"figure <xref endterm=\"fig.concepts.wdir-merge.caption\" linkend=\"fig." 1.2434 -"concepts.wdir-merge\"/>." 1.2435 -msgstr "" 1.2436 - 1.2437 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.2438 -#: ../en/ch03-concepts.xml:478 1.2439 -msgid "" 1.2440 -"<imageobject><imagedata fileref=\"images/wdir-merge.png\"/> </imageobject>" 1.2441 -msgstr "" 1.2442 - 1.2443 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.2444 -#: ../en/ch03-concepts.xml:481 1.2445 +"<xref linkend=\"fig:concepts:wdir-merge\"/>." 1.2446 +msgstr "" 1.2447 + 1.2448 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.2449 +#: ../en/ch03-concepts.xml:460 1.2450 msgid "Merging two heads" 1.2451 msgstr "" 1.2452 1.2453 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.2454 -#: ../en/ch03-concepts.xml:486 1.2455 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.2456 +#: ../en/ch03-concepts.xml:462 1.2457 +msgid "" 1.2458 +"<imageobject> <imagedata fileref=\"figs/wdir-merge.png\"/> </imageobject>" 1.2459 +msgstr "" 1.2460 + 1.2461 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.2462 +#: ../en/ch03-concepts.xml:469 1.2463 msgid "" 1.2464 "Mercurial also has to modify the working directory, to merge the files " 1.2465 "managed in the two changesets. Simplified a little, the merging process goes " 1.2466 @@ -4814,33 +4816,33 @@ 1.2467 msgstr "" 1.2468 1.2469 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.2470 -#: ../en/ch03-concepts.xml:491 1.2471 +#: ../en/ch03-concepts.xml:474 1.2472 msgid "If neither changeset has modified a file, do nothing with that file." 1.2473 msgstr "" 1.2474 1.2475 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.2476 -#: ../en/ch03-concepts.xml:494 1.2477 +#: ../en/ch03-concepts.xml:477 1.2478 msgid "" 1.2479 "If one changeset has modified a file, and the other hasn't, create the " 1.2480 "modified copy of the file in the working directory." 1.2481 msgstr "" 1.2482 1.2483 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.2484 -#: ../en/ch03-concepts.xml:498 1.2485 +#: ../en/ch03-concepts.xml:481 1.2486 msgid "" 1.2487 "If one changeset has removed a file, and the other hasn't (or has also " 1.2488 "deleted it), delete the file from the working directory." 1.2489 msgstr "" 1.2490 1.2491 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.2492 -#: ../en/ch03-concepts.xml:502 1.2493 +#: ../en/ch03-concepts.xml:485 1.2494 msgid "" 1.2495 "If one changeset has removed a file, but the other has modified the file, ask " 1.2496 "the user what to do: keep the modified file, or remove it?" 1.2497 msgstr "" 1.2498 1.2499 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.2500 -#: ../en/ch03-concepts.xml:506 1.2501 +#: ../en/ch03-concepts.xml:489 1.2502 msgid "" 1.2503 "If both changesets have modified a file, invoke an external merge program to " 1.2504 "choose the new contents for the merged file. This may require input from the " 1.2505 @@ -4848,14 +4850,14 @@ 1.2506 msgstr "" 1.2507 1.2508 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.2509 -#: ../en/ch03-concepts.xml:511 1.2510 +#: ../en/ch03-concepts.xml:494 1.2511 msgid "" 1.2512 "If one changeset has modified a file, and the other has renamed or copied the " 1.2513 "file, make sure that the changes follow the new name of the file." 1.2514 msgstr "" 1.2515 1.2516 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2517 -#: ../en/ch03-concepts.xml:515 1.2518 +#: ../en/ch03-concepts.xml:498 1.2519 msgid "" 1.2520 "There are more details&emdash;merging has plenty of corner cases&emdash;but " 1.2521 "these are the most common choices that are involved in a merge. As you can " 1.2522 @@ -4864,7 +4866,7 @@ 1.2523 msgstr "" 1.2524 1.2525 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2526 -#: ../en/ch03-concepts.xml:522 1.2527 +#: ../en/ch03-concepts.xml:505 1.2528 msgid "" 1.2529 "When you're thinking about what happens when you commit after a merge, once " 1.2530 "again the working directory is <quote>the changeset I'm about to commit</" 1.2531 @@ -4874,7 +4876,7 @@ 1.2532 msgstr "" 1.2533 1.2534 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2535 -#: ../en/ch03-concepts.xml:529 1.2536 +#: ../en/ch03-concepts.xml:512 1.2537 msgid "" 1.2538 "Mercurial lets you perform multiple merges, but you must commit the results " 1.2539 "of each individual merge as you go. This is necessary because Mercurial only " 1.2540 @@ -4885,12 +4887,12 @@ 1.2541 msgstr "" 1.2542 1.2543 #. type: Content of: <book><chapter><sect1><title> 1.2544 -#: ../en/ch03-concepts.xml:540 1.2545 +#: ../en/ch03-concepts.xml:523 1.2546 msgid "Other interesting design features" 1.2547 msgstr "其它有趣的设计特性" 1.2548 1.2549 #. type: Content of: <book><chapter><sect1><para> 1.2550 -#: ../en/ch03-concepts.xml:542 1.2551 +#: ../en/ch03-concepts.xml:525 1.2552 msgid "" 1.2553 "In the sections above, I've tried to highlight some of the most important " 1.2554 "aspects of Mercurial's design, to illustrate that it pays careful attention " 1.2555 @@ -4903,12 +4905,12 @@ 1.2556 msgstr "" 1.2557 1.2558 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2559 -#: ../en/ch03-concepts.xml:553 1.2560 +#: ../en/ch03-concepts.xml:536 1.2561 msgid "Clever compression" 1.2562 msgstr "智能压缩" 1.2563 1.2564 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2565 -#: ../en/ch03-concepts.xml:555 1.2566 +#: ../en/ch03-concepts.xml:538 1.2567 msgid "" 1.2568 "When appropriate, Mercurial will store both snapshots and deltas in " 1.2569 "compressed form. It does this by always <emphasis>trying to</emphasis> " 1.2570 @@ -4917,7 +4919,7 @@ 1.2571 msgstr "" 1.2572 1.2573 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2574 -#: ../en/ch03-concepts.xml:561 1.2575 +#: ../en/ch03-concepts.xml:544 1.2576 msgid "" 1.2577 "This means that Mercurial does <quote>the right thing</quote> when storing a " 1.2578 "file whose native form is compressed, such as a <literal>zip</literal> " 1.2579 @@ -4927,7 +4929,7 @@ 1.2580 msgstr "" 1.2581 1.2582 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2583 -#: ../en/ch03-concepts.xml:569 1.2584 +#: ../en/ch03-concepts.xml:552 1.2585 msgid "" 1.2586 "Deltas between revisions of a compressed file are usually larger than " 1.2587 "snapshots of the file, and Mercurial again does <quote>the right thing</" 1.2588 @@ -4937,12 +4939,12 @@ 1.2589 msgstr "" 1.2590 1.2591 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.2592 -#: ../en/ch03-concepts.xml:578 1.2593 +#: ../en/ch03-concepts.xml:561 1.2594 msgid "Network recompression" 1.2595 msgstr "网络重新压缩" 1.2596 1.2597 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.2598 -#: ../en/ch03-concepts.xml:580 1.2599 +#: ../en/ch03-concepts.xml:563 1.2600 msgid "" 1.2601 "When storing revisions on disk, Mercurial uses the <quote>deflate</quote> " 1.2602 "compression algorithm (the same one used by the popular <literal>zip</" 1.2603 @@ -4952,7 +4954,7 @@ 1.2604 msgstr "" 1.2605 1.2606 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.2607 -#: ../en/ch03-concepts.xml:588 1.2608 +#: ../en/ch03-concepts.xml:571 1.2609 msgid "" 1.2610 "If the connection is over HTTP, Mercurial recompresses the entire stream of " 1.2611 "data using a compression algorithm that gives a better compression ratio (the " 1.2612 @@ -4964,7 +4966,7 @@ 1.2613 msgstr "" 1.2614 1.2615 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.2616 -#: ../en/ch03-concepts.xml:598 1.2617 +#: ../en/ch03-concepts.xml:581 1.2618 msgid "" 1.2619 "(If the connection is over <command>ssh</command>, Mercurial " 1.2620 "<emphasis>doesn't</emphasis> recompress the stream, because <command>ssh</" 1.2621 @@ -4972,22 +4974,22 @@ 1.2622 msgstr "" 1.2623 1.2624 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2625 -#: ../en/ch03-concepts.xml:606 1.2626 +#: ../en/ch03-concepts.xml:589 1.2627 msgid "Read/write ordering and atomicity" 1.2628 msgstr "读写顺序与原子性" 1.2629 1.2630 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2631 -#: ../en/ch03-concepts.xml:608 1.2632 +#: ../en/ch03-concepts.xml:591 1.2633 msgid "" 1.2634 "Appending to files isn't the whole story when it comes to guaranteeing that a " 1.2635 -"reader won't see a partial write. If you recall figure <xref endterm=\"fig." 1.2636 -"concepts.metadata.caption\" linkend=\"fig.concepts.metadata\"/>, revisions in " 1.2637 -"the changelog point to revisions in the manifest, and revisions in the " 1.2638 -"manifest point to revisions in filelogs. This hierarchy is deliberate." 1.2639 -msgstr "" 1.2640 - 1.2641 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.2642 -#: ../en/ch03-concepts.xml:616 1.2643 +"reader won't see a partial write. If you recall <xref linkend=\"fig:concepts:" 1.2644 +"metadata\"/>, revisions in the changelog point to revisions in the manifest, " 1.2645 +"and revisions in the manifest point to revisions in filelogs. This hierarchy " 1.2646 +"is deliberate." 1.2647 +msgstr "" 1.2648 + 1.2649 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.2650 +#: ../en/ch03-concepts.xml:599 1.2651 msgid "" 1.2652 "A writer starts a transaction by writing filelog and manifest data, and " 1.2653 "doesn't write any changelog data until those are finished. A reader starts " 1.2654 @@ -4995,7 +4997,7 @@ 1.2655 msgstr "" 1.2656 1.2657 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2658 -#: ../en/ch03-concepts.xml:621 1.2659 +#: ../en/ch03-concepts.xml:604 1.2660 msgid "" 1.2661 "Since the writer has always finished writing filelog and manifest data before " 1.2662 "it writes to the changelog, a reader will never read a pointer to a partially " 1.2663 @@ -5004,12 +5006,12 @@ 1.2664 msgstr "" 1.2665 1.2666 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2667 -#: ../en/ch03-concepts.xml:629 1.2668 +#: ../en/ch03-concepts.xml:612 1.2669 msgid "Concurrent access" 1.2670 msgstr "并发访问" 1.2671 1.2672 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2673 -#: ../en/ch03-concepts.xml:631 1.2674 +#: ../en/ch03-concepts.xml:614 1.2675 msgid "" 1.2676 "The read/write ordering and atomicity guarantees mean that Mercurial never " 1.2677 "needs to <emphasis>lock</emphasis> a repository when it's reading data, even " 1.2678 @@ -5020,7 +5022,7 @@ 1.2679 msgstr "" 1.2680 1.2681 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2682 -#: ../en/ch03-concepts.xml:640 1.2683 +#: ../en/ch03-concepts.xml:623 1.2684 msgid "" 1.2685 "The lockless nature of reading means that if you're sharing a repository on a " 1.2686 "multi-user system, you don't need to grant other local users permission to " 1.2687 @@ -5034,7 +5036,7 @@ 1.2688 msgstr "" 1.2689 1.2690 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2691 -#: ../en/ch03-concepts.xml:653 1.2692 +#: ../en/ch03-concepts.xml:636 1.2693 msgid "" 1.2694 "Mercurial uses locks to ensure that only one process can write to a " 1.2695 "repository at a time (the locking mechanism is safe even over filesystems " 1.2696 @@ -5048,12 +5050,12 @@ 1.2697 msgstr "" 1.2698 1.2699 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.2700 -#: ../en/ch03-concepts.xml:665 1.2701 +#: ../en/ch03-concepts.xml:648 1.2702 msgid "Safe dirstate access" 1.2703 msgstr "安全的目录状态访问" 1.2704 1.2705 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.2706 -#: ../en/ch03-concepts.xml:667 1.2707 +#: ../en/ch03-concepts.xml:650 1.2708 msgid "" 1.2709 "As with revision data, Mercurial doesn't take a lock to read the dirstate " 1.2710 "file; it does acquire a lock to write it. To avoid the possibility of " 1.2711 @@ -5065,12 +5067,12 @@ 1.2712 msgstr "" 1.2713 1.2714 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2715 -#: ../en/ch03-concepts.xml:680 1.2716 +#: ../en/ch03-concepts.xml:663 1.2717 msgid "Avoiding seeks" 1.2718 msgstr "避免查找" 1.2719 1.2720 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2721 -#: ../en/ch03-concepts.xml:682 1.2722 +#: ../en/ch03-concepts.xml:665 1.2723 msgid "" 1.2724 "Critical to Mercurial's performance is the avoidance of seeks of the disk " 1.2725 "head, since any seek is far more expensive than even a comparatively large " 1.2726 @@ -5078,7 +5080,7 @@ 1.2727 msgstr "" 1.2728 1.2729 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2730 -#: ../en/ch03-concepts.xml:686 1.2731 +#: ../en/ch03-concepts.xml:669 1.2732 msgid "" 1.2733 "This is why, for example, the dirstate is stored in a single file. If there " 1.2734 "were a dirstate file per directory that Mercurial tracked, the disk would " 1.2735 @@ -5087,7 +5089,7 @@ 1.2736 msgstr "" 1.2737 1.2738 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2739 -#: ../en/ch03-concepts.xml:692 1.2740 +#: ../en/ch03-concepts.xml:675 1.2741 msgid "" 1.2742 "Mercurial also uses a <quote>copy on write</quote> scheme when cloning a " 1.2743 "repository on local storage. Instead of copying every revlog file from the " 1.2744 @@ -5100,7 +5102,7 @@ 1.2745 msgstr "" 1.2746 1.2747 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2748 -#: ../en/ch03-concepts.xml:703 1.2749 +#: ../en/ch03-concepts.xml:686 1.2750 msgid "" 1.2751 "A few revision control developers have pointed out that this idea of making a " 1.2752 "complete private copy of a file is not very efficient in its use of storage. " 1.2753 @@ -5112,12 +5114,12 @@ 1.2754 msgstr "" 1.2755 1.2756 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2757 -#: ../en/ch03-concepts.xml:715 1.2758 +#: ../en/ch03-concepts.xml:698 1.2759 msgid "Other contents of the dirstate" 1.2760 msgstr "目录状态的其它内容" 1.2761 1.2762 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2763 -#: ../en/ch03-concepts.xml:717 1.2764 +#: ../en/ch03-concepts.xml:700 1.2765 msgid "" 1.2766 "Because Mercurial doesn't force you to tell it when you're modifying a file, " 1.2767 "it uses the dirstate to store some extra information so it can determine " 1.2768 @@ -5127,7 +5129,7 @@ 1.2769 msgstr "" 1.2770 1.2771 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2772 -#: ../en/ch03-concepts.xml:724 1.2773 +#: ../en/ch03-concepts.xml:707 1.2774 msgid "" 1.2775 "When you explicitly <command role=\"hg-cmd\">hg add</command>, <command role=" 1.2776 "\"hg-cmd\">hg remove</command>, <command role=\"hg-cmd\">hg rename</command> " 1.2777 @@ -5136,7 +5138,7 @@ 1.2778 msgstr "" 1.2779 1.2780 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2781 -#: ../en/ch03-concepts.xml:731 1.2782 +#: ../en/ch03-concepts.xml:714 1.2783 msgid "" 1.2784 "When Mercurial is checking the states of files in the working directory, it " 1.2785 "first checks a file's modification time. If that has not changed, the file " 1.2786 @@ -5572,9 +5574,9 @@ 1.2787 "propagating changes across copies is not for you, simply use your system's " 1.2788 "normal file copy command (on Unix-like systems, that's <command>cp</command>) " 1.2789 "to make a copy of a file, then <command role=\"hg-cmd\">hg add</command> the " 1.2790 -"new copy by hand. Before you do so, though, please do reread section <xref " 1.2791 -"linkend=\"sec.daily.why-copy\"/>, and make an informed decision that this " 1.2792 -"behaviour is not appropriate to your specific case." 1.2793 +"new copy by hand. Before you do so, though, please do reread <xref linkend=" 1.2794 +"\"sec:daily:why-copy\"/>, and make an informed decision that this behaviour " 1.2795 +"is not appropriate to your specific case." 1.2796 msgstr "" 1.2797 1.2798 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2799 @@ -5830,7 +5832,7 @@ 1.2800 msgid "" 1.2801 "For more information about the <command role=\"hg-cmd\">hg revert</command> " 1.2802 "command, and details about how to deal with changes you have already " 1.2803 -"committed, see chapter <xref linkend=\"chap.undo\"/>." 1.2804 +"committed, see <xref linkend=\"chap:undo\"/>." 1.2805 msgstr "" 1.2806 1.2807 #. type: Content of: <book><chapter><title> 1.2808 @@ -5904,12 +5906,12 @@ 1.2809 "If you're interested in providing a web interface to your own repositories, " 1.2810 "Mercurial provides two ways to do this. The first is using the <command role=" 1.2811 "\"hg-cmd\">hg serve</command> command, which is best suited to short-term " 1.2812 -"<quote>lightweight</quote> serving. See section <xref linkend=\"sec.collab." 1.2813 -"serve\"/> below for details of how to use this command. If you have a long-" 1.2814 -"lived repository that you'd like to make permanently available, Mercurial has " 1.2815 -"built-in support for the CGI (Common Gateway Interface) standard, which all " 1.2816 -"common web servers support. See section <xref linkend=\"sec.collab.cgi\"/> " 1.2817 -"for details of CGI configuration." 1.2818 +"<quote>lightweight</quote> serving. See <xref linkend=\"sec:collab:serve\"/> " 1.2819 +"below for details of how to use this command. If you have a long-lived " 1.2820 +"repository that you'd like to make permanently available, Mercurial has built-" 1.2821 +"in support for the CGI (Common Gateway Interface) standard, which all common " 1.2822 +"web servers support. See <xref linkend=\"sec:collab:cgi\"/> for details of " 1.2823 +"CGI configuration." 1.2824 msgstr "" 1.2825 1.2826 #. type: Content of: <book><chapter><sect1><title> 1.2827 @@ -5999,13 +6001,13 @@ 1.2828 "A sprint is the perfect place to use the <command role=\"hg-cmd\">hg serve</" 1.2829 "command> command, since <command role=\"hg-cmd\">hg serve</command> does not " 1.2830 "require any fancy server infrastructure. You can get started with <command " 1.2831 -"role=\"hg-cmd\">hg serve</command> in moments, by reading section <xref " 1.2832 -"linkend=\"sec.collab.serve\"/> below. Then simply tell the person next to " 1.2833 -"you that you're running a server, send the URL to them in an instant message, " 1.2834 -"and you immediately have a quick-turnaround way to work together. They can " 1.2835 -"type your URL into their web browser and quickly review your changes; or they " 1.2836 -"can pull a bugfix from you and verify it; or they can clone a branch " 1.2837 -"containing a new feature and try it out." 1.2838 +"role=\"hg-cmd\">hg serve</command> in moments, by reading <xref linkend=\"sec:" 1.2839 +"collab:serve\"/> below. Then simply tell the person next to you that you're " 1.2840 +"running a server, send the URL to them in an instant message, and you " 1.2841 +"immediately have a quick-turnaround way to work together. They can type your " 1.2842 +"URL into their web browser and quickly review your changes; or they can pull " 1.2843 +"a bugfix from you and verify it; or they can clone a branch containing a new " 1.2844 +"feature and try it out." 1.2845 msgstr "" 1.2846 1.2847 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2848 @@ -6059,20 +6061,20 @@ 1.2849 msgid "" 1.2850 "In this kind of scenario, people usually use the <command>ssh</command> " 1.2851 "protocol to securely push changes to the central repository, as documented in " 1.2852 -"section <xref linkend=\"sec.collab.ssh\"/>. It's also usual to publish a " 1.2853 -"read-only copy of the repository over HTTP using CGI, as in section <xref " 1.2854 -"linkend=\"sec.collab.cgi\"/>. Publishing over HTTP satisfies the needs of " 1.2855 -"people who don't have push access, and those who want to use web browsers to " 1.2856 -"browse the repository's history." 1.2857 +"<xref linkend=\"sec:collab:ssh\"/>. It's also usual to publish a read-only " 1.2858 +"copy of the repository over HTTP using CGI, as in <xref linkend=\"sec:collab:" 1.2859 +"cgi\"/>. Publishing over HTTP satisfies the needs of people who don't have " 1.2860 +"push access, and those who want to use web browsers to browse the " 1.2861 +"repository's history." 1.2862 msgstr "" 1.2863 1.2864 #. type: Content of: <book><chapter><sect1><sect2><title> 1.2865 -#: ../en/ch05-collab.xml:178 1.2866 +#: ../en/ch05-collab.xml:177 1.2867 msgid "Working with multiple branches" 1.2868 msgstr "使用多个分支工作" 1.2869 1.2870 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2871 -#: ../en/ch05-collab.xml:180 1.2872 +#: ../en/ch05-collab.xml:179 1.2873 msgid "" 1.2874 "Projects of any significant size naturally tend to make progress on several " 1.2875 "fronts simultaneously. In the case of software, it's common for a project to " 1.2876 @@ -6086,7 +6088,7 @@ 1.2877 msgstr "" 1.2878 1.2879 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2880 -#: ../en/ch05-collab.xml:193 1.2881 +#: ../en/ch05-collab.xml:192 1.2882 msgid "" 1.2883 "Mercurial is particularly well suited to managing a number of simultaneous, " 1.2884 "but not identical, branches. Each <quote>development direction</quote> can " 1.2885 @@ -6097,19 +6099,19 @@ 1.2886 msgstr "" 1.2887 1.2888 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2889 -#: ../en/ch05-collab.xml:202 1.2890 +#: ../en/ch05-collab.xml:201 1.2891 msgid "" 1.2892 "Here's an example of how this can work in practice. Let's say you have one " 1.2893 "<quote>main branch</quote> on a central server." 1.2894 msgstr "" 1.2895 1.2896 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2897 -#: ../en/ch05-collab.xml:208 1.2898 +#: ../en/ch05-collab.xml:207 1.2899 msgid "People clone it, make changes locally, test them, and push them back." 1.2900 msgstr "" 1.2901 1.2902 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2903 -#: ../en/ch05-collab.xml:211 1.2904 +#: ../en/ch05-collab.xml:210 1.2905 msgid "" 1.2906 "Once the main branch reaches a release milestone, you can use the <command " 1.2907 "role=\"hg-cmd\">hg tag</command> command to give a permanent name to the " 1.2908 @@ -6117,12 +6119,12 @@ 1.2909 msgstr "" 1.2910 1.2911 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2912 -#: ../en/ch05-collab.xml:217 1.2913 +#: ../en/ch05-collab.xml:216 1.2914 msgid "Let's say some ongoing development occurs on the main branch." 1.2915 msgstr "" 1.2916 1.2917 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2918 -#: ../en/ch05-collab.xml:222 1.2919 +#: ../en/ch05-collab.xml:221 1.2920 msgid "" 1.2921 "Using the tag that was recorded at the milestone, people who clone that " 1.2922 "repository at any time in the future can use <command role=\"hg-cmd\">hg " 1.2923 @@ -6132,7 +6134,7 @@ 1.2924 1.2925 # 1.2926 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2927 -#: ../en/ch05-collab.xml:230 1.2928 +#: ../en/ch05-collab.xml:229 1.2929 msgid "" 1.2930 "In addition, immediately after the main branch is tagged, someone can then " 1.2931 "clone the main branch on the server to a new <quote>stable</quote> branch, " 1.2932 @@ -6140,7 +6142,7 @@ 1.2933 msgstr "" 1.2934 1.2935 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2936 -#: ../en/ch05-collab.xml:236 1.2937 +#: ../en/ch05-collab.xml:235 1.2938 msgid "" 1.2939 "Someone who needs to make a change to the stable branch can then clone " 1.2940 "<emphasis>that</emphasis> repository, make their changes, commit, and push " 1.2941 @@ -6148,7 +6150,7 @@ 1.2942 msgstr "" 1.2943 1.2944 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2945 -#: ../en/ch05-collab.xml:242 1.2946 +#: ../en/ch05-collab.xml:241 1.2947 msgid "" 1.2948 "Because Mercurial repositories are independent, and Mercurial doesn't move " 1.2949 "changes around automatically, the stable and main branches are " 1.2950 @@ -6158,7 +6160,7 @@ 1.2951 msgstr "" 1.2952 1.2953 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2954 -#: ../en/ch05-collab.xml:249 1.2955 +#: ../en/ch05-collab.xml:248 1.2956 msgid "" 1.2957 "You'll often want all of your bugfixes on the stable branch to show up on the " 1.2958 "main branch, too. Rather than rewrite a bugfix on the main branch, you can " 1.2959 @@ -6167,20 +6169,20 @@ 1.2960 msgstr "" 1.2961 1.2962 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2963 -#: ../en/ch05-collab.xml:257 1.2964 +#: ../en/ch05-collab.xml:256 1.2965 msgid "" 1.2966 "The main branch will still contain changes that are not on the stable branch, " 1.2967 "but it will also contain all of the bugfixes from the stable branch. The " 1.2968 "stable branch remains unaffected by these changes." 1.2969 msgstr "" 1.2970 1.2971 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.2972 -#: ../en/ch05-collab.xml:264 ../en/ch05-collab.xml:278 1.2973 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.2974 +#: ../en/ch05-collab.xml:263 ../en/ch05-collab.xml:273 1.2975 msgid "Feature branches" 1.2976 msgstr "特性分支" 1.2977 1.2978 #. type: Content of: <book><chapter><sect1><sect2><para> 1.2979 -#: ../en/ch05-collab.xml:266 1.2980 +#: ../en/ch05-collab.xml:265 1.2981 msgid "" 1.2982 "For larger projects, an effective way to manage change is to break up a team " 1.2983 "into smaller groups. Each group has a shared branch of its own, cloned from " 1.2984 @@ -6189,15 +6191,15 @@ 1.2985 "developments on other branches." 1.2986 msgstr "" 1.2987 1.2988 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.2989 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.2990 #: ../en/ch05-collab.xml:275 1.2991 msgid "" 1.2992 -"<imageobject><imagedata fileref=\"images/feature-branches.png\"/> </" 1.2993 -"imageobject>" 1.2994 -msgstr "" 1.2995 - 1.2996 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.2997 -#: ../en/ch05-collab.xml:283 1.2998 +"<imageobject><imagedata width=\"100%\" fileref=\"figs/feature-branches.png\"/" 1.2999 +"></imageobject>" 1.3000 +msgstr "" 1.3001 + 1.3002 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.3003 +#: ../en/ch05-collab.xml:280 1.3004 msgid "" 1.3005 "When a particular feature is deemed to be in suitable shape, someone on that " 1.3006 "feature team pulls and merges from the master branch into the feature branch, " 1.3007 @@ -6205,12 +6207,12 @@ 1.3008 msgstr "" 1.3009 1.3010 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3011 -#: ../en/ch05-collab.xml:290 1.3012 +#: ../en/ch05-collab.xml:287 1.3013 msgid "The release train" 1.3014 msgstr "发布列车" 1.3015 1.3016 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3017 -#: ../en/ch05-collab.xml:292 1.3018 +#: ../en/ch05-collab.xml:289 1.3019 msgid "" 1.3020 "Some projects are organised on a <quote>train</quote> basis: a release is " 1.3021 "scheduled to happen every few months, and whatever features are ready when " 1.3022 @@ -6218,7 +6220,7 @@ 1.3023 msgstr "" 1.3024 1.3025 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3026 -#: ../en/ch05-collab.xml:297 1.3027 +#: ../en/ch05-collab.xml:294 1.3028 msgid "" 1.3029 "This model resembles working with feature branches. The difference is that " 1.3030 "when a feature branch misses a train, someone on the feature team pulls and " 1.3031 @@ -6228,12 +6230,12 @@ 1.3032 msgstr "" 1.3033 1.3034 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3035 -#: ../en/ch05-collab.xml:306 1.3036 +#: ../en/ch05-collab.xml:303 1.3037 msgid "The Linux kernel model" 1.3038 msgstr "Linux 内核模型" 1.3039 1.3040 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3041 -#: ../en/ch05-collab.xml:308 1.3042 +#: ../en/ch05-collab.xml:305 1.3043 msgid "" 1.3044 "The development of the Linux kernel has a shallow hierarchical structure, " 1.3045 "surrounded by a cloud of apparent chaos. Because most Linux developers use " 1.3046 @@ -6243,7 +6245,7 @@ 1.3047 msgstr "" 1.3048 1.3049 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3050 -#: ../en/ch05-collab.xml:316 1.3051 +#: ../en/ch05-collab.xml:313 1.3052 msgid "" 1.3053 "At the center of the community sits Linus Torvalds, the creator of Linux. He " 1.3054 "publishes a single source repository that is considered the " 1.3055 @@ -6253,7 +6255,7 @@ 1.3056 msgstr "" 1.3057 1.3058 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3059 -#: ../en/ch05-collab.xml:323 1.3060 +#: ../en/ch05-collab.xml:320 1.3061 msgid "" 1.3062 "Linus has a number of <quote>trusted lieutenants</quote>. As a general rule, " 1.3063 "he pulls whatever changes they publish, in most cases without even reviewing " 1.3064 @@ -6267,7 +6269,7 @@ 1.3065 msgstr "" 1.3066 1.3067 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3068 -#: ../en/ch05-collab.xml:335 1.3069 +#: ../en/ch05-collab.xml:332 1.3070 msgid "" 1.3071 "Individual lieutenants have their own approaches to reviewing, accepting, and " 1.3072 "publishing changes; and for deciding when to feed them to Linus. In " 1.3073 @@ -6280,7 +6282,7 @@ 1.3074 msgstr "" 1.3075 1.3076 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3077 -#: ../en/ch05-collab.xml:346 1.3078 +#: ../en/ch05-collab.xml:343 1.3079 msgid "" 1.3080 "This model has two notable features. The first is that it's <quote>pull " 1.3081 "only</quote>. You have to ask, convince, or beg another developer to take a " 1.3082 @@ -6290,7 +6292,7 @@ 1.3083 msgstr "" 1.3084 1.3085 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3086 -#: ../en/ch05-collab.xml:353 1.3087 +#: ../en/ch05-collab.xml:350 1.3088 msgid "" 1.3089 "The second is that it's based on reputation and acclaim. If you're an " 1.3090 "unknown, Linus will probably ignore changes from you without even " 1.3091 @@ -6304,7 +6306,7 @@ 1.3092 msgstr "" 1.3093 1.3094 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3095 -#: ../en/ch05-collab.xml:364 1.3096 +#: ../en/ch05-collab.xml:361 1.3097 msgid "" 1.3098 "Reputation and acclaim don't necessarily cross subsystem or <quote>people</" 1.3099 "quote> boundaries. If you're a respected but specialised storage hacker, and " 1.3100 @@ -6313,7 +6315,7 @@ 1.3101 msgstr "" 1.3102 1.3103 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3104 -#: ../en/ch05-collab.xml:371 1.3105 +#: ../en/ch05-collab.xml:368 1.3106 msgid "" 1.3107 "To people who come from more orderly project backgrounds, the comparatively " 1.3108 "chaotic Linux kernel development process often seems completely insane. It's " 1.3109 @@ -6323,12 +6325,12 @@ 1.3110 msgstr "" 1.3111 1.3112 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3113 -#: ../en/ch05-collab.xml:381 1.3114 +#: ../en/ch05-collab.xml:378 1.3115 msgid "Pull-only versus shared-push collaboration" 1.3116 msgstr "只读与共享写协作" 1.3117 1.3118 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3119 -#: ../en/ch05-collab.xml:383 1.3120 +#: ../en/ch05-collab.xml:380 1.3121 msgid "" 1.3122 "A perpetual source of heat in the open source community is whether a " 1.3123 "development model in which people only ever pull changes from others is " 1.3124 @@ -6337,7 +6339,7 @@ 1.3125 msgstr "" 1.3126 1.3127 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3128 -#: ../en/ch05-collab.xml:389 1.3129 +#: ../en/ch05-collab.xml:386 1.3130 msgid "" 1.3131 "Typically, the backers of the shared-push model use tools that actively " 1.3132 "enforce this approach. If you're using a centralised revision control tool " 1.3133 @@ -6348,7 +6350,7 @@ 1.3134 msgstr "" 1.3135 1.3136 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3137 -#: ../en/ch05-collab.xml:397 1.3138 +#: ../en/ch05-collab.xml:394 1.3139 msgid "" 1.3140 "A good distributed revision control tool, such as Mercurial, will support " 1.3141 "both models. You and your collaborators can then structure how you work " 1.3142 @@ -6357,41 +6359,40 @@ 1.3143 msgstr "" 1.3144 1.3145 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3146 -#: ../en/ch05-collab.xml:405 1.3147 +#: ../en/ch05-collab.xml:402 1.3148 msgid "Where collaboration meets branch management" 1.3149 msgstr "协作与分支管理" 1.3150 1.3151 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3152 -#: ../en/ch05-collab.xml:407 1.3153 +#: ../en/ch05-collab.xml:404 1.3154 msgid "" 1.3155 "Once you and your team set up some shared repositories and start propagating " 1.3156 "changes back and forth between local and shared repos, you begin to face a " 1.3157 "related, but slightly different challenge: that of managing the multiple " 1.3158 "directions in which your team may be moving at once. Even though this " 1.3159 "subject is intimately related to how your team collaborates, it's dense " 1.3160 -"enough to merit treatment of its own, in chapter <xref linkend=\"chap.branch" 1.3161 -"\"/>." 1.3162 +"enough to merit treatment of its own, in <xref linkend=\"chap:branch\"/>." 1.3163 msgstr "" 1.3164 1.3165 #. type: Content of: <book><chapter><sect1><title> 1.3166 -#: ../en/ch05-collab.xml:419 1.3167 +#: ../en/ch05-collab.xml:416 1.3168 msgid "The technical side of sharing" 1.3169 msgstr "共享的技术因素" 1.3170 1.3171 #. type: Content of: <book><chapter><sect1><para> 1.3172 -#: ../en/ch05-collab.xml:421 1.3173 +#: ../en/ch05-collab.xml:418 1.3174 msgid "" 1.3175 "The remainder of this chapter is devoted to the question of serving data to " 1.3176 "your collaborators." 1.3177 msgstr "" 1.3178 1.3179 #. type: Content of: <book><chapter><sect1><title> 1.3180 -#: ../en/ch05-collab.xml:426 1.3181 +#: ../en/ch05-collab.xml:423 1.3182 msgid "Informal sharing with <command role=\"hg-cmd\">hg serve</command>" 1.3183 msgstr "使用 <command role=\"hg-cmd\">hg serve</command> 进行非正式共享" 1.3184 1.3185 #. type: Content of: <book><chapter><sect1><para> 1.3186 -#: ../en/ch05-collab.xml:429 1.3187 +#: ../en/ch05-collab.xml:426 1.3188 msgid "" 1.3189 "Mercurial's <command role=\"hg-cmd\">hg serve</command> command is " 1.3190 "wonderfully suited to small, tight-knit, and fast-paced group environments. " 1.3191 @@ -6400,7 +6401,7 @@ 1.3192 msgstr "" 1.3193 1.3194 #. type: Content of: <book><chapter><sect1><para> 1.3195 -#: ../en/ch05-collab.xml:434 1.3196 +#: ../en/ch05-collab.xml:431 1.3197 msgid "" 1.3198 "Run <command role=\"hg-cmd\">hg serve</command> inside a repository, and in " 1.3199 "under a second it will bring up a specialised HTTP server; this will accept " 1.3200 @@ -6413,21 +6414,21 @@ 1.3201 msgstr "" 1.3202 1.3203 #. type: Content of: <book><chapter><sect1><para> 1.3204 -#: ../en/ch05-collab.xml:445 1.3205 +#: ../en/ch05-collab.xml:442 1.3206 msgid "" 1.3207 "The <command role=\"hg-cmd\">hg serve</command> command is <emphasis>not</" 1.3208 "emphasis> a general-purpose web server. It can do only two things:" 1.3209 msgstr "" 1.3210 1.3211 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.3212 -#: ../en/ch05-collab.xml:449 1.3213 +#: ../en/ch05-collab.xml:446 1.3214 msgid "" 1.3215 "Allow people to browse the history of the repository it's serving, from their " 1.3216 "normal web browsers." 1.3217 msgstr "" 1.3218 1.3219 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.3220 -#: ../en/ch05-collab.xml:453 1.3221 +#: ../en/ch05-collab.xml:450 1.3222 msgid "" 1.3223 "Speak Mercurial's wire protocol, so that people can <command role=\"hg-cmd" 1.3224 "\">hg clone</command> or <command role=\"hg-cmd\">hg pull</command> changes " 1.3225 @@ -6435,7 +6436,7 @@ 1.3226 msgstr "" 1.3227 1.3228 #. type: Content of: <book><chapter><sect1><para> 1.3229 -#: ../en/ch05-collab.xml:458 1.3230 +#: ../en/ch05-collab.xml:455 1.3231 msgid "" 1.3232 "In particular, <command role=\"hg-cmd\">hg serve</command> won't allow remote " 1.3233 "users to <emphasis>modify</emphasis> your repository. It's intended for read-" 1.3234 @@ -6443,7 +6444,7 @@ 1.3235 msgstr "" 1.3236 1.3237 #. type: Content of: <book><chapter><sect1><para> 1.3238 -#: ../en/ch05-collab.xml:462 1.3239 +#: ../en/ch05-collab.xml:459 1.3240 msgid "" 1.3241 "If you're getting started with Mercurial, there's nothing to prevent you from " 1.3242 "using <command role=\"hg-cmd\">hg serve</command> to serve up a repository on " 1.3243 @@ -6454,12 +6455,12 @@ 1.3244 msgstr "" 1.3245 1.3246 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3247 -#: ../en/ch05-collab.xml:472 1.3248 +#: ../en/ch05-collab.xml:469 1.3249 msgid "A few things to keep in mind" 1.3250 msgstr "要牢记的几件事" 1.3251 1.3252 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3253 -#: ../en/ch05-collab.xml:474 1.3254 +#: ../en/ch05-collab.xml:471 1.3255 msgid "" 1.3256 "Because it provides unauthenticated read access to all clients, you should " 1.3257 "only use <command role=\"hg-cmd\">hg serve</command> in an environment where " 1.3258 @@ -6468,7 +6469,7 @@ 1.3259 msgstr "" 1.3260 1.3261 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3262 -#: ../en/ch05-collab.xml:480 1.3263 +#: ../en/ch05-collab.xml:477 1.3264 msgid "" 1.3265 "The <command role=\"hg-cmd\">hg serve</command> command knows nothing about " 1.3266 "any firewall software you might have installed on your system or network. It " 1.3267 @@ -6479,7 +6480,7 @@ 1.3268 msgstr "" 1.3269 1.3270 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3271 -#: ../en/ch05-collab.xml:489 1.3272 +#: ../en/ch05-collab.xml:486 1.3273 msgid "" 1.3274 "By default, <command role=\"hg-cmd\">hg serve</command> listens for incoming " 1.3275 "connections on port 8000. If another process is already listening on the " 1.3276 @@ -6488,7 +6489,7 @@ 1.3277 msgstr "" 1.3278 1.3279 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3280 -#: ../en/ch05-collab.xml:495 1.3281 +#: ../en/ch05-collab.xml:492 1.3282 msgid "" 1.3283 "Normally, when <command role=\"hg-cmd\">hg serve</command> starts, it prints " 1.3284 "no output, which can be a bit unnerving. If you'd like to confirm that it is " 1.3285 @@ -6498,12 +6499,12 @@ 1.3286 msgstr "" 1.3287 1.3288 #. type: Content of: <book><chapter><sect1><title> 1.3289 -#: ../en/ch05-collab.xml:505 1.3290 +#: ../en/ch05-collab.xml:502 1.3291 msgid "Using the Secure Shell (ssh) protocol" 1.3292 msgstr "使用 ssh 协议" 1.3293 1.3294 #. type: Content of: <book><chapter><sect1><para> 1.3295 -#: ../en/ch05-collab.xml:507 1.3296 +#: ../en/ch05-collab.xml:504 1.3297 msgid "" 1.3298 "You can pull and push changes securely over a network connection using the " 1.3299 "Secure Shell (<literal>ssh</literal>) protocol. To use this successfully, " 1.3300 @@ -6512,7 +6513,7 @@ 1.3301 msgstr "" 1.3302 1.3303 #. type: Content of: <book><chapter><sect1><para> 1.3304 -#: ../en/ch05-collab.xml:512 1.3305 +#: ../en/ch05-collab.xml:509 1.3306 msgid "" 1.3307 "If you're not familiar with ssh, it's a network protocol that lets you " 1.3308 "securely communicate with another computer. To use it with Mercurial, you'll " 1.3309 @@ -6521,46 +6522,46 @@ 1.3310 msgstr "" 1.3311 1.3312 #. type: Content of: <book><chapter><sect1><para> 1.3313 -#: ../en/ch05-collab.xml:518 1.3314 +#: ../en/ch05-collab.xml:515 1.3315 msgid "" 1.3316 "(If you <emphasis>are</emphasis> familiar with ssh, you'll probably find some " 1.3317 "of the material that follows to be elementary in nature.)" 1.3318 msgstr "" 1.3319 1.3320 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3321 -#: ../en/ch05-collab.xml:523 1.3322 +#: ../en/ch05-collab.xml:520 1.3323 msgid "How to read and write ssh URLs" 1.3324 msgstr "如何读写 ssh 路径" 1.3325 1.3326 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3327 +#: ../en/ch05-collab.xml:522 1.3328 +msgid "An ssh URL tends to look like this:" 1.3329 +msgstr "" 1.3330 + 1.3331 +#. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.3332 #: ../en/ch05-collab.xml:525 1.3333 -msgid "An ssh URL tends to look like this:" 1.3334 +msgid "" 1.3335 +"The <quote><literal>ssh://</literal></quote> part tells Mercurial to use the " 1.3336 +"ssh protocol." 1.3337 msgstr "" 1.3338 1.3339 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.3340 #: ../en/ch05-collab.xml:528 1.3341 msgid "" 1.3342 -"The <quote><literal>ssh://</literal></quote> part tells Mercurial to use the " 1.3343 -"ssh protocol." 1.3344 -msgstr "" 1.3345 - 1.3346 -#. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.3347 -#: ../en/ch05-collab.xml:531 1.3348 -msgid "" 1.3349 "The <quote><literal>bos@</literal></quote> component indicates what username " 1.3350 "to log into the server as. You can leave this out if the remote username is " 1.3351 "the same as your local username." 1.3352 msgstr "" 1.3353 1.3354 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.3355 -#: ../en/ch05-collab.xml:536 1.3356 +#: ../en/ch05-collab.xml:533 1.3357 msgid "" 1.3358 "The <quote><literal>hg.serpentine.com</literal></quote> gives the hostname of " 1.3359 "the server to log into." 1.3360 msgstr "" 1.3361 1.3362 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.3363 -#: ../en/ch05-collab.xml:540 1.3364 +#: ../en/ch05-collab.xml:537 1.3365 msgid "" 1.3366 "The <quote>:22</quote> identifies the port number to connect to the server " 1.3367 "on. The default port is 22, so you only need to specify a colon and port " 1.3368 @@ -6568,13 +6569,13 @@ 1.3369 msgstr "" 1.3370 1.3371 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.3372 -#: ../en/ch05-collab.xml:545 1.3373 +#: ../en/ch05-collab.xml:542 1.3374 msgid "" 1.3375 "The remainder of the URL is the local path to the repository on the server." 1.3376 msgstr "" 1.3377 1.3378 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3379 -#: ../en/ch05-collab.xml:549 1.3380 +#: ../en/ch05-collab.xml:546 1.3381 msgid "" 1.3382 "There's plenty of scope for confusion with the path component of ssh URLs, as " 1.3383 "there is no standard way for tools to interpret it. Some programs behave " 1.3384 @@ -6584,7 +6585,7 @@ 1.3385 msgstr "" 1.3386 1.3387 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3388 -#: ../en/ch05-collab.xml:556 1.3389 +#: ../en/ch05-collab.xml:553 1.3390 msgid "" 1.3391 "Mercurial treats the path to a repository on the server as relative to the " 1.3392 "remote user's home directory. For example, if user <literal>foo</literal> on " 1.3393 @@ -6595,7 +6596,7 @@ 1.3394 msgstr "" 1.3395 1.3396 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3397 -#: ../en/ch05-collab.xml:565 1.3398 +#: ../en/ch05-collab.xml:562 1.3399 msgid "" 1.3400 "If you want to specify a path relative to another user's home directory, you " 1.3401 "can use a path that starts with a tilde character followed by the user's name " 1.3402 @@ -6603,19 +6604,19 @@ 1.3403 msgstr "" 1.3404 1.3405 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3406 -#: ../en/ch05-collab.xml:571 1.3407 +#: ../en/ch05-collab.xml:568 1.3408 msgid "" 1.3409 "And if you really want to specify an <emphasis>absolute</emphasis> path on " 1.3410 "the server, begin the path component with two slashes, as in this example." 1.3411 msgstr "" 1.3412 1.3413 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3414 -#: ../en/ch05-collab.xml:578 1.3415 +#: ../en/ch05-collab.xml:575 1.3416 msgid "Finding an ssh client for your system" 1.3417 msgstr "为你的系统寻找 ssh 客户端" 1.3418 1.3419 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3420 -#: ../en/ch05-collab.xml:580 1.3421 +#: ../en/ch05-collab.xml:577 1.3422 msgid "" 1.3423 "Almost every Unix-like system comes with OpenSSH preinstalled. If you're " 1.3424 "using such a system, run <literal>which ssh</literal> to find out if the " 1.3425 @@ -6626,28 +6627,28 @@ 1.3426 msgstr "" 1.3427 1.3428 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3429 -#: ../en/ch05-collab.xml:588 1.3430 +#: ../en/ch05-collab.xml:585 1.3431 msgid "" 1.3432 "On Windows, you'll first need to download a suitable ssh client. There are " 1.3433 "two alternatives." 1.3434 msgstr "" 1.3435 1.3436 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3437 -#: ../en/ch05-collab.xml:591 1.3438 +#: ../en/ch05-collab.xml:588 1.3439 msgid "" 1.3440 "Simon Tatham's excellent PuTTY package <citation>web:putty</citation> " 1.3441 "provides a complete suite of ssh client commands." 1.3442 msgstr "" 1.3443 1.3444 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3445 +#: ../en/ch05-collab.xml:592 1.3446 +msgid "" 1.3447 +"If you have a high tolerance for pain, you can use the Cygwin port of OpenSSH." 1.3448 +msgstr "" 1.3449 + 1.3450 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.3451 #: ../en/ch05-collab.xml:595 1.3452 msgid "" 1.3453 -"If you have a high tolerance for pain, you can use the Cygwin port of OpenSSH." 1.3454 -msgstr "" 1.3455 - 1.3456 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.3457 -#: ../en/ch05-collab.xml:598 1.3458 -msgid "" 1.3459 "In either case, you'll need to edit your <filename role=\"special\">hg.ini</" 1.3460 "filename> file to tell Mercurial where to find the actual client command. " 1.3461 "For example, if you're using PuTTY, you'll need to use the <command>plink</" 1.3462 @@ -6655,7 +6656,7 @@ 1.3463 msgstr "" 1.3464 1.3465 #. type: Content of: <book><chapter><sect1><sect2><note><para> 1.3466 -#: ../en/ch05-collab.xml:608 1.3467 +#: ../en/ch05-collab.xml:605 1.3468 msgid "" 1.3469 "The path to <command>plink</command> shouldn't contain any whitespace " 1.3470 "characters, or Mercurial may not be able to run it correctly (so putting it " 1.3471 @@ -6664,12 +6665,12 @@ 1.3472 msgstr "" 1.3473 1.3474 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3475 -#: ../en/ch05-collab.xml:617 1.3476 +#: ../en/ch05-collab.xml:614 1.3477 msgid "Generating a key pair" 1.3478 msgstr "产生密钥对" 1.3479 1.3480 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3481 -#: ../en/ch05-collab.xml:619 1.3482 +#: ../en/ch05-collab.xml:616 1.3483 msgid "" 1.3484 "To avoid the need to repetitively type a password every time you need to use " 1.3485 "your ssh client, I recommend generating a key pair. On a Unix-like system, " 1.3486 @@ -6679,7 +6680,7 @@ 1.3487 msgstr "" 1.3488 1.3489 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3490 -#: ../en/ch05-collab.xml:627 1.3491 +#: ../en/ch05-collab.xml:624 1.3492 msgid "" 1.3493 "When you generate a key pair, it's usually <emphasis>highly</emphasis> " 1.3494 "advisable to protect it with a passphrase. (The only time that you might not " 1.3495 @@ -6688,7 +6689,7 @@ 1.3496 msgstr "" 1.3497 1.3498 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3499 -#: ../en/ch05-collab.xml:633 1.3500 +#: ../en/ch05-collab.xml:630 1.3501 msgid "" 1.3502 "Simply generating a key pair isn't enough, however. You'll need to add the " 1.3503 "public key to the set of authorised keys for whatever user you're logging in " 1.3504 @@ -6699,7 +6700,7 @@ 1.3505 msgstr "" 1.3506 1.3507 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3508 -#: ../en/ch05-collab.xml:642 1.3509 +#: ../en/ch05-collab.xml:639 1.3510 msgid "" 1.3511 "On a Unix-like system, your public key will have a <filename>.pub</filename> " 1.3512 "extension. If you're using <command>puttygen</command> on Windows, you can " 1.3513 @@ -6709,12 +6710,12 @@ 1.3514 msgstr "" 1.3515 1.3516 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3517 -#: ../en/ch05-collab.xml:651 1.3518 +#: ../en/ch05-collab.xml:648 1.3519 msgid "Using an authentication agent" 1.3520 msgstr "使用认证代理" 1.3521 1.3522 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3523 -#: ../en/ch05-collab.xml:653 1.3524 +#: ../en/ch05-collab.xml:650 1.3525 msgid "" 1.3526 "An authentication agent is a daemon that stores passphrases in memory (so it " 1.3527 "will forget passphrases if you log out and log back in again). An ssh client " 1.3528 @@ -6726,7 +6727,7 @@ 1.3529 msgstr "" 1.3530 1.3531 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3532 -#: ../en/ch05-collab.xml:662 1.3533 +#: ../en/ch05-collab.xml:659 1.3534 msgid "" 1.3535 "The downside of storing passphrases in an agent is that it's possible for a " 1.3536 "well-prepared attacker to recover the plain text of your passphrases, in some " 1.3537 @@ -6736,7 +6737,7 @@ 1.3538 msgstr "" 1.3539 1.3540 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3541 -#: ../en/ch05-collab.xml:669 1.3542 +#: ../en/ch05-collab.xml:666 1.3543 msgid "" 1.3544 "On Unix-like systems, the agent is called <command>ssh-agent</command>, and " 1.3545 "it's often run automatically for you when you log in. You'll need to use the " 1.3546 @@ -6747,12 +6748,12 @@ 1.3547 msgstr "" 1.3548 1.3549 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3550 -#: ../en/ch05-collab.xml:680 1.3551 +#: ../en/ch05-collab.xml:677 1.3552 msgid "Configuring the server side properly" 1.3553 msgstr "正确配置服务器端" 1.3554 1.3555 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3556 -#: ../en/ch05-collab.xml:682 1.3557 +#: ../en/ch05-collab.xml:679 1.3558 msgid "" 1.3559 "Because ssh can be fiddly to set up if you're new to it, there's a variety of " 1.3560 "things that can go wrong. Add Mercurial on top, and there's plenty more " 1.3561 @@ -6762,7 +6763,7 @@ 1.3562 msgstr "" 1.3563 1.3564 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3565 -#: ../en/ch05-collab.xml:690 1.3566 +#: ../en/ch05-collab.xml:687 1.3567 msgid "" 1.3568 "Before you try using Mercurial to talk to an ssh server, it's best to make " 1.3569 "sure that you can use the normal <command>ssh</command> or <command>putty</" 1.3570 @@ -6775,7 +6776,7 @@ 1.3571 msgstr "" 1.3572 1.3573 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3574 -#: ../en/ch05-collab.xml:701 1.3575 +#: ../en/ch05-collab.xml:698 1.3576 msgid "" 1.3577 "The first thing to be sure of on the server side is that you can actually log " 1.3578 "in from another machine at all. If you can't use <command>ssh</command> or " 1.3579 @@ -6784,7 +6785,7 @@ 1.3580 msgstr "" 1.3581 1.3582 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3583 -#: ../en/ch05-collab.xml:708 1.3584 +#: ../en/ch05-collab.xml:705 1.3585 msgid "" 1.3586 "If you get a <quote>connection refused</quote> error, either there isn't an " 1.3587 "SSH daemon running on the server at all, or it's inaccessible due to firewall " 1.3588 @@ -6792,7 +6793,7 @@ 1.3589 msgstr "" 1.3590 1.3591 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3592 -#: ../en/ch05-collab.xml:713 1.3593 +#: ../en/ch05-collab.xml:710 1.3594 msgid "" 1.3595 "If you get a <quote>no route to host</quote> error, you either have an " 1.3596 "incorrect address for the server or a seriously locked down firewall that " 1.3597 @@ -6800,7 +6801,7 @@ 1.3598 msgstr "" 1.3599 1.3600 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3601 -#: ../en/ch05-collab.xml:718 1.3602 +#: ../en/ch05-collab.xml:715 1.3603 msgid "" 1.3604 "If you get a <quote>permission denied</quote> error, you may have mistyped " 1.3605 "the username on the server, or you could have mistyped your key's passphrase " 1.3606 @@ -6808,7 +6809,7 @@ 1.3607 msgstr "" 1.3608 1.3609 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3610 -#: ../en/ch05-collab.xml:723 1.3611 +#: ../en/ch05-collab.xml:720 1.3612 msgid "" 1.3613 "In summary, if you're having trouble talking to the server's ssh daemon, " 1.3614 "first make sure that one is running at all. On many systems it will be " 1.3615 @@ -6820,7 +6821,7 @@ 1.3616 msgstr "" 1.3617 1.3618 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3619 -#: ../en/ch05-collab.xml:733 1.3620 +#: ../en/ch05-collab.xml:730 1.3621 msgid "" 1.3622 "If you're using an authentication agent on the client side to store " 1.3623 "passphrases for your keys, you ought to be able to log into the server " 1.3624 @@ -6829,26 +6830,26 @@ 1.3625 msgstr "" 1.3626 1.3627 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3628 -#: ../en/ch05-collab.xml:739 1.3629 +#: ../en/ch05-collab.xml:736 1.3630 msgid "" 1.3631 "You might have forgotten to use <command>ssh-add</command> or " 1.3632 "<command>pageant</command> to store the passphrase." 1.3633 msgstr "" 1.3634 1.3635 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3636 +#: ../en/ch05-collab.xml:740 1.3637 +msgid "You might have stored the passphrase for the wrong key." 1.3638 +msgstr "" 1.3639 + 1.3640 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.3641 #: ../en/ch05-collab.xml:743 1.3642 -msgid "You might have stored the passphrase for the wrong key." 1.3643 -msgstr "" 1.3644 - 1.3645 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.3646 -#: ../en/ch05-collab.xml:746 1.3647 msgid "" 1.3648 "If you're being prompted for the remote user's password, there are another " 1.3649 "few possible problems to check." 1.3650 msgstr "" 1.3651 1.3652 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3653 -#: ../en/ch05-collab.xml:749 1.3654 +#: ../en/ch05-collab.xml:746 1.3655 msgid "" 1.3656 "Either the user's home directory or their <filename role=\"special\" class=" 1.3657 "\"directory\">.ssh</filename> directory might have excessively liberal " 1.3658 @@ -6859,7 +6860,7 @@ 1.3659 msgstr "" 1.3660 1.3661 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3662 -#: ../en/ch05-collab.xml:758 1.3663 +#: ../en/ch05-collab.xml:755 1.3664 msgid "" 1.3665 "The user's <filename role=\"special\">authorized_keys</filename> file may " 1.3666 "have a problem. If anyone other than the user owns or can write to that file, " 1.3667 @@ -6867,7 +6868,7 @@ 1.3668 msgstr "" 1.3669 1.3670 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3671 -#: ../en/ch05-collab.xml:765 1.3672 +#: ../en/ch05-collab.xml:762 1.3673 msgid "" 1.3674 "In the ideal world, you should be able to run the following command " 1.3675 "successfully, and it should print exactly one line of output, the current " 1.3676 @@ -6875,7 +6876,7 @@ 1.3677 msgstr "" 1.3678 1.3679 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3680 -#: ../en/ch05-collab.xml:770 1.3681 +#: ../en/ch05-collab.xml:767 1.3682 msgid "" 1.3683 "If, on your server, you have login scripts that print banners or other junk " 1.3684 "even when running non-interactive commands like this, you should fix them " 1.3685 @@ -6890,7 +6891,7 @@ 1.3686 msgstr "" 1.3687 1.3688 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3689 -#: ../en/ch05-collab.xml:784 1.3690 +#: ../en/ch05-collab.xml:781 1.3691 msgid "" 1.3692 "Once you've verified that plain old ssh is working with your server, the next " 1.3693 "step is to ensure that Mercurial runs on the server. The following command " 1.3694 @@ -6898,7 +6899,7 @@ 1.3695 msgstr "" 1.3696 1.3697 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3698 -#: ../en/ch05-collab.xml:791 1.3699 +#: ../en/ch05-collab.xml:788 1.3700 msgid "" 1.3701 "If you see an error message instead of normal <command role=\"hg-cmd\">hg " 1.3702 "version</command> output, this is usually because you haven't installed " 1.3703 @@ -6908,21 +6909,21 @@ 1.3704 msgstr "" 1.3705 1.3706 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3707 -#: ../en/ch05-collab.xml:798 1.3708 +#: ../en/ch05-collab.xml:795 1.3709 msgid "" 1.3710 "Is Mercurial really installed on the server at all? I know this sounds " 1.3711 "trivial, but it's worth checking!" 1.3712 msgstr "" 1.3713 1.3714 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3715 -#: ../en/ch05-collab.xml:802 1.3716 +#: ../en/ch05-collab.xml:799 1.3717 msgid "" 1.3718 "Maybe your shell's search path (usually set via the <envar>PATH</envar> " 1.3719 "environment variable) is simply misconfigured." 1.3720 msgstr "" 1.3721 1.3722 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3723 -#: ../en/ch05-collab.xml:806 1.3724 +#: ../en/ch05-collab.xml:803 1.3725 msgid "" 1.3726 "Perhaps your <envar>PATH</envar> environment variable is only being set to " 1.3727 "point to the location of the <command>hg</command> executable if the login " 1.3728 @@ -6931,7 +6932,7 @@ 1.3729 msgstr "" 1.3730 1.3731 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.3732 -#: ../en/ch05-collab.xml:813 1.3733 +#: ../en/ch05-collab.xml:810 1.3734 msgid "" 1.3735 "The <envar>PYTHONPATH</envar> environment variable may need to contain the " 1.3736 "path to the Mercurial Python modules. It might not be set at all; it could " 1.3737 @@ -6939,7 +6940,7 @@ 1.3738 msgstr "" 1.3739 1.3740 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3741 -#: ../en/ch05-collab.xml:820 1.3742 +#: ../en/ch05-collab.xml:817 1.3743 msgid "" 1.3744 "If you can run <command role=\"hg-cmd\">hg version</command> over an ssh " 1.3745 "connection, well done! You've got the server and client sorted out. You " 1.3746 @@ -6950,12 +6951,12 @@ 1.3747 msgstr "" 1.3748 1.3749 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3750 -#: ../en/ch05-collab.xml:830 1.3751 +#: ../en/ch05-collab.xml:827 1.3752 msgid "Using compression with ssh" 1.3753 msgstr "通过 ssh 使用压缩" 1.3754 1.3755 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3756 -#: ../en/ch05-collab.xml:832 1.3757 +#: ../en/ch05-collab.xml:829 1.3758 msgid "" 1.3759 "Mercurial does not compress data when it uses the ssh protocol, because the " 1.3760 "ssh protocol can transparently compress data. However, the default behaviour " 1.3761 @@ -6963,7 +6964,7 @@ 1.3762 msgstr "" 1.3763 1.3764 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3765 -#: ../en/ch05-collab.xml:837 1.3766 +#: ../en/ch05-collab.xml:834 1.3767 msgid "" 1.3768 "Over any network other than a fast LAN (even a wireless network), using " 1.3769 "compression is likely to significantly speed up Mercurial's network " 1.3770 @@ -6973,7 +6974,7 @@ 1.3771 msgstr "" 1.3772 1.3773 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3774 -#: ../en/ch05-collab.xml:844 1.3775 +#: ../en/ch05-collab.xml:841 1.3776 msgid "" 1.3777 "Both <command>ssh</command> and <command>plink</command> accept a <option " 1.3778 "role=\"cmd-opt-ssh\">-C</option> option which turns on compression. You can " 1.3779 @@ -6982,7 +6983,7 @@ 1.3780 msgstr "" 1.3781 1.3782 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3783 -#: ../en/ch05-collab.xml:852 1.3784 +#: ../en/ch05-collab.xml:849 1.3785 msgid "" 1.3786 "If you use <command>ssh</command>, you can configure it to always use " 1.3787 "compression when talking to your server. To do this, edit your <filename " 1.3788 @@ -6991,7 +6992,7 @@ 1.3789 msgstr "" 1.3790 1.3791 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3792 -#: ../en/ch05-collab.xml:860 1.3793 +#: ../en/ch05-collab.xml:857 1.3794 msgid "" 1.3795 "This defines an alias, <literal>hg</literal>. When you use it on the " 1.3796 "<command>ssh</command> command line or in a Mercurial <literal>ssh</literal>-" 1.3797 @@ -7001,19 +7002,19 @@ 1.3798 msgstr "" 1.3799 1.3800 #. type: Content of: <book><chapter><sect1><title> 1.3801 -#: ../en/ch05-collab.xml:871 1.3802 +#: ../en/ch05-collab.xml:868 1.3803 msgid "Serving over HTTP using CGI" 1.3804 msgstr "使用 CGI 通过 HTTP 提供服务" 1.3805 1.3806 #. type: Content of: <book><chapter><sect1><para> 1.3807 -#: ../en/ch05-collab.xml:873 1.3808 +#: ../en/ch05-collab.xml:870 1.3809 msgid "" 1.3810 "Depending on how ambitious you are, configuring Mercurial's CGI interface can " 1.3811 "take anything from a few moments to several hours." 1.3812 msgstr "" 1.3813 1.3814 #. type: Content of: <book><chapter><sect1><para> 1.3815 -#: ../en/ch05-collab.xml:877 1.3816 +#: ../en/ch05-collab.xml:874 1.3817 msgid "" 1.3818 "We'll begin with the simplest of examples, and work our way towards a more " 1.3819 "complex configuration. Even for the most basic case, you're almost certainly " 1.3820 @@ -7021,7 +7022,7 @@ 1.3821 msgstr "" 1.3822 1.3823 #. type: Content of: <book><chapter><sect1><note><para> 1.3824 -#: ../en/ch05-collab.xml:883 1.3825 +#: ../en/ch05-collab.xml:880 1.3826 msgid "" 1.3827 "Configuring a web server is a complex, fiddly, and highly system-dependent " 1.3828 "activity. I can't possibly give you instructions that will cover anything " 1.3829 @@ -7031,33 +7032,33 @@ 1.3830 msgstr "" 1.3831 1.3832 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3833 -#: ../en/ch05-collab.xml:893 1.3834 +#: ../en/ch05-collab.xml:890 1.3835 msgid "Web server configuration checklist" 1.3836 msgstr "Web 服务器配置检查表" 1.3837 1.3838 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3839 -#: ../en/ch05-collab.xml:895 1.3840 +#: ../en/ch05-collab.xml:892 1.3841 msgid "" 1.3842 "Before you continue, do take a few moments to check a few aspects of your " 1.3843 "system's setup." 1.3844 msgstr "" 1.3845 1.3846 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.3847 -#: ../en/ch05-collab.xml:899 1.3848 +#: ../en/ch05-collab.xml:896 1.3849 msgid "" 1.3850 "Do you have a web server installed at all? Mac OS X ships with Apache, but " 1.3851 "many other systems may not have a web server installed." 1.3852 msgstr "" 1.3853 1.3854 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.3855 -#: ../en/ch05-collab.xml:903 1.3856 +#: ../en/ch05-collab.xml:900 1.3857 msgid "" 1.3858 "If you have a web server installed, is it actually running? On most systems, " 1.3859 "even if one is present, it will be disabled by default." 1.3860 msgstr "" 1.3861 1.3862 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.3863 -#: ../en/ch05-collab.xml:907 1.3864 +#: ../en/ch05-collab.xml:904 1.3865 msgid "" 1.3866 "Is your server configured to allow you to run CGI programs in the directory " 1.3867 "where you plan to do so? Most servers default to explicitly disabling the " 1.3868 @@ -7065,7 +7066,7 @@ 1.3869 msgstr "" 1.3870 1.3871 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3872 -#: ../en/ch05-collab.xml:913 1.3873 +#: ../en/ch05-collab.xml:910 1.3874 msgid "" 1.3875 "If you don't have a web server installed, and don't have substantial " 1.3876 "experience configuring Apache, you should consider using the " 1.3877 @@ -7078,12 +7079,12 @@ 1.3878 msgstr "" 1.3879 1.3880 #. type: Content of: <book><chapter><sect1><sect2><title> 1.3881 -#: ../en/ch05-collab.xml:926 1.3882 +#: ../en/ch05-collab.xml:923 1.3883 msgid "Basic CGI configuration" 1.3884 msgstr "基本 CGI 配置" 1.3885 1.3886 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3887 -#: ../en/ch05-collab.xml:928 1.3888 +#: ../en/ch05-collab.xml:925 1.3889 msgid "" 1.3890 "On Unix-like systems, it's common for users to have a subdirectory named " 1.3891 "something like <filename class=\"directory\">public_html</filename> in their " 1.3892 @@ -7093,7 +7094,7 @@ 1.3893 msgstr "" 1.3894 1.3895 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3896 -#: ../en/ch05-collab.xml:936 1.3897 +#: ../en/ch05-collab.xml:933 1.3898 msgid "" 1.3899 "To get started, find the <filename role=\"special\">hgweb.cgi</filename> " 1.3900 "script that should be present in your Mercurial installation. If you can't " 1.3901 @@ -7103,14 +7104,14 @@ 1.3902 msgstr "" 1.3903 1.3904 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3905 -#: ../en/ch05-collab.xml:943 ../en/ch05-collab.xml:1112 1.3906 +#: ../en/ch05-collab.xml:940 ../en/ch05-collab.xml:1109 1.3907 msgid "" 1.3908 "You'll need to copy this script into your <filename class=\"directory" 1.3909 "\">public_html</filename> directory, and ensure that it's executable." 1.3910 msgstr "" 1.3911 1.3912 #. type: Content of: <book><chapter><sect1><sect2><para> 1.3913 -#: ../en/ch05-collab.xml:948 1.3914 +#: ../en/ch05-collab.xml:945 1.3915 msgid "" 1.3916 "The <literal>755</literal> argument to <command>chmod</command> is a little " 1.3917 "more general than just making the script executable: it ensures that the " 1.3918 @@ -7123,12 +7124,12 @@ 1.3919 msgstr "" 1.3920 1.3921 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.3922 -#: ../en/ch05-collab.xml:962 1.3923 +#: ../en/ch05-collab.xml:959 1.3924 msgid "What could <emphasis>possibly</emphasis> go wrong?" 1.3925 msgstr "什么<emphasis>可能</emphasis>会出错?" 1.3926 1.3927 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.3928 -#: ../en/ch05-collab.xml:965 1.3929 +#: ../en/ch05-collab.xml:962 1.3930 msgid "" 1.3931 "Once you've copied the CGI script into place, go into a web browser, and try " 1.3932 "to open the URL <ulink url=\"http://myhostname/ myuser/hgweb.cgi\">http://" 1.3933 @@ -7142,7 +7143,7 @@ 1.3934 msgstr "" 1.3935 1.3936 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.3937 -#: ../en/ch05-collab.xml:979 1.3938 +#: ../en/ch05-collab.xml:976 1.3939 msgid "" 1.3940 "Your web server may have per-user directories disabled. If you're using " 1.3941 "Apache, search your config file for a <literal>UserDir</literal> directive. " 1.3942 @@ -7155,7 +7156,7 @@ 1.3943 msgstr "" 1.3944 1.3945 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.3946 -#: ../en/ch05-collab.xml:990 1.3947 +#: ../en/ch05-collab.xml:987 1.3948 msgid "" 1.3949 "Your file access permissions may be too restrictive. The web server must be " 1.3950 "able to traverse your home directory and directories under your <filename " 1.3951 @@ -7165,7 +7166,7 @@ 1.3952 msgstr "" 1.3953 1.3954 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.3955 -#: ../en/ch05-collab.xml:1000 1.3956 +#: ../en/ch05-collab.xml:997 1.3957 msgid "" 1.3958 "The other possibility with permissions is that you might get a completely " 1.3959 "empty window when you try to load the script. In this case, it's likely that " 1.3960 @@ -7175,21 +7176,15 @@ 1.3961 msgstr "" 1.3962 1.3963 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.3964 -#: ../en/ch05-collab.xml:1007 1.3965 +#: ../en/ch05-collab.xml:1004 1.3966 msgid "" 1.3967 "Your web server may be configured to disallow execution of CGI programs in " 1.3968 "your per-user web directory. Here's Apache's default per-user configuration " 1.3969 "from my Fedora system." 1.3970 msgstr "" 1.3971 1.3972 -#. type: CDATA 1.3973 -#: ../en/ch05-collab.xml:1012 1.3974 -#, no-wrap 1.3975 -msgid "&ch06-apache-config.lst;]]" 1.3976 -msgstr "" 1.3977 - 1.3978 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.3979 -#: ../en/ch05-collab.xml:1014 1.3980 +#: ../en/ch05-collab.xml:1011 1.3981 msgid "" 1.3982 "If you find a similar-looking <literal>Directory</literal> group in your " 1.3983 "Apache configuration, the directive to look at inside it is <literal>Options</" 1.3984 @@ -7198,7 +7193,7 @@ 1.3985 msgstr "" 1.3986 1.3987 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.3988 -#: ../en/ch05-collab.xml:1021 1.3989 +#: ../en/ch05-collab.xml:1018 1.3990 msgid "" 1.3991 "If you find that Apache serves you the text of the CGI script instead of " 1.3992 "executing it, you may need to either uncomment (if already present) or add a " 1.3993 @@ -7206,7 +7201,7 @@ 1.3994 msgstr "" 1.3995 1.3996 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.3997 -#: ../en/ch05-collab.xml:1027 1.3998 +#: ../en/ch05-collab.xml:1024 1.3999 msgid "" 1.4000 "The next possibility is that you might be served with a colourful Python " 1.4001 "backtrace claiming that it can't import a <literal>mercurial</literal>-" 1.4002 @@ -7221,7 +7216,7 @@ 1.4003 msgstr "" 1.4004 1.4005 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.4006 -#: ../en/ch05-collab.xml:1041 1.4007 +#: ../en/ch05-collab.xml:1038 1.4008 msgid "" 1.4009 "Finally, you are <emphasis>certain</emphasis> to by served with another " 1.4010 "colourful Python backtrace: this one will complain that it can't find " 1.4011 @@ -7232,19 +7227,19 @@ 1.4012 msgstr "" 1.4013 1.4014 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.4015 -#: ../en/ch05-collab.xml:1051 1.4016 +#: ../en/ch05-collab.xml:1048 1.4017 msgid "" 1.4018 "At this point, when you try to reload the page, you should be presented with " 1.4019 "a nice HTML view of your repository's history. Whew!" 1.4020 msgstr "" 1.4021 1.4022 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.4023 -#: ../en/ch05-collab.xml:1057 1.4024 +#: ../en/ch05-collab.xml:1054 1.4025 msgid "Configuring lighttpd" 1.4026 msgstr "配置 lighttpd" 1.4027 1.4028 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.4029 -#: ../en/ch05-collab.xml:1059 1.4030 +#: ../en/ch05-collab.xml:1056 1.4031 msgid "" 1.4032 "To be exhaustive in my experiments, I tried configuring the increasingly " 1.4033 "popular <literal>lighttpd</literal> web server to serve the same repository " 1.4034 @@ -7255,7 +7250,7 @@ 1.4035 msgstr "" 1.4036 1.4037 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.4038 -#: ../en/ch05-collab.xml:1069 1.4039 +#: ../en/ch05-collab.xml:1066 1.4040 msgid "" 1.4041 "Once I had Apache running, getting <literal>lighttpd</literal> to serve the " 1.4042 "repository was a snap (in other words, even if you're trying to use " 1.4043 @@ -7267,7 +7262,7 @@ 1.4044 msgstr "" 1.4045 1.4046 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.4047 -#: ../en/ch05-collab.xml:1081 1.4048 +#: ../en/ch05-collab.xml:1078 1.4049 msgid "" 1.4050 "With this done, <literal>lighttpd</literal> ran immediately for me. If I had " 1.4051 "configured <literal>lighttpd</literal> before Apache, I'd almost certainly " 1.4052 @@ -7278,12 +7273,12 @@ 1.4053 msgstr "" 1.4054 1.4055 #. type: Content of: <book><chapter><sect1><sect2><title> 1.4056 -#: ../en/ch05-collab.xml:1094 1.4057 +#: ../en/ch05-collab.xml:1091 1.4058 msgid "Sharing multiple repositories with one CGI script" 1.4059 msgstr "使用一个 CGI 脚本共享多个版本库" 1.4060 1.4061 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4062 -#: ../en/ch05-collab.xml:1096 1.4063 +#: ../en/ch05-collab.xml:1093 1.4064 msgid "" 1.4065 "The <filename role=\"special\">hgweb.cgi</filename> script only lets you " 1.4066 "publish a single repository, which is an annoying restriction. If you want " 1.4067 @@ -7293,7 +7288,7 @@ 1.4068 msgstr "" 1.4069 1.4070 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4071 -#: ../en/ch05-collab.xml:1104 1.4072 +#: ../en/ch05-collab.xml:1101 1.4073 msgid "" 1.4074 "The procedure to configure <filename role=\"special\">hgwebdir.cgi</filename> " 1.4075 "is only a little more involved than for <filename role=\"special\">hgweb.cgi</" 1.4076 @@ -7304,17 +7299,17 @@ 1.4077 msgstr "" 1.4078 1.4079 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4080 -#: ../en/ch05-collab.xml:1117 1.4081 +#: ../en/ch05-collab.xml:1116 1.4082 msgid "" 1.4083 "With basic configuration out of the way, try to visit <ulink url=\"http://" 1.4084 "myhostname/ myuser/hgwebdir.cgi\">http://myhostname/ myuser/hgwebdir.cgi</" 1.4085 "ulink> in your browser. It should display an empty list of repositories. If " 1.4086 "you get a blank window or error message, try walking through the list of " 1.4087 -"potential problems in section <xref linkend=\"sec.collab.wtf\"/>." 1.4088 -msgstr "" 1.4089 - 1.4090 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.4091 -#: ../en/ch05-collab.xml:1126 1.4092 +"potential problems in <xref linkend=\"sec:collab:wtf\"/>." 1.4093 +msgstr "" 1.4094 + 1.4095 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.4096 +#: ../en/ch05-collab.xml:1125 1.4097 msgid "" 1.4098 "The <filename role=\"special\">hgwebdir.cgi</filename> script relies on an " 1.4099 "external configuration file. By default, it searches for a file named " 1.4100 @@ -7326,7 +7321,7 @@ 1.4101 msgstr "" 1.4102 1.4103 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4104 -#: ../en/ch05-collab.xml:1136 1.4105 +#: ../en/ch05-collab.xml:1135 1.4106 msgid "" 1.4107 "The easiest way to configure <filename role=\"special\">hgwebdir.cgi</" 1.4108 "filename> is with a section named <literal>collections</literal>. This will " 1.4109 @@ -7335,7 +7330,7 @@ 1.4110 msgstr "" 1.4111 1.4112 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4113 -#: ../en/ch05-collab.xml:1144 1.4114 +#: ../en/ch05-collab.xml:1143 1.4115 msgid "" 1.4116 "Mercurial interprets this by looking at the directory name on the " 1.4117 "<emphasis>right</emphasis> hand side of the <quote><literal>=</literal></" 1.4118 @@ -7347,7 +7342,7 @@ 1.4119 msgstr "" 1.4120 1.4121 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4122 -#: ../en/ch05-collab.xml:1153 1.4123 +#: ../en/ch05-collab.xml:1152 1.4124 msgid "" 1.4125 "Given the example above, if we have a repository whose local path is " 1.4126 "<filename class=\"directory\">/my/root/this/repo</filename>, the CGI script " 1.4127 @@ -7361,7 +7356,7 @@ 1.4128 msgstr "" 1.4129 1.4130 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4131 -#: ../en/ch05-collab.xml:1167 1.4132 +#: ../en/ch05-collab.xml:1166 1.4133 msgid "" 1.4134 "If we replace <filename class=\"directory\">/my/root</filename> on the left " 1.4135 "hand side of this example with <filename class=\"directory\">/my</filename>, " 1.4136 @@ -7372,7 +7367,7 @@ 1.4137 msgstr "" 1.4138 1.4139 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4140 -#: ../en/ch05-collab.xml:1177 1.4141 +#: ../en/ch05-collab.xml:1176 1.4142 msgid "" 1.4143 "The <filename role=\"special\">hgwebdir.cgi</filename> script will " 1.4144 "recursively search each directory listed in the <literal>collections</" 1.4145 @@ -7381,7 +7376,7 @@ 1.4146 msgstr "" 1.4147 1.4148 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4149 -#: ../en/ch05-collab.xml:1183 1.4150 +#: ../en/ch05-collab.xml:1182 1.4151 msgid "" 1.4152 "The <literal>collections</literal> mechanism makes it easy to publish many " 1.4153 "repositories in a <quote>fire and forget</quote> manner. You only need to " 1.4154 @@ -7392,12 +7387,12 @@ 1.4155 msgstr "" 1.4156 1.4157 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.4158 -#: ../en/ch05-collab.xml:1193 1.4159 +#: ../en/ch05-collab.xml:1192 1.4160 msgid "Explicitly specifying which repositories to publish" 1.4161 msgstr "明确指出要发布的版本库" 1.4162 1.4163 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.4164 -#: ../en/ch05-collab.xml:1196 1.4165 +#: ../en/ch05-collab.xml:1195 1.4166 msgid "" 1.4167 "In addition to the <literal>collections</literal> mechanism, the <filename " 1.4168 "role=\"special\">hgwebdir.cgi</filename> script allows you to publish a " 1.4169 @@ -7406,7 +7401,7 @@ 1.4170 msgstr "" 1.4171 1.4172 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.4173 -#: ../en/ch05-collab.xml:1205 1.4174 +#: ../en/ch05-collab.xml:1204 1.4175 msgid "" 1.4176 "In this case, the virtual path (the component that will appear in a URL) is " 1.4177 "on the left hand side of each definition, while the path to the repository is " 1.4178 @@ -7416,7 +7411,7 @@ 1.4179 msgstr "" 1.4180 1.4181 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.4182 -#: ../en/ch05-collab.xml:1212 1.4183 +#: ../en/ch05-collab.xml:1211 1.4184 msgid "" 1.4185 "If you wish, you can use both the <literal>collections</literal> and " 1.4186 "<literal>paths</literal> mechanisms simultaneously in a single configuration " 1.4187 @@ -7424,7 +7419,7 @@ 1.4188 msgstr "" 1.4189 1.4190 #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para> 1.4191 -#: ../en/ch05-collab.xml:1218 1.4192 +#: ../en/ch05-collab.xml:1217 1.4193 msgid "" 1.4194 "If multiple repositories have the same virtual path, <filename role=\"special" 1.4195 "\">hgwebdir.cgi</filename> will not report an error. Instead, it will behave " 1.4196 @@ -7432,12 +7427,12 @@ 1.4197 msgstr "" 1.4198 1.4199 #. type: Content of: <book><chapter><sect1><sect2><title> 1.4200 -#: ../en/ch05-collab.xml:1227 1.4201 +#: ../en/ch05-collab.xml:1226 1.4202 msgid "Downloading source archives" 1.4203 msgstr "下载源代码档案包" 1.4204 1.4205 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4206 -#: ../en/ch05-collab.xml:1229 1.4207 +#: ../en/ch05-collab.xml:1228 1.4208 msgid "" 1.4209 "Mercurial's web interface lets users download an archive of any revision. " 1.4210 "This archive will contain a snapshot of the working directory as of that " 1.4211 @@ -7445,7 +7440,7 @@ 1.4212 msgstr "" 1.4213 1.4214 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4215 -#: ../en/ch05-collab.xml:1234 1.4216 +#: ../en/ch05-collab.xml:1233 1.4217 msgid "" 1.4218 "By default, this feature is not enabled. To enable it, you'll need to add an " 1.4219 "<envar role=\"rc-item-web\">allow_archive</envar> item to the <literal role=" 1.4220 @@ -7454,12 +7449,12 @@ 1.4221 msgstr "" 1.4222 1.4223 #. type: Content of: <book><chapter><sect1><sect2><title> 1.4224 -#: ../en/ch05-collab.xml:1242 1.4225 +#: ../en/ch05-collab.xml:1241 1.4226 msgid "Web configuration options" 1.4227 msgstr "Web 配置选项" 1.4228 1.4229 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4230 -#: ../en/ch05-collab.xml:1244 1.4231 +#: ../en/ch05-collab.xml:1243 1.4232 msgid "" 1.4233 "Mercurial's web interfaces (the <command role=\"hg-cmd\">hg serve</command> " 1.4234 "command, and the <filename role=\"special\">hgweb.cgi</filename> and " 1.4235 @@ -7469,7 +7464,7 @@ 1.4236 msgstr "" 1.4237 1.4238 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.4239 -#: ../en/ch05-collab.xml:1252 1.4240 +#: ../en/ch05-collab.xml:1251 1.4241 msgid "" 1.4242 "<envar role=\"rc-item-web\">allow_archive</envar>: Determines which (if any) " 1.4243 "archive download mechanisms Mercurial supports. If you enable this feature, " 1.4244 @@ -7479,7 +7474,7 @@ 1.4245 msgstr "" 1.4246 1.4247 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para> 1.4248 -#: ../en/ch05-collab.xml:1261 1.4249 +#: ../en/ch05-collab.xml:1260 1.4250 msgid "" 1.4251 "<literal>bz2</literal>: A <command>tar</command> archive, compressed using " 1.4252 "<literal>bzip2</literal> compression. This has the best compression ratio, " 1.4253 @@ -7487,14 +7482,14 @@ 1.4254 msgstr "" 1.4255 1.4256 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para> 1.4257 -#: ../en/ch05-collab.xml:1267 1.4258 +#: ../en/ch05-collab.xml:1266 1.4259 msgid "" 1.4260 "<literal>gz</literal>: A <command>tar</command> archive, compressed using " 1.4261 "<literal>gzip</literal> compression." 1.4262 msgstr "" 1.4263 1.4264 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><itemizedlist><listitem><para> 1.4265 -#: ../en/ch05-collab.xml:1271 1.4266 +#: ../en/ch05-collab.xml:1270 1.4267 msgid "" 1.4268 "<literal>zip</literal>: A <command>zip</command> archive, compressed using " 1.4269 "LZW compression. This format has the worst compression ratio, but is widely " 1.4270 @@ -7502,7 +7497,7 @@ 1.4271 msgstr "" 1.4272 1.4273 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.4274 -#: ../en/ch05-collab.xml:1277 1.4275 +#: ../en/ch05-collab.xml:1276 1.4276 msgid "" 1.4277 "If you provide an empty list, or don't have an <envar role=\"rc-item-web" 1.4278 "\">allow_archive</envar> entry at all, this feature will be disabled. Here " 1.4279 @@ -7510,7 +7505,7 @@ 1.4280 msgstr "" 1.4281 1.4282 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.4283 -#: ../en/ch05-collab.xml:1284 1.4284 +#: ../en/ch05-collab.xml:1283 1.4285 msgid "" 1.4286 "<envar role=\"rc-item-web\">allowpull</envar>: Boolean. Determines whether " 1.4287 "the web interface allows remote users to <command role=\"hg-cmd\">hg pull</" 1.4288 @@ -7520,7 +7515,7 @@ 1.4289 msgstr "" 1.4290 1.4291 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.4292 -#: ../en/ch05-collab.xml:1293 1.4293 +#: ../en/ch05-collab.xml:1292 1.4294 msgid "" 1.4295 "<envar role=\"rc-item-web\">contact</envar>: String. A free-form (but " 1.4296 "preferably brief) string identifying the person or group in charge of the " 1.4297 @@ -7532,21 +7527,21 @@ 1.4298 msgstr "" 1.4299 1.4300 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.4301 -#: ../en/ch05-collab.xml:1304 1.4302 +#: ../en/ch05-collab.xml:1303 1.4303 msgid "" 1.4304 "<envar role=\"rc-item-web\">maxchanges</envar>: Integer. The default maximum " 1.4305 "number of changesets to display in a single page of output." 1.4306 msgstr "" 1.4307 1.4308 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.4309 -#: ../en/ch05-collab.xml:1308 1.4310 +#: ../en/ch05-collab.xml:1307 1.4311 msgid "" 1.4312 "<envar role=\"rc-item-web\">maxfiles</envar>: Integer. The default maximum " 1.4313 "number of modified files to display in a single page of output." 1.4314 msgstr "" 1.4315 1.4316 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.4317 -#: ../en/ch05-collab.xml:1312 1.4318 +#: ../en/ch05-collab.xml:1311 1.4319 msgid "" 1.4320 "<envar role=\"rc-item-web\">stripes</envar>: Integer. If the web interface " 1.4321 "displays alternating <quote>stripes</quote> to make it easier to visually " 1.4322 @@ -7555,14 +7550,14 @@ 1.4323 msgstr "" 1.4324 1.4325 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.4326 -#: ../en/ch05-collab.xml:1318 1.4327 +#: ../en/ch05-collab.xml:1317 1.4328 msgid "" 1.4329 "<envar role=\"rc-item-web\">style</envar>: Controls the template Mercurial " 1.4330 "uses to display the web interface. Mercurial ships with two web templates, " 1.4331 "named <literal>default</literal> and <literal>gitweb</literal> (the latter is " 1.4332 "much more visually attractive). You can also specify a custom template of " 1.4333 -"your own; see chapter <xref linkend=\"chap.template\"/> for details. Here, " 1.4334 -"you can see how to enable the <literal>gitweb</literal> style." 1.4335 +"your own; see <xref linkend=\"chap:template\"/> for details. Here, you can " 1.4336 +"see how to enable the <literal>gitweb</literal> style." 1.4337 msgstr "" 1.4338 1.4339 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.4340 @@ -8976,14 +8971,13 @@ 1.4341 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4342 #: ../en/ch08-undo.xml:33 1.4343 msgid "" 1.4344 -"In section <xref linkend=\"sec.concepts.txn\"/>, I mentioned that Mercurial " 1.4345 -"treats each modification of a repository as a <emphasis>transaction</" 1.4346 -"emphasis>. Every time you commit a changeset or pull changes from another " 1.4347 -"repository, Mercurial remembers what you did. You can undo, or " 1.4348 -"<emphasis>roll back</emphasis>, exactly one of these actions using the " 1.4349 -"<command role=\"hg-cmd\">hg rollback</command> command. (See section <xref " 1.4350 -"linkend=\"sec.undo.rollback-after-push\"/> for an important caveat about the " 1.4351 -"use of this command.)" 1.4352 +"In <xref linkend=\"sec:concepts:txn\"/>, I mentioned that Mercurial treats " 1.4353 +"each modification of a repository as a <emphasis>transaction</emphasis>. " 1.4354 +"Every time you commit a changeset or pull changes from another repository, " 1.4355 +"Mercurial remembers what you did. You can undo, or <emphasis>roll back</" 1.4356 +"emphasis>, exactly one of these actions using the <command role=\"hg-cmd\">hg " 1.4357 +"rollback</command> command. (See <xref linkend=\"sec:undo:rollback-after-push" 1.4358 +"\"/> for an important caveat about the use of this command.)" 1.4359 msgstr "" 1.4360 1.4361 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4362 @@ -9323,7 +9317,7 @@ 1.4363 "<emphasis>adding</emphasis> history, not by modifying or erasing it. It's " 1.4364 "the right tool to use if you're fixing bugs, but not if you're trying to undo " 1.4365 "some change that has catastrophic consequences. To deal with those, see " 1.4366 -"section <xref linkend=\"sec.undo.aaaiiieee\"/>." 1.4367 +"<xref linkend=\"sec:undo:aaaiiieee\"/>." 1.4368 msgstr "" 1.4369 1.4370 #. type: Content of: <book><chapter><sect1><sect2><title> 1.4371 @@ -9381,31 +9375,29 @@ 1.4372 "backout</command> command has done. &interaction.backout.simple.log; Notice " 1.4373 "that the new changeset that <command role=\"hg-cmd\">hg backout</command> has " 1.4374 "created is a child of the changeset we backed out. It's easier to see this " 1.4375 -"in figure <xref endterm=\"fig.undo.backout.caption\" linkend=\"fig.undo." 1.4376 -"backout\"/>, which presents a graphical view of the change history. As you " 1.4377 -"can see, the history is nice and linear." 1.4378 -msgstr "" 1.4379 - 1.4380 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.4381 -#: ../en/ch08-undo.xml:364 1.4382 -msgid "" 1.4383 -"<imageobject><imagedata fileref=\"images/undo-simple.png\"/> </imageobject>" 1.4384 -msgstr "" 1.4385 - 1.4386 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.4387 -#: ../en/ch08-undo.xml:367 ../en/ch08-undo.xml:486 1.4388 +"in <xref linkend=\"fig:undo:backout\"/>, which presents a graphical view of " 1.4389 +"the change history. As you can see, the history is nice and linear." 1.4390 +msgstr "" 1.4391 + 1.4392 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.4393 +#: ../en/ch08-undo.xml:361 ../en/ch08-undo.xml:473 1.4394 msgid "" 1.4395 "Backing out a change using the <command role=\"hg-cmd\">hg backout</command> " 1.4396 "command" 1.4397 msgstr "" 1.4398 1.4399 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.4400 +#: ../en/ch08-undo.xml:364 1.4401 +msgid "<imageobject><imagedata fileref=\"figs/undo-simple.png\"/></imageobject>" 1.4402 +msgstr "" 1.4403 + 1.4404 #. type: Content of: <book><chapter><sect1><sect2><title> 1.4405 -#: ../en/ch08-undo.xml:376 1.4406 +#: ../en/ch08-undo.xml:371 1.4407 msgid "Backing out a non-tip change" 1.4408 msgstr "恢复非顶点的修改" 1.4409 1.4410 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4411 -#: ../en/ch08-undo.xml:378 1.4412 +#: ../en/ch08-undo.xml:373 1.4413 msgid "" 1.4414 "If you want to back out a change other than the last one you committed, pass " 1.4415 "the <option role=\"hg-opt-backout\">--merge</option> option to the <command " 1.4416 @@ -9413,14 +9405,14 @@ 1.4417 msgstr "" 1.4418 1.4419 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4420 -#: ../en/ch08-undo.xml:385 1.4421 +#: ../en/ch08-undo.xml:380 1.4422 msgid "" 1.4423 "This makes backing out any changeset a <quote>one-shot</quote> operation " 1.4424 "that's usually simple and fast." 1.4425 msgstr "" 1.4426 1.4427 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4428 -#: ../en/ch08-undo.xml:391 1.4429 +#: ../en/ch08-undo.xml:386 1.4430 msgid "" 1.4431 "If you take a look at the contents of <filename>myfile</filename> after the " 1.4432 "backout finishes, you'll see that the first and third changes are present, " 1.4433 @@ -9428,40 +9420,40 @@ 1.4434 msgstr "" 1.4435 1.4436 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4437 -#: ../en/ch08-undo.xml:398 1.4438 -msgid "" 1.4439 -"As the graphical history in figure <xref endterm=\"fig.undo.backout-non-tip." 1.4440 -"caption\" linkend=\"fig.undo.backout-non-tip\"/> illustrates, Mercurial " 1.4441 -"actually commits <emphasis>two</emphasis> changes in this kind of situation " 1.4442 -"(the box-shaped nodes are the ones that Mercurial commits automatically). " 1.4443 -"Before Mercurial begins the backout process, it first remembers what the " 1.4444 -"current parent of the working directory is. It then backs out the target " 1.4445 -"changeset, and commits that as a changeset. Finally, it merges back to the " 1.4446 -"previous parent of the working directory, and commits the result of the merge." 1.4447 -msgstr "" 1.4448 - 1.4449 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.4450 -#: ../en/ch08-undo.xml:410 1.4451 +#: ../en/ch08-undo.xml:393 1.4452 +msgid "" 1.4453 +"As the graphical history in <xref linkend=\"fig:undo:backout-non-tip\"/> " 1.4454 +"illustrates, Mercurial actually commits <emphasis>two</emphasis> changes in " 1.4455 +"this kind of situation (the box-shaped nodes are the ones that Mercurial " 1.4456 +"commits automatically). Before Mercurial begins the backout process, it " 1.4457 +"first remembers what the current parent of the working directory is. It then " 1.4458 +"backs out the target changeset, and commits that as a changeset. Finally, it " 1.4459 +"merges back to the previous parent of the working directory, and commits the " 1.4460 +"result of the merge." 1.4461 +msgstr "" 1.4462 + 1.4463 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.4464 +#: ../en/ch08-undo.xml:404 1.4465 msgid "" 1.4466 "% TODO: to me it looks like mercurial doesn't commit the second merge " 1.4467 "automatically!" 1.4468 msgstr "" 1.4469 1.4470 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.4471 -#: ../en/ch08-undo.xml:415 1.4472 -msgid "" 1.4473 -"<imageobject><imagedata fileref=\"images/undo-non-tip.png\"/> </imageobject>" 1.4474 -msgstr "" 1.4475 - 1.4476 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.4477 -#: ../en/ch08-undo.xml:418 1.4478 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.4479 +#: ../en/ch08-undo.xml:408 1.4480 msgid "" 1.4481 "Automated backout of a non-tip change using the <command role=\"hg-cmd\">hg " 1.4482 "backout</command> command" 1.4483 msgstr "" 1.4484 1.4485 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.4486 -#: ../en/ch08-undo.xml:424 1.4487 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.4488 +#: ../en/ch08-undo.xml:411 1.4489 +msgid "" 1.4490 +"<imageobject><imagedata fileref=\"figs/undo-non-tip.png\"/></imageobject>" 1.4491 +msgstr "" 1.4492 + 1.4493 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.4494 +#: ../en/ch08-undo.xml:416 1.4495 msgid "" 1.4496 "The result is that you end up <quote>back where you were</quote>, only with " 1.4497 "some extra history that undoes the effect of the changeset you wanted to back " 1.4498 @@ -9469,12 +9461,12 @@ 1.4499 msgstr "" 1.4500 1.4501 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.4502 -#: ../en/ch08-undo.xml:429 1.4503 +#: ../en/ch08-undo.xml:421 1.4504 msgid "Always use the <option role=\"hg-opt-backout\">--merge</option> option" 1.4505 msgstr "始终使用选项 <option role=\"hg-opt-backout\">--merge</option>" 1.4506 1.4507 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.4508 -#: ../en/ch08-undo.xml:432 1.4509 +#: ../en/ch08-undo.xml:424 1.4510 msgid "" 1.4511 "In fact, since the <option role=\"hg-opt-backout\">--merge</option> option " 1.4512 "will do the <quote>right thing</quote> whether or not the changeset you're " 1.4513 @@ -9484,12 +9476,12 @@ 1.4514 msgstr "" 1.4515 1.4516 #. type: Content of: <book><chapter><sect1><sect2><title> 1.4517 -#: ../en/ch08-undo.xml:443 1.4518 +#: ../en/ch08-undo.xml:435 1.4519 msgid "Gaining more control of the backout process" 1.4520 msgstr "在恢复处理中获得更多控制" 1.4521 1.4522 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4523 -#: ../en/ch08-undo.xml:445 1.4524 +#: ../en/ch08-undo.xml:437 1.4525 msgid "" 1.4526 "While I've recommended that you always use the <option role=\"hg-opt-backout" 1.4527 "\">--merge</option> option when backing out a change, the <command role=\"hg-" 1.4528 @@ -9502,14 +9494,14 @@ 1.4529 msgstr "" 1.4530 1.4531 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4532 -#: ../en/ch08-undo.xml:458 1.4533 +#: ../en/ch08-undo.xml:450 1.4534 msgid "" 1.4535 "As with our earlier example, We'll commit a third changeset, then back out " 1.4536 "its parent, and see what happens." 1.4537 msgstr "" 1.4538 1.4539 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4540 -#: ../en/ch08-undo.xml:464 1.4541 +#: ../en/ch08-undo.xml:456 1.4542 msgid "" 1.4543 "Our new changeset is again a descendant of the changeset we backout out; it's " 1.4544 "thus a new head, <emphasis>not</emphasis> a descendant of the changeset that " 1.4545 @@ -9518,24 +9510,22 @@ 1.4546 msgstr "" 1.4547 1.4548 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4549 -#: ../en/ch08-undo.xml:472 1.4550 +#: ../en/ch08-undo.xml:464 1.4551 msgid "" 1.4552 "Again, it's easier to see what has happened by looking at a graph of the " 1.4553 -"revision history, in figure <xref endterm=\"fig.undo.backout-manual.caption\" " 1.4554 -"linkend=\"fig.undo.backout-manual\"/>. This makes it clear that when we use " 1.4555 -"<command role=\"hg-cmd\">hg backout</command> to back out a change other than " 1.4556 -"the tip, Mercurial adds a new head to the repository (the change it committed " 1.4557 -"is box-shaped)." 1.4558 -msgstr "" 1.4559 - 1.4560 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.4561 -#: ../en/ch08-undo.xml:483 1.4562 -msgid "" 1.4563 -"<imageobject><imagedata fileref=\"images/undo-manual.png\"/> </imageobject>" 1.4564 -msgstr "" 1.4565 - 1.4566 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.4567 -#: ../en/ch08-undo.xml:492 1.4568 +"revision history, in <xref linkend=\"fig:undo:backout-manual\"/>. This makes " 1.4569 +"it clear that when we use <command role=\"hg-cmd\">hg backout</command> to " 1.4570 +"back out a change other than the tip, Mercurial adds a new head to the " 1.4571 +"repository (the change it committed is box-shaped)." 1.4572 +msgstr "" 1.4573 + 1.4574 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.4575 +#: ../en/ch08-undo.xml:476 1.4576 +msgid "<imageobject><imagedata fileref=\"figs/undo-manual.png\"/></imageobject>" 1.4577 +msgstr "" 1.4578 + 1.4579 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.4580 +#: ../en/ch08-undo.xml:481 1.4581 msgid "" 1.4582 "After the <command role=\"hg-cmd\">hg backout</command> command has " 1.4583 "completed, it leaves the new <quote>backout</quote> changeset as the parent " 1.4584 @@ -9543,12 +9533,12 @@ 1.4585 msgstr "" 1.4586 1.4587 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4588 -#: ../en/ch08-undo.xml:499 1.4589 +#: ../en/ch08-undo.xml:488 1.4590 msgid "Now we have two isolated sets of changes." 1.4591 msgstr "" 1.4592 1.4593 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4594 -#: ../en/ch08-undo.xml:503 1.4595 +#: ../en/ch08-undo.xml:492 1.4596 msgid "" 1.4597 "Let's think about what we expect to see as the contents of <filename>myfile</" 1.4598 "filename> now. The first change should be present, because we've never " 1.4599 @@ -9559,60 +9549,58 @@ 1.4600 msgstr "" 1.4601 1.4602 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4603 -#: ../en/ch08-undo.xml:513 1.4604 +#: ../en/ch08-undo.xml:502 1.4605 msgid "" 1.4606 "To get the third change back into the file, we just do a normal merge of our " 1.4607 "two heads." 1.4608 msgstr "" 1.4609 1.4610 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4611 -#: ../en/ch08-undo.xml:518 1.4612 -msgid "" 1.4613 -"Afterwards, the graphical history of our repository looks like figure <xref " 1.4614 -"endterm=\"fig.undo.backout-manual-merge.caption\" linkend=\"fig.undo.backout-" 1.4615 -"manual-merge\"/>." 1.4616 -msgstr "" 1.4617 - 1.4618 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.4619 -#: ../en/ch08-undo.xml:525 1.4620 -msgid "" 1.4621 -"<imageobject><imagedata fileref=\"images/undo-manual-merge.png\"/> </" 1.4622 -"imageobject>" 1.4623 -msgstr "" 1.4624 - 1.4625 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.4626 -#: ../en/ch08-undo.xml:528 1.4627 +#: ../en/ch08-undo.xml:507 1.4628 +msgid "" 1.4629 +"Afterwards, the graphical history of our repository looks like <xref linkend=" 1.4630 +"\"fig:undo:backout-manual-merge\"/>." 1.4631 +msgstr "" 1.4632 + 1.4633 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.4634 +#: ../en/ch08-undo.xml:512 1.4635 msgid "Manually merging a backout change" 1.4636 msgstr "" 1.4637 1.4638 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.4639 +#: ../en/ch08-undo.xml:514 1.4640 +msgid "" 1.4641 +"<imageobject><imagedata fileref=\"figs/undo-manual-merge.png\"/></imageobject>" 1.4642 +msgstr "" 1.4643 + 1.4644 #. type: Content of: <book><chapter><sect1><sect2><title> 1.4645 -#: ../en/ch08-undo.xml:535 1.4646 +#: ../en/ch08-undo.xml:521 1.4647 msgid "Why <command role=\"hg-cmd\">hg backout</command> works as it does" 1.4648 msgstr "<command role=\"hg-cmd\">hg backout</command> 的内幕" 1.4649 1.4650 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4651 -#: ../en/ch08-undo.xml:538 1.4652 +#: ../en/ch08-undo.xml:524 1.4653 msgid "" 1.4654 "Here's a brief description of how the <command role=\"hg-cmd\">hg backout</" 1.4655 "command> command works." 1.4656 msgstr "" 1.4657 1.4658 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.4659 -#: ../en/ch08-undo.xml:541 1.4660 +#: ../en/ch08-undo.xml:527 1.4661 msgid "" 1.4662 "It ensures that the working directory is <quote>clean</quote>, i.e. that the " 1.4663 "output of <command role=\"hg-cmd\">hg status</command> would be empty." 1.4664 msgstr "" 1.4665 1.4666 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.4667 -#: ../en/ch08-undo.xml:545 1.4668 +#: ../en/ch08-undo.xml:531 1.4669 msgid "" 1.4670 "It remembers the current parent of the working directory. Let's call this " 1.4671 "changeset <literal>orig</literal>" 1.4672 msgstr "" 1.4673 1.4674 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.4675 -#: ../en/ch08-undo.xml:549 1.4676 +#: ../en/ch08-undo.xml:535 1.4677 msgid "" 1.4678 "It does the equivalent of a <command role=\"hg-cmd\">hg update</command> to " 1.4679 "sync the working directory to the changeset you want to back out. Let's call " 1.4680 @@ -9620,14 +9608,14 @@ 1.4681 msgstr "" 1.4682 1.4683 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.4684 -#: ../en/ch08-undo.xml:554 1.4685 +#: ../en/ch08-undo.xml:540 1.4686 msgid "" 1.4687 "It finds the parent of that changeset. Let's call that changeset " 1.4688 "<literal>parent</literal>." 1.4689 msgstr "" 1.4690 1.4691 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.4692 -#: ../en/ch08-undo.xml:557 1.4693 +#: ../en/ch08-undo.xml:543 1.4694 msgid "" 1.4695 "For each file that the <literal>backout</literal> changeset affected, it does " 1.4696 "the equivalent of a <command role=\"hg-cmd\">hg revert -r parent</command> on " 1.4697 @@ -9636,14 +9624,14 @@ 1.4698 msgstr "" 1.4699 1.4700 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.4701 -#: ../en/ch08-undo.xml:564 1.4702 +#: ../en/ch08-undo.xml:550 1.4703 msgid "" 1.4704 "It commits the result as a new changeset. This changeset has " 1.4705 "<literal>backout</literal> as its parent." 1.4706 msgstr "" 1.4707 1.4708 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.4709 -#: ../en/ch08-undo.xml:568 1.4710 +#: ../en/ch08-undo.xml:554 1.4711 msgid "" 1.4712 "If you specify <option role=\"hg-opt-backout\">--merge</option> on the " 1.4713 "command line, it merges with <literal>orig</literal>, and commits the result " 1.4714 @@ -9651,7 +9639,7 @@ 1.4715 msgstr "" 1.4716 1.4717 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4718 -#: ../en/ch08-undo.xml:574 1.4719 +#: ../en/ch08-undo.xml:560 1.4720 msgid "" 1.4721 "An alternative way to implement the <command role=\"hg-cmd\">hg backout</" 1.4722 "command> command would be to <command role=\"hg-cmd\">hg export</command> the " 1.4723 @@ -9662,7 +9650,7 @@ 1.4724 msgstr "" 1.4725 1.4726 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4727 -#: ../en/ch08-undo.xml:584 1.4728 +#: ../en/ch08-undo.xml:570 1.4729 msgid "" 1.4730 "The reason that <command role=\"hg-cmd\">hg backout</command> does an update, " 1.4731 "a commit, a merge, and another commit is to give the merge machinery the best " 1.4732 @@ -9671,14 +9659,14 @@ 1.4733 msgstr "" 1.4734 1.4735 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4736 -#: ../en/ch08-undo.xml:591 1.4737 +#: ../en/ch08-undo.xml:577 1.4738 msgid "" 1.4739 "If you're backing out a changeset that's 100 revisions back in your project's " 1.4740 "history, the chances that the <command>patch</command> command will be able " 1.4741 "to apply a reverse diff cleanly are not good, because intervening changes are " 1.4742 "likely to have <quote>broken the context</quote> that <command>patch</" 1.4743 "command> uses to determine whether it can apply a patch (if this sounds like " 1.4744 -"gibberish, see <xref linkend=\"sec.mq.patch\"/> for a discussion of the " 1.4745 +"gibberish, see <xref linkend=\"sec:mq:patch\"/> for a discussion of the " 1.4746 "<command>patch</command> command). Also, Mercurial's merge machinery will " 1.4747 "handle files and directories being renamed, permission changes, and " 1.4748 "modifications to binary files, none of which <command>patch</command> can " 1.4749 @@ -9686,12 +9674,12 @@ 1.4750 msgstr "" 1.4751 1.4752 #. type: Content of: <book><chapter><sect1><title> 1.4753 -#: ../en/ch08-undo.xml:608 1.4754 +#: ../en/ch08-undo.xml:594 1.4755 msgid "Changes that should never have been" 1.4756 msgstr "不该发生的修改" 1.4757 1.4758 #. type: Content of: <book><chapter><sect1><para> 1.4759 -#: ../en/ch08-undo.xml:610 1.4760 +#: ../en/ch08-undo.xml:596 1.4761 msgid "" 1.4762 "Most of the time, the <command role=\"hg-cmd\">hg backout</command> command " 1.4763 "is exactly what you need if you want to undo the effects of a change. It " 1.4764 @@ -9700,7 +9688,7 @@ 1.4765 msgstr "" 1.4766 1.4767 #. type: Content of: <book><chapter><sect1><para> 1.4768 -#: ../en/ch08-undo.xml:616 1.4769 +#: ../en/ch08-undo.xml:602 1.4770 msgid "" 1.4771 "On rare occasions, though, you may find that you've committed a change that " 1.4772 "really should not be present in the repository at all. For example, it would " 1.4773 @@ -9712,7 +9700,7 @@ 1.4774 msgstr "" 1.4775 1.4776 #. type: Content of: <book><chapter><sect1><para> 1.4777 -#: ../en/ch08-undo.xml:625 1.4778 +#: ../en/ch08-undo.xml:611 1.4779 msgid "" 1.4780 "Before I discuss the options that you have if you commit a <quote>brown paper " 1.4781 "bag</quote> change (the kind that's so bad that you want to pull a brown " 1.4782 @@ -9721,19 +9709,19 @@ 1.4783 msgstr "" 1.4784 1.4785 #. type: Content of: <book><chapter><sect1><para> 1.4786 -#: ../en/ch08-undo.xml:630 1.4787 +#: ../en/ch08-undo.xml:616 1.4788 msgid "" 1.4789 "Since Mercurial treats history as accumulative&emdash;every change builds on " 1.4790 "top of all changes that preceded it&emdash;you generally can't just make " 1.4791 "disastrous changes disappear. The one exception is when you've just " 1.4792 "committed a change, and it hasn't been pushed or pulled into another " 1.4793 "repository. That's when you can safely use the <command role=\"hg-cmd\">hg " 1.4794 -"rollback</command> command, as I detailed in section <xref linkend=\"sec.undo." 1.4795 -"rollback\"/>." 1.4796 -msgstr "" 1.4797 - 1.4798 -#. type: Content of: <book><chapter><sect1><para> 1.4799 -#: ../en/ch08-undo.xml:639 1.4800 +"rollback</command> command, as I detailed in <xref linkend=\"sec:undo:rollback" 1.4801 +"\"/>." 1.4802 +msgstr "" 1.4803 + 1.4804 +#. type: Content of: <book><chapter><sect1><para> 1.4805 +#: ../en/ch08-undo.xml:625 1.4806 msgid "" 1.4807 "After you've pushed a bad change to another repository, you <emphasis>could</" 1.4808 "emphasis> still use <command role=\"hg-cmd\">hg rollback</command> to make " 1.4809 @@ -9743,7 +9731,7 @@ 1.4810 msgstr "" 1.4811 1.4812 #. type: Content of: <book><chapter><sect1><para> 1.4813 -#: ../en/ch08-undo.xml:647 1.4814 +#: ../en/ch08-undo.xml:633 1.4815 msgid "" 1.4816 "If a situation like this arises, and you know which repositories your bad " 1.4817 "change has propagated into, you can <emphasis>try</emphasis> to get rid of " 1.4818 @@ -9754,7 +9742,7 @@ 1.4819 msgstr "" 1.4820 1.4821 #. type: Content of: <book><chapter><sect1><para> 1.4822 -#: ../en/ch08-undo.xml:655 1.4823 +#: ../en/ch08-undo.xml:641 1.4824 msgid "" 1.4825 "If you've committed one or more changes <emphasis>after</emphasis> the change " 1.4826 "that you'd like to see disappear, your options are further reduced. Mercurial " 1.4827 @@ -9763,7 +9751,7 @@ 1.4828 msgstr "" 1.4829 1.4830 #. type: Content of: <book><chapter><sect1><para> 1.4831 -#: ../en/ch08-undo.xml:661 1.4832 +#: ../en/ch08-undo.xml:647 1.4833 msgid "" 1.4834 "XXX This needs filling out. The <literal>hg-replay</literal> script in the " 1.4835 "<literal>examples</literal> directory works, but doesn't handle merge " 1.4836 @@ -9771,12 +9759,12 @@ 1.4837 msgstr "" 1.4838 1.4839 #. type: Content of: <book><chapter><sect1><sect2><title> 1.4840 -#: ../en/ch08-undo.xml:667 1.4841 +#: ../en/ch08-undo.xml:653 1.4842 msgid "Protect yourself from <quote>escaped</quote> changes" 1.4843 msgstr "使用<quote>校验</quote>修改来保护你自己" 1.4844 1.4845 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4846 -#: ../en/ch08-undo.xml:670 1.4847 +#: ../en/ch08-undo.xml:656 1.4848 msgid "" 1.4849 "If you've committed some changes to your local repository and they've been " 1.4850 "pushed or pulled somewhere else, this isn't necessarily a disaster. You can " 1.4851 @@ -9786,10 +9774,10 @@ 1.4852 msgstr "" 1.4853 1.4854 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4855 -#: ../en/ch08-undo.xml:677 1.4856 +#: ../en/ch08-undo.xml:663 1.4857 msgid "" 1.4858 "By configuring some hooks on that repository to validate incoming changesets " 1.4859 -"(see chapter <xref linkend=\"chap.hook\"/>), you can automatically prevent " 1.4860 +"(see chapter <xref linkend=\"chap:hook\"/>), you can automatically prevent " 1.4861 "some kinds of bad changeset from being pushed to the central repository at " 1.4862 "all. With such a configuration in place, some kinds of bad changeset will " 1.4863 "naturally tend to <quote>die out</quote> because they can't propagate into " 1.4864 @@ -9798,7 +9786,7 @@ 1.4865 msgstr "" 1.4866 1.4867 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4868 -#: ../en/ch08-undo.xml:687 1.4869 +#: ../en/ch08-undo.xml:673 1.4870 msgid "" 1.4871 "For instance, an incoming change hook that verifies that a changeset will " 1.4872 "actually compile can prevent people from inadvertantly <quote>breaking the " 1.4873 @@ -9806,12 +9794,12 @@ 1.4874 msgstr "" 1.4875 1.4876 #. type: Content of: <book><chapter><sect1><title> 1.4877 -#: ../en/ch08-undo.xml:694 1.4878 +#: ../en/ch08-undo.xml:680 1.4879 msgid "Finding the source of a bug" 1.4880 msgstr "查找问题的根源" 1.4881 1.4882 #. type: Content of: <book><chapter><sect1><para> 1.4883 -#: ../en/ch08-undo.xml:696 1.4884 +#: ../en/ch08-undo.xml:682 1.4885 msgid "" 1.4886 "While it's all very well to be able to back out a changeset that introduced a " 1.4887 "bug, this requires that you know which changeset to back out. Mercurial " 1.4888 @@ -9821,7 +9809,7 @@ 1.4889 msgstr "" 1.4890 1.4891 #. type: Content of: <book><chapter><sect1><para> 1.4892 -#: ../en/ch08-undo.xml:703 1.4893 +#: ../en/ch08-undo.xml:689 1.4894 msgid "" 1.4895 "The idea behind the <command role=\"hg-cmd\">hg bisect</command> command is " 1.4896 "that a changeset has introduced some change of behaviour that you can " 1.4897 @@ -9833,14 +9821,14 @@ 1.4898 msgstr "" 1.4899 1.4900 #. type: Content of: <book><chapter><sect1><para> 1.4901 -#: ../en/ch08-undo.xml:712 1.4902 +#: ../en/ch08-undo.xml:698 1.4903 msgid "" 1.4904 "Here are a few scenarios to help you understand how you might apply this " 1.4905 "command." 1.4906 msgstr "" 1.4907 1.4908 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.4909 -#: ../en/ch08-undo.xml:715 1.4910 +#: ../en/ch08-undo.xml:701 1.4911 msgid "" 1.4912 "The most recent version of your software has a bug that you remember wasn't " 1.4913 "present a few weeks ago, but you don't know when it was introduced. Here, " 1.4914 @@ -9848,7 +9836,7 @@ 1.4915 msgstr "" 1.4916 1.4917 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.4918 -#: ../en/ch08-undo.xml:720 1.4919 +#: ../en/ch08-undo.xml:706 1.4920 msgid "" 1.4921 "You fixed a bug in a rush, and now it's time to close the entry in your " 1.4922 "team's bug database. The bug database requires a changeset ID when you close " 1.4923 @@ -9857,7 +9845,7 @@ 1.4924 msgstr "" 1.4925 1.4926 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.4927 -#: ../en/ch08-undo.xml:727 1.4928 +#: ../en/ch08-undo.xml:713 1.4929 msgid "" 1.4930 "Your software works correctly, but runs 15% slower than the last time you " 1.4931 "measured it. You want to know which changeset introduced the performance " 1.4932 @@ -9866,14 +9854,14 @@ 1.4933 msgstr "" 1.4934 1.4935 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.4936 -#: ../en/ch08-undo.xml:734 1.4937 +#: ../en/ch08-undo.xml:720 1.4938 msgid "" 1.4939 "The sizes of the components of your project that you ship exploded recently, " 1.4940 "and you suspect that something changed in the way you build your project." 1.4941 msgstr "" 1.4942 1.4943 #. type: Content of: <book><chapter><sect1><para> 1.4944 -#: ../en/ch08-undo.xml:739 1.4945 +#: ../en/ch08-undo.xml:725 1.4946 msgid "" 1.4947 "From these examples, it should be clear that the <command role=\"hg-cmd\">hg " 1.4948 "bisect</command> command is not useful only for finding the sources of bugs. " 1.4949 @@ -9883,7 +9871,7 @@ 1.4950 msgstr "" 1.4951 1.4952 #. type: Content of: <book><chapter><sect1><para> 1.4953 -#: ../en/ch08-undo.xml:746 1.4954 +#: ../en/ch08-undo.xml:732 1.4955 msgid "" 1.4956 "We'll introduce a little bit of terminology here, just to make it clear which " 1.4957 "parts of the search process are your responsibility, and which are " 1.4958 @@ -9897,7 +9885,7 @@ 1.4959 msgstr "" 1.4960 1.4961 #. type: Content of: <book><chapter><sect1><para> 1.4962 -#: ../en/ch08-undo.xml:759 1.4963 +#: ../en/ch08-undo.xml:745 1.4964 msgid "" 1.4965 "One simple way to automate the searching process would be simply to probe " 1.4966 "every changeset. However, this scales poorly. If it took ten minutes to " 1.4967 @@ -9910,7 +9898,7 @@ 1.4968 msgstr "" 1.4969 1.4970 #. type: Content of: <book><chapter><sect1><para> 1.4971 -#: ../en/ch08-undo.xml:769 1.4972 +#: ../en/ch08-undo.xml:755 1.4973 msgid "" 1.4974 "What the <command role=\"hg-cmd\">hg bisect</command> command does is use its " 1.4975 "knowledge of the <quote>shape</quote> of your project's revision history to " 1.4976 @@ -9923,7 +9911,7 @@ 1.4977 msgstr "" 1.4978 1.4979 #. type: Content of: <book><chapter><sect1><para> 1.4980 -#: ../en/ch08-undo.xml:780 1.4981 +#: ../en/ch08-undo.xml:766 1.4982 msgid "" 1.4983 "The <command role=\"hg-cmd\">hg bisect</command> command is aware of the " 1.4984 "<quote>branchy</quote> nature of a Mercurial project's revision history, so " 1.4985 @@ -9933,18 +9921,18 @@ 1.4986 msgstr "" 1.4987 1.4988 #. type: Content of: <book><chapter><sect1><sect2><title> 1.4989 -#: ../en/ch08-undo.xml:788 1.4990 +#: ../en/ch08-undo.xml:774 1.4991 msgid "Using the <command role=\"hg-cmd\">hg bisect</command> command" 1.4992 msgstr "使用命令 <command role=\"hg-cmd\">hg bisect</command>" 1.4993 1.4994 #. type: Content of: <book><chapter><sect1><sect2><para> 1.4995 -#: ../en/ch08-undo.xml:791 1.4996 +#: ../en/ch08-undo.xml:777 1.4997 msgid "" 1.4998 "Here's an example of <command role=\"hg-cmd\">hg bisect</command> in action." 1.4999 msgstr "" 1.5000 1.5001 #. type: Content of: <book><chapter><sect1><sect2><note><para> 1.5002 -#: ../en/ch08-undo.xml:795 1.5003 +#: ../en/ch08-undo.xml:781 1.5004 msgid "" 1.5005 "In versions 0.9.5 and earlier of Mercurial, <command role=\"hg-cmd\">hg " 1.5006 "bisect</command> was not a core command: it was distributed with Mercurial as " 1.5007 @@ -9953,14 +9941,14 @@ 1.5008 msgstr "" 1.5009 1.5010 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5011 -#: ../en/ch08-undo.xml:802 1.5012 +#: ../en/ch08-undo.xml:788 1.5013 msgid "" 1.5014 "Now let's create a repository, so that we can try out the <command role=\"hg-" 1.5015 "cmd\">hg bisect</command> command in isolation." 1.5016 msgstr "" 1.5017 1.5018 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5019 -#: ../en/ch08-undo.xml:808 1.5020 +#: ../en/ch08-undo.xml:794 1.5021 msgid "" 1.5022 "We'll simulate a project that has a bug in it in a simple-minded way: create " 1.5023 "trivial changes in a loop, and nominate one specific change that will have " 1.5024 @@ -9970,7 +9958,7 @@ 1.5025 msgstr "" 1.5026 1.5027 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5028 -#: ../en/ch08-undo.xml:818 1.5029 +#: ../en/ch08-undo.xml:804 1.5030 msgid "" 1.5031 "The next thing that we'd like to do is figure out how to use the <command " 1.5032 "role=\"hg-cmd\">hg bisect</command> command. We can use Mercurial's normal " 1.5033 @@ -9978,46 +9966,46 @@ 1.5034 msgstr "" 1.5035 1.5036 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5037 -#: ../en/ch08-undo.xml:825 1.5038 +#: ../en/ch08-undo.xml:811 1.5039 msgid "" 1.5040 "The <command role=\"hg-cmd\">hg bisect</command> command works in steps. " 1.5041 "Each step proceeds as follows." 1.5042 msgstr "" 1.5043 1.5044 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.5045 -#: ../en/ch08-undo.xml:828 1.5046 +#: ../en/ch08-undo.xml:814 1.5047 msgid "You run your binary test." 1.5048 msgstr "" 1.5049 1.5050 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><itemizedlist><listitem><para> 1.5051 -#: ../en/ch08-undo.xml:830 1.5052 +#: ../en/ch08-undo.xml:816 1.5053 msgid "" 1.5054 "If the test succeeded, you tell <command role=\"hg-cmd\">hg bisect</command> " 1.5055 "by running the <command role=\"hg-cmd\">hg bisect good</command> command." 1.5056 msgstr "" 1.5057 1.5058 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><itemizedlist><listitem><para> 1.5059 -#: ../en/ch08-undo.xml:835 1.5060 +#: ../en/ch08-undo.xml:821 1.5061 msgid "" 1.5062 "If it failed, run the <command role=\"hg-cmd\">hg bisect bad</command> " 1.5063 "command." 1.5064 msgstr "" 1.5065 1.5066 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.5067 -#: ../en/ch08-undo.xml:839 1.5068 +#: ../en/ch08-undo.xml:825 1.5069 msgid "" 1.5070 "The command uses your information to decide which changeset to test next." 1.5071 msgstr "" 1.5072 1.5073 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 1.5074 -#: ../en/ch08-undo.xml:842 1.5075 +#: ../en/ch08-undo.xml:828 1.5076 msgid "" 1.5077 "It updates the working directory to that changeset, and the process begins " 1.5078 "again." 1.5079 msgstr "" 1.5080 1.5081 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5082 -#: ../en/ch08-undo.xml:845 1.5083 +#: ../en/ch08-undo.xml:831 1.5084 msgid "" 1.5085 "The process ends when <command role=\"hg-cmd\">hg bisect</command> identifies " 1.5086 "a unique changeset that marks the point where your test transitioned from " 1.5087 @@ -10026,14 +10014,14 @@ 1.5088 1.5089 # 1.5090 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5091 -#: ../en/ch08-undo.xml:850 1.5092 +#: ../en/ch08-undo.xml:836 1.5093 msgid "" 1.5094 "To start the search, we must run the <command role=\"hg-cmd\">hg bisect --" 1.5095 "reset</command> command." 1.5096 msgstr "" 1.5097 1.5098 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5099 -#: ../en/ch08-undo.xml:855 1.5100 +#: ../en/ch08-undo.xml:841 1.5101 msgid "" 1.5102 "In our case, the binary test we use is simple: we check to see if any file in " 1.5103 "the repository contains the string <quote>i have a gub</quote>. If it does, " 1.5104 @@ -10043,7 +10031,7 @@ 1.5105 msgstr "" 1.5106 1.5107 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5108 -#: ../en/ch08-undo.xml:863 1.5109 +#: ../en/ch08-undo.xml:849 1.5110 msgid "" 1.5111 "Most of the time, the revision to which the working directory is synced " 1.5112 "(usually the tip) already exhibits the problem introduced by the buggy " 1.5113 @@ -10052,7 +10040,7 @@ 1.5114 1.5115 # 1.5116 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5117 -#: ../en/ch08-undo.xml:870 1.5118 +#: ../en/ch08-undo.xml:856 1.5119 msgid "" 1.5120 "Our next task is to nominate a changeset that we know <emphasis>doesn't</" 1.5121 "emphasis> have the bug; the <command role=\"hg-cmd\">hg bisect</command> " 1.5122 @@ -10063,26 +10051,26 @@ 1.5123 msgstr "" 1.5124 1.5125 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5126 -#: ../en/ch08-undo.xml:880 1.5127 +#: ../en/ch08-undo.xml:866 1.5128 msgid "Notice that this command printed some output." 1.5129 msgstr "" 1.5130 1.5131 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5132 -#: ../en/ch08-undo.xml:882 1.5133 +#: ../en/ch08-undo.xml:868 1.5134 msgid "" 1.5135 "It told us how many changesets it must consider before it can identify the " 1.5136 "one that introduced the bug, and how many tests that will require." 1.5137 msgstr "" 1.5138 1.5139 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5140 -#: ../en/ch08-undo.xml:886 1.5141 +#: ../en/ch08-undo.xml:872 1.5142 msgid "" 1.5143 "It updated the working directory to the next changeset to test, and told us " 1.5144 "which changeset it's testing." 1.5145 msgstr "" 1.5146 1.5147 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5148 -#: ../en/ch08-undo.xml:891 1.5149 +#: ../en/ch08-undo.xml:877 1.5150 msgid "" 1.5151 "We now run our test in the working directory. We use the <command>grep</" 1.5152 "command> command to see if our <quote>bad</quote> file is present in the " 1.5153 @@ -10091,26 +10079,26 @@ 1.5154 msgstr "" 1.5155 1.5156 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5157 -#: ../en/ch08-undo.xml:897 1.5158 +#: ../en/ch08-undo.xml:883 1.5159 msgid "" 1.5160 "This test looks like a perfect candidate for automation, so let's turn it " 1.5161 "into a shell function." 1.5162 msgstr "" 1.5163 1.5164 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5165 -#: ../en/ch08-undo.xml:901 1.5166 +#: ../en/ch08-undo.xml:887 1.5167 msgid "" 1.5168 "We can now run an entire test step with a single command, <literal>mytest</" 1.5169 "literal>." 1.5170 msgstr "" 1.5171 1.5172 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5173 -#: ../en/ch08-undo.xml:906 1.5174 +#: ../en/ch08-undo.xml:892 1.5175 msgid "A few more invocations of our canned test step command, and we're done." 1.5176 msgstr "" 1.5177 1.5178 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5179 -#: ../en/ch08-undo.xml:911 1.5180 +#: ../en/ch08-undo.xml:897 1.5181 msgid "" 1.5182 "Even though we had 40 changesets to search through, the <command role=\"hg-cmd" 1.5183 "\">hg bisect</command> command let us find the changeset that introduced our " 1.5184 @@ -10122,13 +10110,13 @@ 1.5185 msgstr "" 1.5186 1.5187 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5188 -#: ../en/ch08-undo.xml:922 1.5189 +#: ../en/ch08-undo.xml:908 1.5190 msgid "Cleaning up after your search" 1.5191 msgstr "搜索后的清理" 1.5192 1.5193 # 1.5194 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5195 -#: ../en/ch08-undo.xml:924 1.5196 +#: ../en/ch08-undo.xml:910 1.5197 msgid "" 1.5198 "When you're finished using the <command role=\"hg-cmd\">hg bisect</command> " 1.5199 "command in a repository, you can use the <command role=\"hg-cmd\">hg bisect " 1.5200 @@ -10140,17 +10128,17 @@ 1.5201 msgstr "" 1.5202 1.5203 #. type: Content of: <book><chapter><sect1><title> 1.5204 -#: ../en/ch08-undo.xml:939 1.5205 +#: ../en/ch08-undo.xml:925 1.5206 msgid "Tips for finding bugs effectively" 1.5207 msgstr "有效查找问题的技巧" 1.5208 1.5209 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5210 -#: ../en/ch08-undo.xml:942 1.5211 +#: ../en/ch08-undo.xml:928 1.5212 msgid "Give consistent input" 1.5213 msgstr "给出一致的输入" 1.5214 1.5215 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5216 -#: ../en/ch08-undo.xml:944 1.5217 +#: ../en/ch08-undo.xml:930 1.5218 msgid "" 1.5219 "The <command role=\"hg-cmd\">hg bisect</command> command requires that you " 1.5220 "correctly report the result of every test you perform. If you tell it that a " 1.5221 @@ -10162,12 +10150,12 @@ 1.5222 msgstr "" 1.5223 1.5224 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5225 -#: ../en/ch08-undo.xml:956 1.5226 +#: ../en/ch08-undo.xml:942 1.5227 msgid "Automate as much as possible" 1.5228 msgstr "尽量自动" 1.5229 1.5230 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5231 -#: ../en/ch08-undo.xml:958 1.5232 +#: ../en/ch08-undo.xml:944 1.5233 msgid "" 1.5234 "When I started using the <command role=\"hg-cmd\">hg bisect</command> " 1.5235 "command, I tried a few times to run my tests by hand, on the command line. " 1.5236 @@ -10177,7 +10165,7 @@ 1.5237 msgstr "" 1.5238 1.5239 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5240 -#: ../en/ch08-undo.xml:966 1.5241 +#: ../en/ch08-undo.xml:952 1.5242 msgid "" 1.5243 "My initial problems with driving the <command role=\"hg-cmd\">hg bisect</" 1.5244 "command> command by hand occurred even with simple searches on small " 1.5245 @@ -10188,24 +10176,24 @@ 1.5246 msgstr "" 1.5247 1.5248 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5249 -#: ../en/ch08-undo.xml:975 1.5250 +#: ../en/ch08-undo.xml:961 1.5251 msgid "The key to automated testing is twofold:" 1.5252 msgstr "" 1.5253 1.5254 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5255 -#: ../en/ch08-undo.xml:977 1.5256 +#: ../en/ch08-undo.xml:963 1.5257 msgid "always test for the same symptom, and" 1.5258 msgstr "" 1.5259 1.5260 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5261 -#: ../en/ch08-undo.xml:979 1.5262 +#: ../en/ch08-undo.xml:965 1.5263 msgid "" 1.5264 "always feed consistent input to the <command role=\"hg-cmd\">hg bisect</" 1.5265 "command> command." 1.5266 msgstr "" 1.5267 1.5268 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5269 -#: ../en/ch08-undo.xml:982 1.5270 +#: ../en/ch08-undo.xml:968 1.5271 msgid "" 1.5272 "In my tutorial example above, the <command>grep</command> command tests for " 1.5273 "the symptom, and the <literal>if</literal> statement takes the result of this " 1.5274 @@ -10216,12 +10204,12 @@ 1.5275 msgstr "" 1.5276 1.5277 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5278 -#: ../en/ch08-undo.xml:992 1.5279 +#: ../en/ch08-undo.xml:978 1.5280 msgid "Check your results" 1.5281 msgstr "检查你的结果" 1.5282 1.5283 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5284 -#: ../en/ch08-undo.xml:994 1.5285 +#: ../en/ch08-undo.xml:980 1.5286 msgid "" 1.5287 "Because the output of a <command role=\"hg-cmd\">hg bisect</command> search " 1.5288 "is only as good as the input you give it, don't take the changeset it reports " 1.5289 @@ -10230,32 +10218,32 @@ 1.5290 msgstr "" 1.5291 1.5292 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5293 -#: ../en/ch08-undo.xml:1000 1.5294 +#: ../en/ch08-undo.xml:986 1.5295 msgid "" 1.5296 "The changeset that it reports as the first bad revision. Your test should " 1.5297 "still report this as bad." 1.5298 msgstr "" 1.5299 1.5300 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5301 -#: ../en/ch08-undo.xml:1004 1.5302 +#: ../en/ch08-undo.xml:990 1.5303 msgid "" 1.5304 "The parent of that changeset (either parent, if it's a merge). Your test " 1.5305 "should report this changeset as good." 1.5306 msgstr "" 1.5307 1.5308 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5309 -#: ../en/ch08-undo.xml:1008 1.5310 +#: ../en/ch08-undo.xml:994 1.5311 msgid "" 1.5312 "A child of that changeset. Your test should report this changeset as bad." 1.5313 msgstr "" 1.5314 1.5315 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5316 -#: ../en/ch08-undo.xml:1014 1.5317 +#: ../en/ch08-undo.xml:1000 1.5318 msgid "Beware interference between bugs" 1.5319 msgstr "谨防问题之间的冲突" 1.5320 1.5321 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5322 -#: ../en/ch08-undo.xml:1016 1.5323 +#: ../en/ch08-undo.xml:1002 1.5324 msgid "" 1.5325 "It's possible that your search for one bug could be disrupted by the presence " 1.5326 "of another. For example, let's say your software crashes at revision 100, " 1.5327 @@ -10265,7 +10253,7 @@ 1.5328 msgstr "" 1.5329 1.5330 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5331 -#: ../en/ch08-undo.xml:1024 1.5332 +#: ../en/ch08-undo.xml:1010 1.5333 msgid "" 1.5334 "It is possible that this other bug completely <quote>masks</quote> yours, " 1.5335 "which is to say that it occurs before your bug has a chance to manifest " 1.5336 @@ -10277,7 +10265,7 @@ 1.5337 msgstr "" 1.5338 1.5339 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5340 -#: ../en/ch08-undo.xml:1034 1.5341 +#: ../en/ch08-undo.xml:1020 1.5342 msgid "" 1.5343 "A different problem could arise if your test for a bug's presence is not " 1.5344 "specific enough. If you check for <quote>my program crashes</quote>, then " 1.5345 @@ -10286,7 +10274,7 @@ 1.5346 msgstr "" 1.5347 1.5348 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5349 -#: ../en/ch08-undo.xml:1041 1.5350 +#: ../en/ch08-undo.xml:1027 1.5351 msgid "" 1.5352 "Another useful situation in which to use <command role=\"hg-cmd\">hg bisect --" 1.5353 "skip</command> is if you can't test a revision because your project was in a " 1.5354 @@ -10295,12 +10283,12 @@ 1.5355 msgstr "" 1.5356 1.5357 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5358 -#: ../en/ch08-undo.xml:1050 1.5359 +#: ../en/ch08-undo.xml:1036 1.5360 msgid "Bracket your search lazily" 1.5361 msgstr "减少你的查找工作" 1.5362 1.5363 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5364 -#: ../en/ch08-undo.xml:1052 1.5365 +#: ../en/ch08-undo.xml:1038 1.5366 msgid "" 1.5367 "Choosing the first <quote>good</quote> and <quote>bad</quote> changesets that " 1.5368 "will mark the end points of your search is often easy, but it bears a little " 1.5369 @@ -10310,7 +10298,7 @@ 1.5370 msgstr "" 1.5371 1.5372 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5373 -#: ../en/ch08-undo.xml:1060 1.5374 +#: ../en/ch08-undo.xml:1046 1.5375 msgid "" 1.5376 "If you're having trouble remembering when a suitable <quote>good</quote> " 1.5377 "change was, so that you can tell <command role=\"hg-cmd\">hg bisect</" 1.5378 @@ -10321,7 +10309,7 @@ 1.5379 msgstr "" 1.5380 1.5381 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5382 -#: ../en/ch08-undo.xml:1069 1.5383 +#: ../en/ch08-undo.xml:1055 1.5384 msgid "" 1.5385 "Even if you end up <quote>early</quote> by thousands of changesets or months " 1.5386 "of history, you will only add a handful of tests to the total number that " 1.5387 @@ -10358,9 +10346,8 @@ 1.5388 #. type: Content of: <book><chapter><sect1><para> 1.5389 #: ../en/ch09-hook.xml:20 1.5390 msgid "" 1.5391 -"Here is a brief list of the hooks that Mercurial supports. We will revisit " 1.5392 -"each of these hooks in more detail later, in section <xref linkend=\"sec.hook." 1.5393 -"ref\"/>." 1.5394 +"Here is a brief list of the hooks that Mercurial supports. We will revisit " 1.5395 +"each of these hooks in more detail later, in <xref linkend=\"sec:hook:ref\"/>." 1.5396 msgstr "" 1.5397 1.5398 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.5399 @@ -10838,8 +10825,7 @@ 1.5400 "new hook. This will help you to remember what the hook was for. If the hook " 1.5401 "fails, you'll get an error message that contains the hook name and extension, " 1.5402 "so using a descriptive extension could give you an immediate hint as to why " 1.5403 -"the hook failed (see section <xref linkend=\"sec.hook.perm\"/> for an " 1.5404 -"example)." 1.5405 +"the hook failed (see <xref linkend=\"sec:hook:perm\"/> for an example)." 1.5406 msgstr "" 1.5407 1.5408 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5409 @@ -11335,7 +11321,7 @@ 1.5410 msgstr "" 1.5411 1.5412 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.5413 -#: ../en/ch09-hook.xml:822 ../en/ch09-hook.xml:1089 ../en/ch09-hook.xml:1280 1.5414 +#: ../en/ch09-hook.xml:822 ../en/ch09-hook.xml:1089 ../en/ch09-hook.xml:1279 1.5415 msgid "Testing and troubleshooting" 1.5416 msgstr "测试与问题处理" 1.5417 1.5418 @@ -11632,12 +11618,12 @@ 1.5419 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.5420 #: ../en/ch09-hook.xml:1097 1.5421 msgid "" 1.5422 -"Recall from section <xref linkend=\"sec.hook.bugzilla.config\"/> above that " 1.5423 -"the user that runs the Mercurial process on the server is also the one that " 1.5424 -"will run the <filename>processmail</filename> script. The " 1.5425 -"<filename>processmail</filename> script sometimes causes Bugzilla to write to " 1.5426 -"files in its configuration directory, and Bugzilla's configuration files are " 1.5427 -"usually owned by the user that your web server runs under." 1.5428 +"Recall from <xref linkend=\"sec:hook:bugzilla:config\"/> above that the user " 1.5429 +"that runs the Mercurial process on the server is also the one that will run " 1.5430 +"the <filename>processmail</filename> script. The <filename>processmail</" 1.5431 +"filename> script sometimes causes Bugzilla to write to files in its " 1.5432 +"configuration directory, and Bugzilla's configuration files are usually owned " 1.5433 +"by the user that your web server runs under." 1.5434 msgstr "" 1.5435 1.5436 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.5437 @@ -11805,12 +11791,12 @@ 1.5438 "<envar role=\"rc-item-notify\">sources</envar>: A list of sources of " 1.5439 "changesets to consider. This lets you limit <literal role=\"hg-ext\">notify</" 1.5440 "literal> to only sending out email about changes that remote users pushed " 1.5441 -"into this repository via a server, for example. See section <xref linkend=" 1.5442 -"\"sec.hook.sources\"/> for the sources you can specify here." 1.5443 +"into this repository via a server, for example. See <xref linkend=\"sec:hook:" 1.5444 +"sources\"/> for the sources you can specify here." 1.5445 msgstr "" 1.5446 1.5447 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.5448 -#: ../en/ch09-hook.xml:1260 1.5449 +#: ../en/ch09-hook.xml:1259 1.5450 msgid "" 1.5451 "If you set the <envar role=\"rc-item-web\">baseurl</envar> item in the " 1.5452 "<literal role=\"rc-web\">web</literal> section, you can use it in a template; " 1.5453 @@ -11818,19 +11804,19 @@ 1.5454 msgstr "" 1.5455 1.5456 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.5457 -#: ../en/ch09-hook.xml:1266 1.5458 +#: ../en/ch09-hook.xml:1265 1.5459 msgid "" 1.5460 "Here is an example set of <literal role=\"hg-ext\">notify</literal> " 1.5461 "configuration information." 1.5462 msgstr "" 1.5463 1.5464 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.5465 -#: ../en/ch09-hook.xml:1272 1.5466 +#: ../en/ch09-hook.xml:1271 1.5467 msgid "This will produce a message that looks like the following:" 1.5468 msgstr "" 1.5469 1.5470 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.5471 -#: ../en/ch09-hook.xml:1282 1.5472 +#: ../en/ch09-hook.xml:1281 1.5473 msgid "" 1.5474 "Do not forget that by default, the <literal role=\"hg-ext\">notify</literal> " 1.5475 "extension <emphasis>will not send any mail</emphasis> until you explicitly " 1.5476 @@ -11840,22 +11826,22 @@ 1.5477 msgstr "" 1.5478 1.5479 #. type: Content of: <book><chapter><sect1><title> 1.5480 -#: ../en/ch09-hook.xml:1294 1.5481 +#: ../en/ch09-hook.xml:1293 1.5482 msgid "Information for writers of hooks" 1.5483 msgstr "编写钩子的信息" 1.5484 1.5485 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5486 -#: ../en/ch09-hook.xml:1297 1.5487 +#: ../en/ch09-hook.xml:1296 1.5488 msgid "In-process hook execution" 1.5489 msgstr "进程内钩子的执行" 1.5490 1.5491 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5492 -#: ../en/ch09-hook.xml:1299 1.5493 +#: ../en/ch09-hook.xml:1298 1.5494 msgid "An in-process hook is called with arguments of the following form:" 1.5495 msgstr "" 1.5496 1.5497 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5498 -#: ../en/ch09-hook.xml:1303 1.5499 +#: ../en/ch09-hook.xml:1302 1.5500 msgid "" 1.5501 "The <literal>ui</literal> parameter is a <literal role=\"py-mod-mercurial.ui" 1.5502 "\">ui</literal> object. The <literal>repo</literal> parameter is a <literal " 1.5503 @@ -11865,7 +11851,7 @@ 1.5504 msgstr "" 1.5505 1.5506 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5507 -#: ../en/ch09-hook.xml:1312 1.5508 +#: ../en/ch09-hook.xml:1311 1.5509 msgid "" 1.5510 "If a parameter is named <literal>node</literal> or <literal>parentN</" 1.5511 "literal>, it will contain a hexadecimal changeset ID. The empty string is " 1.5512 @@ -11874,21 +11860,21 @@ 1.5513 msgstr "" 1.5514 1.5515 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5516 -#: ../en/ch09-hook.xml:1319 1.5517 +#: ../en/ch09-hook.xml:1318 1.5518 msgid "" 1.5519 "If a parameter is named <literal>url</literal>, it will contain the URL of a " 1.5520 "remote repository, if that can be determined." 1.5521 msgstr "" 1.5522 1.5523 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5524 -#: ../en/ch09-hook.xml:1324 1.5525 +#: ../en/ch09-hook.xml:1323 1.5526 msgid "" 1.5527 "Boolean-valued parameters are represented as Python <literal>bool</literal> " 1.5528 "objects." 1.5529 msgstr "" 1.5530 1.5531 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5532 -#: ../en/ch09-hook.xml:1329 1.5533 +#: ../en/ch09-hook.xml:1328 1.5534 msgid "" 1.5535 "An in-process hook is called without a change to the process's working " 1.5536 "directory (unlike external hooks, which are run in the root of the " 1.5537 @@ -11897,7 +11883,7 @@ 1.5538 msgstr "" 1.5539 1.5540 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5541 -#: ../en/ch09-hook.xml:1336 1.5542 +#: ../en/ch09-hook.xml:1335 1.5543 msgid "" 1.5544 "If a hook returns a boolean <quote>false</quote> value, it is considered to " 1.5545 "have succeeded. If it returns a boolean <quote>true</quote> value or raises " 1.5546 @@ -11906,7 +11892,7 @@ 1.5547 msgstr "" 1.5548 1.5549 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5550 -#: ../en/ch09-hook.xml:1343 1.5551 +#: ../en/ch09-hook.xml:1342 1.5552 msgid "" 1.5553 "Note that changeset IDs are passed into Python hooks as hexadecimal strings, " 1.5554 "not the binary hashes that Mercurial's APIs normally use. To convert a hash " 1.5555 @@ -11914,12 +11900,12 @@ 1.5556 msgstr "" 1.5557 1.5558 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5559 -#: ../en/ch09-hook.xml:1351 1.5560 +#: ../en/ch09-hook.xml:1350 1.5561 msgid "External hook execution" 1.5562 msgstr "外部钩子的执行" 1.5563 1.5564 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5565 -#: ../en/ch09-hook.xml:1353 1.5566 +#: ../en/ch09-hook.xml:1352 1.5567 msgid "" 1.5568 "An external hook is passed to the shell of the user running Mercurial. " 1.5569 "Features of that shell, such as variable substitution and command " 1.5570 @@ -11929,7 +11915,7 @@ 1.5571 msgstr "" 1.5572 1.5573 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5574 -#: ../en/ch09-hook.xml:1361 1.5575 +#: ../en/ch09-hook.xml:1360 1.5576 msgid "" 1.5577 "Hook parameters are passed to the hook as environment variables. Each " 1.5578 "environment variable's name is converted in upper case and prefixed with the " 1.5579 @@ -11940,7 +11926,7 @@ 1.5580 msgstr "" 1.5581 1.5582 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5583 -#: ../en/ch09-hook.xml:1370 1.5584 +#: ../en/ch09-hook.xml:1369 1.5585 msgid "" 1.5586 "A boolean parameter is represented as the string <quote><literal>1</literal></" 1.5587 "quote> for <quote>true</quote>, <quote><literal>0</literal></quote> for " 1.5588 @@ -11953,19 +11939,19 @@ 1.5589 msgstr "" 1.5590 1.5591 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5592 -#: ../en/ch09-hook.xml:1382 1.5593 +#: ../en/ch09-hook.xml:1381 1.5594 msgid "" 1.5595 "If a hook exits with a status of zero, it is considered to have succeeded. " 1.5596 "If it exits with a non-zero status, it is considered to have failed." 1.5597 msgstr "" 1.5598 1.5599 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5600 -#: ../en/ch09-hook.xml:1389 1.5601 +#: ../en/ch09-hook.xml:1388 1.5602 msgid "Finding out where changesets come from" 1.5603 msgstr "检查修改集来自何处" 1.5604 1.5605 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5606 -#: ../en/ch09-hook.xml:1391 1.5607 +#: ../en/ch09-hook.xml:1390 1.5608 msgid "" 1.5609 "A hook that involves the transfer of changesets between a local repository " 1.5610 "and another may be able to find out information about the <quote>far side</" 1.5611 @@ -11975,12 +11961,12 @@ 1.5612 msgstr "" 1.5613 1.5614 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.5615 -#: ../en/ch09-hook.xml:1400 1.5616 +#: ../en/ch09-hook.xml:1399 1.5617 msgid "Sources of changesets" 1.5618 msgstr "修改集的来源" 1.5619 1.5620 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.5621 -#: ../en/ch09-hook.xml:1402 1.5622 +#: ../en/ch09-hook.xml:1401 1.5623 msgid "" 1.5624 "Mercurial will tell a hook what means are, or were, used to transfer " 1.5625 "changesets between repositories. This is provided by Mercurial in a Python " 1.5626 @@ -11989,40 +11975,40 @@ 1.5627 msgstr "" 1.5628 1.5629 #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> 1.5630 -#: ../en/ch09-hook.xml:1410 1.5631 +#: ../en/ch09-hook.xml:1409 1.5632 msgid "" 1.5633 "<literal>serve</literal>: Changesets are transferred to or from a remote " 1.5634 "repository over http or ssh." 1.5635 msgstr "" 1.5636 1.5637 #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> 1.5638 -#: ../en/ch09-hook.xml:1415 1.5639 +#: ../en/ch09-hook.xml:1414 1.5640 msgid "" 1.5641 "<literal>pull</literal>: Changesets are being transferred via a pull from one " 1.5642 "repository into another." 1.5643 msgstr "" 1.5644 1.5645 #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> 1.5646 -#: ../en/ch09-hook.xml:1420 1.5647 +#: ../en/ch09-hook.xml:1419 1.5648 msgid "" 1.5649 "<literal>push</literal>: Changesets are being transferred via a push from one " 1.5650 "repository into another." 1.5651 msgstr "" 1.5652 1.5653 #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> 1.5654 -#: ../en/ch09-hook.xml:1425 1.5655 +#: ../en/ch09-hook.xml:1424 1.5656 msgid "" 1.5657 "<literal>bundle</literal>: Changesets are being transferred to or from a " 1.5658 "bundle." 1.5659 msgstr "" 1.5660 1.5661 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 1.5662 -#: ../en/ch09-hook.xml:1432 1.5663 +#: ../en/ch09-hook.xml:1431 1.5664 msgid "Where changes are going&emdash;remote repository URLs" 1.5665 msgstr "修改集要到哪里&emdash;远程版本库的地址" 1.5666 1.5667 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.5668 -#: ../en/ch09-hook.xml:1435 1.5669 +#: ../en/ch09-hook.xml:1434 1.5670 msgid "" 1.5671 "When possible, Mercurial will tell a hook the location of the <quote>far " 1.5672 "side</quote> of an activity that transfers changeset data between " 1.5673 @@ -12032,7 +12018,7 @@ 1.5674 msgstr "" 1.5675 1.5676 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 1.5677 -#: ../en/ch09-hook.xml:1443 1.5678 +#: ../en/ch09-hook.xml:1442 1.5679 msgid "" 1.5680 "This information is not always known. If a hook is invoked in a repository " 1.5681 "that is being served via http or ssh, Mercurial cannot tell where the remote " 1.5682 @@ -12041,14 +12027,14 @@ 1.5683 msgstr "" 1.5684 1.5685 #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> 1.5686 -#: ../en/ch09-hook.xml:1450 1.5687 +#: ../en/ch09-hook.xml:1449 1.5688 msgid "" 1.5689 "<literal>remote:ssh:1.2.3.4</literal>&emdash;remote ssh client, at the IP " 1.5690 "address <literal>1.2.3.4</literal>." 1.5691 msgstr "" 1.5692 1.5693 #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> 1.5694 -#: ../en/ch09-hook.xml:1455 1.5695 +#: ../en/ch09-hook.xml:1454 1.5696 msgid "" 1.5697 "<literal>remote:http:1.2.3.4</literal>&emdash;remote http client, at the IP " 1.5698 "address <literal>1.2.3.4</literal>. If the client is using SSL, this will be " 1.5699 @@ -12056,24 +12042,24 @@ 1.5700 msgstr "" 1.5701 1.5702 #. type: Content of: <book><chapter><sect1><sect2><sect3><itemizedlist><listitem><para> 1.5703 -#: ../en/ch09-hook.xml:1462 1.5704 +#: ../en/ch09-hook.xml:1461 1.5705 msgid "Empty&emdash;no information could be discovered about the remote client." 1.5706 msgstr "" 1.5707 1.5708 #. type: Content of: <book><chapter><sect1><title> 1.5709 -#: ../en/ch09-hook.xml:1471 1.5710 +#: ../en/ch09-hook.xml:1470 1.5711 msgid "Hook reference" 1.5712 msgstr "钩子参考" 1.5713 1.5714 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5715 -#: ../en/ch09-hook.xml:1474 1.5716 +#: ../en/ch09-hook.xml:1473 1.5717 msgid "" 1.5718 "<literal role=\"hook\">changegroup</literal>&emdash;after remote changesets " 1.5719 "added" 1.5720 msgstr "<literal role=\"hook\">changegroup</literal>&emdash;增加远程修改集之后" 1.5721 1.5722 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5723 -#: ../en/ch09-hook.xml:1477 1.5724 +#: ../en/ch09-hook.xml:1476 1.5725 msgid "" 1.5726 "This hook is run after a group of pre-existing changesets has been added to " 1.5727 "the repository, for example via a <command role=\"hg-cmd\">hg pull</command> " 1.5728 @@ -12084,7 +12070,7 @@ 1.5729 msgstr "" 1.5730 1.5731 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5732 -#: ../en/ch09-hook.xml:1487 1.5733 +#: ../en/ch09-hook.xml:1486 1.5734 msgid "" 1.5735 "Some possible uses for this hook include kicking off an automated build or " 1.5736 "test of the added changesets, updating a bug database, or notifying " 1.5737 @@ -12092,15 +12078,15 @@ 1.5738 msgstr "" 1.5739 1.5740 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5741 -#: ../en/ch09-hook.xml:1493 ../en/ch09-hook.xml:1533 ../en/ch09-hook.xml:1576 1.5742 +#: ../en/ch09-hook.xml:1492 ../en/ch09-hook.xml:1532 ../en/ch09-hook.xml:1576 1.5743 #: ../en/ch09-hook.xml:1618 ../en/ch09-hook.xml:1673 ../en/ch09-hook.xml:1713 1.5744 -#: ../en/ch09-hook.xml:1749 ../en/ch09-hook.xml:1784 ../en/ch09-hook.xml:1846 1.5745 -#: ../en/ch09-hook.xml:1904 ../en/ch09-hook.xml:1938 ../en/ch09-hook.xml:1966 1.5746 +#: ../en/ch09-hook.xml:1749 ../en/ch09-hook.xml:1783 ../en/ch09-hook.xml:1846 1.5747 +#: ../en/ch09-hook.xml:1904 ../en/ch09-hook.xml:1940 ../en/ch09-hook.xml:1967 1.5748 msgid "Parameters to this hook:" 1.5749 msgstr "" 1.5750 1.5751 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5752 -#: ../en/ch09-hook.xml:1496 ../en/ch09-hook.xml:1849 1.5753 +#: ../en/ch09-hook.xml:1495 ../en/ch09-hook.xml:1849 1.5754 msgid "" 1.5755 "<literal>node</literal>: A changeset ID. The changeset ID of the first " 1.5756 "changeset in the group that was added. All changesets between this and " 1.5757 @@ -12110,70 +12096,69 @@ 1.5758 msgstr "" 1.5759 1.5760 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5761 -#: ../en/ch09-hook.xml:1505 ../en/ch09-hook.xml:1583 ../en/ch09-hook.xml:1676 1.5762 +#: ../en/ch09-hook.xml:1504 ../en/ch09-hook.xml:1583 ../en/ch09-hook.xml:1676 1.5763 #: ../en/ch09-hook.xml:1859 1.5764 msgid "" 1.5765 -"<literal>source</literal>: A string. The source of these changes. See " 1.5766 -"section <xref linkend=\"sec.hook.sources\"/> for details." 1.5767 +"<literal>source</literal>: A string. The source of these changes. See <xref " 1.5768 +"linkend=\"sec:hook:sources\"/> for details." 1.5769 msgstr "" 1.5770 1.5771 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5772 -#: ../en/ch09-hook.xml:1510 ../en/ch09-hook.xml:1588 ../en/ch09-hook.xml:1639 1.5773 -#: ../en/ch09-hook.xml:1681 ../en/ch09-hook.xml:1763 ../en/ch09-hook.xml:1864 1.5774 +#: ../en/ch09-hook.xml:1509 ../en/ch09-hook.xml:1588 ../en/ch09-hook.xml:1639 1.5775 +#: ../en/ch09-hook.xml:1681 ../en/ch09-hook.xml:1762 ../en/ch09-hook.xml:1864 1.5776 msgid "" 1.5777 "<literal>url</literal>: A URL. The location of the remote repository, if " 1.5778 -"known. See section <xref linkend=\"sec.hook.url\"/> for more information." 1.5779 -msgstr "" 1.5780 - 1.5781 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.5782 -#: ../en/ch09-hook.xml:1517 1.5783 -msgid "" 1.5784 -"See also: <literal role=\"hook\">incoming</literal> (section <xref linkend=" 1.5785 -"\"sec.hook.incoming\"/>), <literal role=\"hook\">prechangegroup</literal> " 1.5786 -"(section <xref linkend=\"sec.hook.prechangegroup\"/>), <literal role=\"hook" 1.5787 -"\">pretxnchangegroup</literal> (section <xref linkend=\"sec.hook." 1.5788 -"pretxnchangegroup\"/>)" 1.5789 +"known. See <xref linkend=\"sec:hook:url\"/> for more information." 1.5790 +msgstr "" 1.5791 + 1.5792 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.5793 +#: ../en/ch09-hook.xml:1515 1.5794 +msgid "" 1.5795 +"See also: <literal role=\"hook\">incoming</literal> (<xref linkend=\"sec:hook:" 1.5796 +"incoming\"/>), <literal role=\"hook\">prechangegroup</literal> (<xref linkend=" 1.5797 +"\"sec:hook:prechangegroup\"/>), <literal role=\"hook\">pretxnchangegroup</" 1.5798 +"literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/>)" 1.5799 msgstr "" 1.5800 1.5801 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5802 -#: ../en/ch09-hook.xml:1527 1.5803 +#: ../en/ch09-hook.xml:1526 1.5804 msgid "" 1.5805 "<literal role=\"hook\">commit</literal>&emdash;after a new changeset is " 1.5806 "created" 1.5807 msgstr "<literal role=\"hook\">commit</literal>&emdash;创建新修改集之后" 1.5808 1.5809 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5810 -#: ../en/ch09-hook.xml:1530 1.5811 +#: ../en/ch09-hook.xml:1529 1.5812 msgid "This hook is run after a new changeset has been created." 1.5813 msgstr "" 1.5814 1.5815 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5816 -#: ../en/ch09-hook.xml:1536 ../en/ch09-hook.xml:1907 1.5817 +#: ../en/ch09-hook.xml:1535 ../en/ch09-hook.xml:1907 1.5818 msgid "" 1.5819 "<literal>node</literal>: A changeset ID. The changeset ID of the newly " 1.5820 "committed changeset." 1.5821 msgstr "" 1.5822 1.5823 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5824 -#: ../en/ch09-hook.xml:1540 ../en/ch09-hook.xml:1911 1.5825 +#: ../en/ch09-hook.xml:1539 ../en/ch09-hook.xml:1911 1.5826 msgid "" 1.5827 "<literal>parent1</literal>: A changeset ID. The changeset ID of the first " 1.5828 "parent of the newly committed changeset." 1.5829 msgstr "" 1.5830 1.5831 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5832 -#: ../en/ch09-hook.xml:1545 ../en/ch09-hook.xml:1916 1.5833 +#: ../en/ch09-hook.xml:1544 ../en/ch09-hook.xml:1916 1.5834 msgid "" 1.5835 "<literal>parent2</literal>: A changeset ID. The changeset ID of the second " 1.5836 "parent of the newly committed changeset." 1.5837 msgstr "" 1.5838 1.5839 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5840 -#: ../en/ch09-hook.xml:1551 1.5841 -msgid "" 1.5842 -"See also: <literal role=\"hook\">precommit</literal> (section <xref linkend=" 1.5843 -"\"sec.hook.precommit\"/>), <literal role=\"hook\">pretxncommit</literal> " 1.5844 -"(section <xref linkend=\"sec.hook.pretxncommit\"/>)" 1.5845 +#: ../en/ch09-hook.xml:1550 1.5846 +msgid "" 1.5847 +"See also: <literal role=\"hook\">precommit</literal> (<xref linkend=\"sec:" 1.5848 +"hook:precommit\"/>), <literal role=\"hook\">pretxncommit</literal> (<xref " 1.5849 +"linkend=\"sec:hook:pretxncommit\"/>)" 1.5850 msgstr "" 1.5851 1.5852 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5853 @@ -12196,8 +12181,8 @@ 1.5854 #: ../en/ch09-hook.xml:1569 1.5855 msgid "" 1.5856 "You can use this hook for the same purposes as the <literal role=\"hook" 1.5857 -"\">changegroup</literal> hook (section <xref linkend=\"sec.hook.changegroup\"/" 1.5858 -">); it's simply more convenient sometimes to run a hook once per group of " 1.5859 +"\">changegroup</literal> hook (<xref linkend=\"sec:hook:changegroup\"/>); " 1.5860 +"it's simply more convenient sometimes to run a hook once per group of " 1.5861 "changesets, while other times it's handier once per changeset." 1.5862 msgstr "" 1.5863 1.5864 @@ -12208,13 +12193,13 @@ 1.5865 msgstr "" 1.5866 1.5867 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5868 -#: ../en/ch09-hook.xml:1595 1.5869 -msgid "" 1.5870 -"See also: <literal role=\"hook\">changegroup</literal> (section <xref linkend=" 1.5871 -"\"sec.hook.changegroup\"/>) <literal role=\"hook\">prechangegroup</literal> " 1.5872 -"(section <xref linkend=\"sec.hook.prechangegroup\"/>), <literal role=\"hook" 1.5873 -"\">pretxnchangegroup</literal> (section <xref linkend=\"sec.hook." 1.5874 -"pretxnchangegroup\"/>)" 1.5875 +#: ../en/ch09-hook.xml:1594 1.5876 +msgid "" 1.5877 +"See also: <literal role=\"hook\">changegroup</literal> (<xref linkend=\"sec:" 1.5878 +"hook:changegroup\"/>) <literal role=\"hook\">prechangegroup</literal> (<xref " 1.5879 +"linkend=\"sec:hook:prechangegroup\"/>), <literal role=\"hook" 1.5880 +"\">pretxnchangegroup</literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/" 1.5881 +">)" 1.5882 msgstr "" 1.5883 1.5884 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5885 @@ -12250,19 +12235,19 @@ 1.5886 #: ../en/ch09-hook.xml:1626 1.5887 msgid "" 1.5888 "<literal>source</literal>: A string. The source of the of the operation (see " 1.5889 -"section <xref linkend=\"sec.hook.sources\"/>). If a remote client pulled " 1.5890 -"changes from this repository, <literal>source</literal> will be " 1.5891 -"<literal>serve</literal>. If the client that obtained changes from this " 1.5892 -"repository was local, <literal>source</literal> will be <literal>bundle</" 1.5893 -"literal>, <literal>pull</literal>, or <literal>push</literal>, depending on " 1.5894 -"the operation the client performed." 1.5895 -msgstr "" 1.5896 - 1.5897 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.5898 -#: ../en/ch09-hook.xml:1646 1.5899 -msgid "" 1.5900 -"See also: <literal role=\"hook\">preoutgoing</literal> (section <xref linkend=" 1.5901 -"\"sec.hook.preoutgoing\"/>)" 1.5902 +"<xref linkend=\"sec:hook:sources\"/>). If a remote client pulled changes " 1.5903 +"from this repository, <literal>source</literal> will be <literal>serve</" 1.5904 +"literal>. If the client that obtained changes from this repository was " 1.5905 +"local, <literal>source</literal> will be <literal>bundle</literal>, " 1.5906 +"<literal>pull</literal>, or <literal>push</literal>, depending on the " 1.5907 +"operation the client performed." 1.5908 +msgstr "" 1.5909 + 1.5910 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.5911 +#: ../en/ch09-hook.xml:1645 1.5912 +msgid "" 1.5913 +"See also: <literal role=\"hook\">preoutgoing</literal> (<xref linkend=\"sec:" 1.5914 +"hook:preoutgoing\"/>)" 1.5915 msgstr "" 1.5916 1.5917 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5918 @@ -12298,13 +12283,12 @@ 1.5919 msgstr "" 1.5920 1.5921 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5922 -#: ../en/ch09-hook.xml:1688 1.5923 -msgid "" 1.5924 -"See also: <literal role=\"hook\">changegroup</literal> (section <xref linkend=" 1.5925 -"\"sec.hook.changegroup\"/>), <literal role=\"hook\">incoming</literal> " 1.5926 -"(section <xref linkend=\"sec.hook.incoming\"/>), , <literal role=\"hook" 1.5927 -"\">pretxnchangegroup</literal> (section <xref linkend=\"sec.hook." 1.5928 -"pretxnchangegroup\"/>)" 1.5929 +#: ../en/ch09-hook.xml:1687 1.5930 +msgid "" 1.5931 +"See also: <literal role=\"hook\">changegroup</literal> (<xref linkend=\"sec:" 1.5932 +"hook:changegroup\"/>), <literal role=\"hook\">incoming</literal> (<xref " 1.5933 +"linkend=\"sec:hook:incoming\"/>), <literal role=\"hook\">pretxnchangegroup</" 1.5934 +"literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/>)" 1.5935 msgstr "" 1.5936 1.5937 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5938 @@ -12354,9 +12338,9 @@ 1.5939 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5940 #: ../en/ch09-hook.xml:1730 1.5941 msgid "" 1.5942 -"See also: <literal role=\"hook\">commit</literal> (section <xref linkend=" 1.5943 -"\"sec.hook.commit\"/>), <literal role=\"hook\">pretxncommit</literal> " 1.5944 -"(section <xref linkend=\"sec.hook.pretxncommit\"/>)" 1.5945 +"See also: <literal role=\"hook\">commit</literal> (<xref linkend=\"sec:hook:" 1.5946 +"commit\"/>), <literal role=\"hook\">pretxncommit</literal> (<xref linkend=" 1.5947 +"\"sec:hook:pretxncommit\"/>)" 1.5948 msgstr "" 1.5949 1.5950 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5951 @@ -12384,35 +12368,34 @@ 1.5952 #: ../en/ch09-hook.xml:1752 1.5953 msgid "" 1.5954 "<literal>source</literal>: A string. The source of the operation that is " 1.5955 -"attempting to obtain changes from this repository (see section <xref linkend=" 1.5956 -"\"sec.hook.sources\"/>). See the documentation for the <literal>source</" 1.5957 -"literal> parameter to the <literal role=\"hook\">outgoing</literal> hook, in " 1.5958 -"section <xref linkend=\"sec.hook.outgoing\"/>, for possible values of this " 1.5959 -"parameter." 1.5960 -msgstr "" 1.5961 - 1.5962 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.5963 -#: ../en/ch09-hook.xml:1770 1.5964 -msgid "" 1.5965 -"See also: <literal role=\"hook\">outgoing</literal> (section <xref linkend=" 1.5966 -"\"sec.hook.outgoing\"/>)" 1.5967 +"attempting to obtain changes from this repository (see <xref linkend=\"sec:" 1.5968 +"hook:sources\"/>). See the documentation for the <literal>source</literal> " 1.5969 +"parameter to the <literal role=\"hook\">outgoing</literal> hook, in <xref " 1.5970 +"linkend=\"sec:hook:outgoing\"/>, for possible values of this parameter." 1.5971 +msgstr "" 1.5972 + 1.5973 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.5974 +#: ../en/ch09-hook.xml:1768 1.5975 +msgid "" 1.5976 +"See also: <literal role=\"hook\">outgoing</literal> (<xref linkend=\"sec:hook:" 1.5977 +"outgoing\"/>)" 1.5978 msgstr "" 1.5979 1.5980 #. type: Content of: <book><chapter><sect1><sect2><title> 1.5981 -#: ../en/ch09-hook.xml:1776 1.5982 +#: ../en/ch09-hook.xml:1775 1.5983 msgid "" 1.5984 "<literal role=\"hook\">pretag</literal>&emdash;before tagging a changeset" 1.5985 msgstr "<literal role=\"hook\">pretag</literal>&emdash;创建标签之前" 1.5986 1.5987 #. type: Content of: <book><chapter><sect1><sect2><para> 1.5988 -#: ../en/ch09-hook.xml:1779 1.5989 +#: ../en/ch09-hook.xml:1778 1.5990 msgid "" 1.5991 "This controlling hook is run before a tag is created. If the hook succeeds, " 1.5992 "creation of the tag proceeds. If the hook fails, the tag is not created." 1.5993 msgstr "" 1.5994 1.5995 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.5996 -#: ../en/ch09-hook.xml:1787 1.5997 +#: ../en/ch09-hook.xml:1786 1.5998 msgid "" 1.5999 "<literal>local</literal>: A boolean. Whether the tag is local to this " 1.6000 "repository instance (i.e. stored in <filename role=\"special\">.hg/localtags</" 1.6001 @@ -12421,31 +12404,31 @@ 1.6002 msgstr "" 1.6003 1.6004 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6005 -#: ../en/ch09-hook.xml:1794 1.6006 +#: ../en/ch09-hook.xml:1793 1.6007 msgid "" 1.6008 "<literal>node</literal>: A changeset ID. The ID of the changeset to be " 1.6009 "tagged." 1.6010 msgstr "" 1.6011 1.6012 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6013 -#: ../en/ch09-hook.xml:1798 1.6014 +#: ../en/ch09-hook.xml:1797 1.6015 msgid "<literal>tag</literal>: A string. The name of the tag to be created." 1.6016 msgstr "" 1.6017 1.6018 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6019 -#: ../en/ch09-hook.xml:1803 1.6020 +#: ../en/ch09-hook.xml:1802 1.6021 msgid "" 1.6022 "If the tag to be created is revision-controlled, the <literal role=\"hook" 1.6023 "\">precommit</literal> and <literal role=\"hook\">pretxncommit</literal> " 1.6024 -"hooks (sections <xref linkend=\"sec.hook.commit\"/> and <xref linkend=\"sec." 1.6025 -"hook.pretxncommit\"/>) will also be run." 1.6026 +"hooks (<xref linkend=\"sec:hook:commit\"/> and <xref linkend=\"sec:hook:" 1.6027 +"pretxncommit\"/>) will also be run." 1.6028 msgstr "" 1.6029 1.6030 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6031 #: ../en/ch09-hook.xml:1810 1.6032 msgid "" 1.6033 -"See also: <literal role=\"hook\">tag</literal> (section <xref linkend=\"sec." 1.6034 -"hook.tag\"/>)" 1.6035 +"See also: <literal role=\"hook\">tag</literal> (<xref linkend=\"sec:hook:tag" 1.6036 +"\"/>)" 1.6037 msgstr "" 1.6038 1.6039 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6040 @@ -12493,13 +12476,12 @@ 1.6041 msgstr "" 1.6042 1.6043 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6044 -#: ../en/ch09-hook.xml:1871 1.6045 -msgid "" 1.6046 -"See also: <literal role=\"hook\">changegroup</literal> (section <xref linkend=" 1.6047 -"\"sec.hook.changegroup\"/>), <literal role=\"hook\">incoming</literal> " 1.6048 -"(section <xref linkend=\"sec.hook.incoming\"/>), <literal role=\"hook" 1.6049 -"\">prechangegroup</literal> (section <xref linkend=\"sec.hook.prechangegroup" 1.6050 -"\"/>)" 1.6051 +#: ../en/ch09-hook.xml:1870 1.6052 +msgid "" 1.6053 +"See also: <literal role=\"hook\">changegroup</literal> (<xref linkend=\"sec:" 1.6054 +"hook:changegroup\"/>), <literal role=\"hook\">incoming</literal> (<xref " 1.6055 +"linkend=\"sec:hook:incoming\"/>), <literal role=\"hook\">prechangegroup</" 1.6056 +"literal> (<xref linkend=\"sec:hook:prechangegroup\"/>)" 1.6057 msgstr "" 1.6058 1.6059 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6060 @@ -12537,13 +12519,14 @@ 1.6061 1.6062 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6063 #: ../en/ch09-hook.xml:1922 1.6064 -msgid "" 1.6065 -"See also: <literal role=\"hook\">precommit</literal> (section <xref linkend=" 1.6066 -"\"sec.hook.precommit\"/>)" 1.6067 -msgstr "" 1.6068 +#, fuzzy 1.6069 +msgid "" 1.6070 +"See also: <literal role=\"hook\">precommit</literal> (<xref linkend=\"sec:" 1.6071 +"hook:precommit\"/>)" 1.6072 +msgstr "<literal role=\"hook\">precommit</literal>&emdash;提交修改集之前" 1.6073 1.6074 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6075 -#: ../en/ch09-hook.xml:1928 1.6076 +#: ../en/ch09-hook.xml:1929 1.6077 msgid "" 1.6078 "<literal role=\"hook\">preupdate</literal>&emdash;before updating or merging " 1.6079 "working directory" 1.6080 @@ -12551,7 +12534,7 @@ 1.6081 "<literal role=\"hook\">preupdate</literal>&emdash;更新或合并工作目录之前" 1.6082 1.6083 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6084 -#: ../en/ch09-hook.xml:1931 1.6085 +#: ../en/ch09-hook.xml:1932 1.6086 msgid "" 1.6087 "This controlling hook is run before an update or merge of the working " 1.6088 "directory begins. It is run only if Mercurial's normal pre-update checks " 1.6089 @@ -12560,40 +12543,40 @@ 1.6090 msgstr "" 1.6091 1.6092 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6093 -#: ../en/ch09-hook.xml:1941 1.6094 -msgid "" 1.6095 -"<literal>parent1</literal>: A changeset ID. The ID of the parent that the " 1.6096 +#: ../en/ch09-hook.xml:1943 1.6097 +msgid "" 1.6098 +"<literal>parent1</literal>: A changeset ID. The ID of the parent that the " 1.6099 "working directory is to be updated to. If the working directory is being " 1.6100 "merged, it will not change this parent." 1.6101 msgstr "" 1.6102 1.6103 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6104 -#: ../en/ch09-hook.xml:1947 1.6105 -msgid "" 1.6106 -"<literal>parent2</literal>: A changeset ID. Only set if the working " 1.6107 -"directory is being merged. The ID of the revision that the working directory " 1.6108 -"is being merged with." 1.6109 -msgstr "" 1.6110 - 1.6111 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.6112 -#: ../en/ch09-hook.xml:1954 1.6113 -msgid "" 1.6114 -"See also: <literal role=\"hook\">update</literal> (section <xref linkend=" 1.6115 -"\"sec.hook.update\"/>)" 1.6116 +#: ../en/ch09-hook.xml:1949 1.6117 +msgid "" 1.6118 +"<literal>parent2</literal>: A changeset ID. Only set if the working directory " 1.6119 +"is being merged. The ID of the revision that the working directory is being " 1.6120 +"merged with." 1.6121 +msgstr "" 1.6122 + 1.6123 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.6124 +#: ../en/ch09-hook.xml:1956 1.6125 +msgid "" 1.6126 +"See also: <literal role=\"hook\">update</literal> (<xref linkend=\"sec:hook:" 1.6127 +"update\"/>)" 1.6128 msgstr "" 1.6129 1.6130 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6131 -#: ../en/ch09-hook.xml:1960 1.6132 +#: ../en/ch09-hook.xml:1961 1.6133 msgid "<literal role=\"hook\">tag</literal>&emdash;after tagging a changeset" 1.6134 msgstr "<literal role=\"hook\">tag</literal>&emdash;创建标签之后" 1.6135 1.6136 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6137 -#: ../en/ch09-hook.xml:1963 1.6138 +#: ../en/ch09-hook.xml:1964 1.6139 msgid "This hook is run after a tag has been created." 1.6140 msgstr "" 1.6141 1.6142 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6143 -#: ../en/ch09-hook.xml:1969 1.6144 +#: ../en/ch09-hook.xml:1970 1.6145 msgid "" 1.6146 "<literal>local</literal>: A boolean. Whether the new tag is local to this " 1.6147 "repository instance (i.e. stored in <filename role=\"special\">.hg/" 1.6148 @@ -12602,41 +12585,42 @@ 1.6149 msgstr "" 1.6150 1.6151 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6152 -#: ../en/ch09-hook.xml:1977 1.6153 +#: ../en/ch09-hook.xml:1978 1.6154 msgid "" 1.6155 "<literal>node</literal>: A changeset ID. The ID of the changeset that was " 1.6156 "tagged." 1.6157 msgstr "" 1.6158 1.6159 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6160 -#: ../en/ch09-hook.xml:1981 1.6161 +#: ../en/ch09-hook.xml:1982 1.6162 msgid "<literal>tag</literal>: A string. The name of the tag that was created." 1.6163 msgstr "" 1.6164 1.6165 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6166 -#: ../en/ch09-hook.xml:1986 1.6167 +#: ../en/ch09-hook.xml:1987 1.6168 msgid "" 1.6169 "If the created tag is revision-controlled, the <literal role=\"hook\">commit</" 1.6170 -"literal> hook (section <xref linkend=\"sec.hook.commit\"/>) is run before " 1.6171 +"literal> hook (section <xref linkend=\"sec:hook:commit\"/>) is run before " 1.6172 "this hook." 1.6173 msgstr "" 1.6174 1.6175 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6176 -#: ../en/ch09-hook.xml:1991 1.6177 -msgid "" 1.6178 -"See also: <literal role=\"hook\">pretag</literal> (section <xref linkend=" 1.6179 -"\"sec.hook.pretag\"/>)" 1.6180 -msgstr "" 1.6181 +#: ../en/ch09-hook.xml:1992 1.6182 +#, fuzzy 1.6183 +msgid "" 1.6184 +"See also: <literal role=\"hook\">pretag</literal> (<xref linkend=\"sec:hook:" 1.6185 +"pretag\"/>)" 1.6186 +msgstr "<literal role=\"hook\">pretag</literal>&emdash;创建标签之前" 1.6187 1.6188 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6189 -#: ../en/ch09-hook.xml:1997 1.6190 +#: ../en/ch09-hook.xml:1998 1.6191 msgid "" 1.6192 "<literal role=\"hook\">update</literal>&emdash;after updating or merging " 1.6193 "working directory" 1.6194 msgstr "<literal role=\"hook\">update</literal>&emdash;更新或合并工作目录之后" 1.6195 1.6196 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6197 -#: ../en/ch09-hook.xml:2000 1.6198 +#: ../en/ch09-hook.xml:2001 1.6199 msgid "" 1.6200 "This hook is run after an update or merge of the working directory " 1.6201 "completes. Since a merge can fail (if the external <command>hgmerge</" 1.6202 @@ -12645,14 +12629,14 @@ 1.6203 msgstr "" 1.6204 1.6205 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6206 -#: ../en/ch09-hook.xml:2008 1.6207 +#: ../en/ch09-hook.xml:2009 1.6208 msgid "" 1.6209 "<literal>error</literal>: A boolean. Indicates whether the update or merge " 1.6210 "completed successfully." 1.6211 msgstr "" 1.6212 1.6213 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6214 -#: ../en/ch09-hook.xml:2013 1.6215 +#: ../en/ch09-hook.xml:2014 1.6216 msgid "" 1.6217 "<literal>parent1</literal>: A changeset ID. The ID of the parent that the " 1.6218 "working directory was updated to. If the working directory was merged, it " 1.6219 @@ -12660,7 +12644,7 @@ 1.6220 msgstr "" 1.6221 1.6222 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6223 -#: ../en/ch09-hook.xml:2019 1.6224 +#: ../en/ch09-hook.xml:2020 1.6225 msgid "" 1.6226 "<literal>parent2</literal>: A changeset ID. Only set if the working " 1.6227 "directory was merged. The ID of the revision that the working directory was " 1.6228 @@ -12668,10 +12652,10 @@ 1.6229 msgstr "" 1.6230 1.6231 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6232 -#: ../en/ch09-hook.xml:2025 1.6233 -msgid "" 1.6234 -"See also: <literal role=\"hook\">preupdate</literal> (section <xref linkend=" 1.6235 -"\"sec.hook.preupdate\"/>)" 1.6236 +#: ../en/ch09-hook.xml:2026 1.6237 +msgid "" 1.6238 +"See also: <literal role=\"hook\">preupdate</literal> (<xref linkend=\"sec:" 1.6239 +"hook:preupdate\"/>)" 1.6240 msgstr "" 1.6241 1.6242 #. type: Content of: <book><chapter><title> 1.6243 @@ -12818,8 +12802,8 @@ 1.6244 "Notice that the template string above ends with the text <quote><literal>\\n</" 1.6245 "literal></quote>. This is an <emphasis>escape sequence</emphasis>, telling " 1.6246 "Mercurial to print a newline at the end of each template item. If you omit " 1.6247 -"this newline, Mercurial will run each piece of output together. See section " 1.6248 -"<xref linkend=\"sec.template.escape\"/> for more details of escape sequences." 1.6249 +"this newline, Mercurial will run each piece of output together. See <xref " 1.6250 +"linkend=\"sec:template:escape\"/> for more details of escape sequences." 1.6251 msgstr "" 1.6252 1.6253 #. type: Content of: <book><chapter><sect1><para> 1.6254 @@ -12838,29 +12822,29 @@ 1.6255 "(<quote><literal>{</literal></quote> and <quote><literal>}</literal></" 1.6256 "quote>), it will try to replace the braces and text with the expansion of " 1.6257 "whatever is inside. To print a literal curly brace, you must escape it, as " 1.6258 -"described in section <xref linkend=\"sec.template.escape\"/>." 1.6259 +"described in <xref linkend=\"sec:template:escape\"/>." 1.6260 msgstr "" 1.6261 1.6262 #. type: Content of: <book><chapter><sect1><title> 1.6263 -#: ../en/ch10-template.xml:132 1.6264 +#: ../en/ch10-template.xml:131 1.6265 msgid "Common template keywords" 1.6266 msgstr "模版关键字" 1.6267 1.6268 #. type: Content of: <book><chapter><sect1><para> 1.6269 -#: ../en/ch10-template.xml:134 1.6270 +#: ../en/ch10-template.xml:133 1.6271 msgid "" 1.6272 "You can start writing simple templates immediately using the keywords below." 1.6273 msgstr "" 1.6274 1.6275 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6276 -#: ../en/ch10-template.xml:138 1.6277 +#: ../en/ch10-template.xml:137 1.6278 msgid "" 1.6279 "<literal role=\"template-keyword\">author</literal>: String. The unmodified " 1.6280 "author of the changeset." 1.6281 msgstr "" 1.6282 1.6283 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6284 -#: ../en/ch10-template.xml:142 1.6285 +#: ../en/ch10-template.xml:141 1.6286 msgid "" 1.6287 "<literal role=\"template-keyword\">branches</literal>: String. The name of " 1.6288 "the branch on which the changeset was committed. Will be empty if the branch " 1.6289 @@ -12868,96 +12852,95 @@ 1.6290 msgstr "" 1.6291 1.6292 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6293 -#: ../en/ch10-template.xml:148 1.6294 +#: ../en/ch10-template.xml:147 1.6295 msgid "" 1.6296 "<literal role=\"template-keyword\">date</literal>: Date information. The " 1.6297 "date when the changeset was committed. This is <emphasis>not</emphasis> " 1.6298 "human-readable; you must pass it through a filter that will render it " 1.6299 -"appropriately. See section <xref linkend=\"sec.template.filter\"/> for more " 1.6300 +"appropriately. See <xref linkend=\"sec:template:filter\"/> for more " 1.6301 "information on filters. The date is expressed as a pair of numbers. The " 1.6302 "first number is a Unix UTC timestamp (seconds since January 1, 1970); the " 1.6303 "second is the offset of the committer's timezone from UTC, in seconds." 1.6304 msgstr "" 1.6305 1.6306 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6307 -#: ../en/ch10-template.xml:159 1.6308 +#: ../en/ch10-template.xml:158 1.6309 msgid "" 1.6310 "<literal role=\"template-keyword\">desc</literal>: String. The text of the " 1.6311 "changeset description." 1.6312 msgstr "" 1.6313 1.6314 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6315 -#: ../en/ch10-template.xml:162 1.6316 +#: ../en/ch10-template.xml:161 1.6317 msgid "" 1.6318 "<literal role=\"template-keyword\">files</literal>: List of strings. All " 1.6319 "files modified, added, or removed by this changeset." 1.6320 msgstr "" 1.6321 1.6322 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6323 -#: ../en/ch10-template.xml:167 1.6324 +#: ../en/ch10-template.xml:166 1.6325 msgid "" 1.6326 "<literal role=\"template-keyword\">file_adds</literal>: List of strings. " 1.6327 "Files added by this changeset." 1.6328 msgstr "" 1.6329 1.6330 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6331 -#: ../en/ch10-template.xml:171 1.6332 +#: ../en/ch10-template.xml:170 1.6333 msgid "" 1.6334 "<literal role=\"template-keyword\">file_dels</literal>: List of strings. " 1.6335 "Files removed by this changeset." 1.6336 msgstr "" 1.6337 1.6338 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6339 -#: ../en/ch10-template.xml:175 1.6340 +#: ../en/ch10-template.xml:174 1.6341 msgid "" 1.6342 "<literal role=\"template-keyword\">node</literal>: String. The changeset " 1.6343 "identification hash, as a 40-character hexadecimal string." 1.6344 msgstr "" 1.6345 1.6346 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6347 -#: ../en/ch10-template.xml:179 1.6348 +#: ../en/ch10-template.xml:178 1.6349 msgid "" 1.6350 "<literal role=\"template-keyword\">parents</literal>: List of strings. The " 1.6351 "parents of the changeset." 1.6352 msgstr "" 1.6353 1.6354 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6355 -#: ../en/ch10-template.xml:183 1.6356 +#: ../en/ch10-template.xml:182 1.6357 msgid "" 1.6358 "<literal role=\"template-keyword\">rev</literal>: Integer. The repository-" 1.6359 "local changeset revision number." 1.6360 msgstr "" 1.6361 1.6362 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6363 -#: ../en/ch10-template.xml:187 1.6364 +#: ../en/ch10-template.xml:186 1.6365 msgid "" 1.6366 "<literal role=\"template-keyword\">tags</literal>: List of strings. Any tags " 1.6367 "associated with the changeset." 1.6368 msgstr "" 1.6369 1.6370 #. type: Content of: <book><chapter><sect1><para> 1.6371 -#: ../en/ch10-template.xml:192 1.6372 +#: ../en/ch10-template.xml:191 1.6373 msgid "" 1.6374 "A few simple experiments will show us what to expect when we use these " 1.6375 "keywords; you can see the results below." 1.6376 msgstr "" 1.6377 1.6378 #. type: Content of: <book><chapter><sect1><para> 1.6379 -#: ../en/ch10-template.xml:197 1.6380 +#: ../en/ch10-template.xml:196 1.6381 msgid "" 1.6382 "As we noted above, the date keyword does not produce human-readable output, " 1.6383 "so we must treat it specially. This involves using a <emphasis>filter</" 1.6384 -"emphasis>, about which more in section <xref linkend=\"sec.template.filter\"/" 1.6385 -">." 1.6386 +"emphasis>, about which more in <xref linkend=\"sec:template:filter\"/>." 1.6387 msgstr "" 1.6388 1.6389 #. type: Content of: <book><chapter><sect1><title> 1.6390 -#: ../en/ch10-template.xml:207 1.6391 +#: ../en/ch10-template.xml:205 1.6392 msgid "Escape sequences" 1.6393 msgstr "转义序列" 1.6394 1.6395 #. type: Content of: <book><chapter><sect1><para> 1.6396 -#: ../en/ch10-template.xml:209 1.6397 +#: ../en/ch10-template.xml:207 1.6398 msgid "" 1.6399 "Mercurial's templating engine recognises the most commonly used escape " 1.6400 "sequences in strings. When it sees a backslash (<quote><literal>\\</" 1.6401 @@ -12966,48 +12949,48 @@ 1.6402 msgstr "" 1.6403 1.6404 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6405 -#: ../en/ch10-template.xml:216 1.6406 +#: ../en/ch10-template.xml:214 1.6407 msgid "" 1.6408 "<literal>\\</literal>: Backslash, <quote><literal>\\</literal></quote>, ASCII " 1.6409 "134." 1.6410 msgstr "" 1.6411 1.6412 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6413 -#: ../en/ch10-template.xml:220 1.6414 +#: ../en/ch10-template.xml:218 1.6415 msgid "<literal>\\n</literal>: Newline, ASCII 12." 1.6416 msgstr "" 1.6417 1.6418 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6419 -#: ../en/ch10-template.xml:223 1.6420 +#: ../en/ch10-template.xml:221 1.6421 msgid "<literal>\\r</literal>: Carriage return, ASCII 15." 1.6422 msgstr "" 1.6423 1.6424 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6425 -#: ../en/ch10-template.xml:226 1.6426 +#: ../en/ch10-template.xml:224 1.6427 msgid "<literal>\\t</literal>: Tab, ASCII 11." 1.6428 msgstr "" 1.6429 1.6430 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6431 -#: ../en/ch10-template.xml:229 1.6432 +#: ../en/ch10-template.xml:227 1.6433 msgid "<literal>\\v</literal>: Vertical tab, ASCII 13." 1.6434 msgstr "" 1.6435 1.6436 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6437 -#: ../en/ch10-template.xml:232 1.6438 +#: ../en/ch10-template.xml:230 1.6439 msgid "" 1.6440 "<literal>{</literal>: Open curly brace, <quote><literal>{</literal></quote>, " 1.6441 "ASCII 173." 1.6442 msgstr "" 1.6443 1.6444 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6445 -#: ../en/ch10-template.xml:236 1.6446 +#: ../en/ch10-template.xml:234 1.6447 msgid "" 1.6448 "<literal>}</literal>: Close curly brace, <quote><literal>}</literal></quote>, " 1.6449 "ASCII 175." 1.6450 msgstr "" 1.6451 1.6452 #. type: Content of: <book><chapter><sect1><para> 1.6453 -#: ../en/ch10-template.xml:241 1.6454 +#: ../en/ch10-template.xml:239 1.6455 msgid "" 1.6456 "As indicated above, if you want the expansion of a template to contain a " 1.6457 "literal <quote><literal>\\</literal></quote>, <quote><literal>{</literal></" 1.6458 @@ -13015,12 +12998,12 @@ 1.6459 msgstr "" 1.6460 1.6461 #. type: Content of: <book><chapter><sect1><title> 1.6462 -#: ../en/ch10-template.xml:249 1.6463 +#: ../en/ch10-template.xml:247 1.6464 msgid "Filtering keywords to change their results" 1.6465 msgstr "通过过滤关键字来修改输出结果" 1.6466 1.6467 #. type: Content of: <book><chapter><sect1><para> 1.6468 -#: ../en/ch10-template.xml:251 1.6469 +#: ../en/ch10-template.xml:249 1.6470 msgid "" 1.6471 "Some of the results of template expansion are not immediately easy to use. " 1.6472 "Mercurial lets you specify an optional chain of <emphasis>filters</emphasis> " 1.6473 @@ -13030,7 +13013,7 @@ 1.6474 msgstr "" 1.6475 1.6476 #. type: Content of: <book><chapter><sect1><para> 1.6477 -#: ../en/ch10-template.xml:258 1.6478 +#: ../en/ch10-template.xml:256 1.6479 msgid "" 1.6480 "Below is a list of the most commonly used filters that Mercurial supports. " 1.6481 "While some filters can be applied to any text, others can only be used in " 1.6482 @@ -13039,7 +13022,7 @@ 1.6483 msgstr "" 1.6484 1.6485 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6486 -#: ../en/ch10-template.xml:265 1.6487 +#: ../en/ch10-template.xml:263 1.6488 msgid "" 1.6489 "<literal role=\"template-filter\">addbreaks</literal>: Any text. Add an XHTML " 1.6490 "<quote><literal><br/></literal></quote> tag before the end of every " 1.6491 @@ -13048,7 +13031,7 @@ 1.6492 msgstr "" 1.6493 1.6494 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6495 -#: ../en/ch10-template.xml:272 1.6496 +#: ../en/ch10-template.xml:270 1.6497 msgid "" 1.6498 "<literal role=\"template-kw-filt-date\">age</literal>: <literal role=" 1.6499 "\"template-keyword\">date</literal> keyword. Render the age of the date, " 1.6500 @@ -13057,7 +13040,7 @@ 1.6501 msgstr "" 1.6502 1.6503 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6504 -#: ../en/ch10-template.xml:279 1.6505 +#: ../en/ch10-template.xml:277 1.6506 msgid "" 1.6507 "<literal role=\"template-filter\">basename</literal>: Any text, but most " 1.6508 "useful for the <literal role=\"template-keyword\">files</literal> keyword and " 1.6509 @@ -13067,7 +13050,7 @@ 1.6510 msgstr "" 1.6511 1.6512 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6513 -#: ../en/ch10-template.xml:288 1.6514 +#: ../en/ch10-template.xml:286 1.6515 msgid "" 1.6516 "<literal role=\"template-kw-filt-date\">date</literal>: <literal role=" 1.6517 "\"template-keyword\">date</literal> keyword. Render a date in a similar " 1.6518 @@ -13077,7 +13060,7 @@ 1.6519 msgstr "" 1.6520 1.6521 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6522 -#: ../en/ch10-template.xml:296 1.6523 +#: ../en/ch10-template.xml:294 1.6524 msgid "" 1.6525 "<literal role=\"template-kw-filt-author\">domain</literal>: Any text, but " 1.6526 "most useful for the <literal role=\"template-keyword\">author</literal> " 1.6527 @@ -13088,7 +13071,7 @@ 1.6528 msgstr "" 1.6529 1.6530 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6531 -#: ../en/ch10-template.xml:306 1.6532 +#: ../en/ch10-template.xml:304 1.6533 msgid "" 1.6534 "<literal role=\"template-kw-filt-author\">email</literal>: Any text, but most " 1.6535 "useful for the <literal role=\"template-keyword\">author</literal> keyword. " 1.6536 @@ -13098,7 +13081,7 @@ 1.6537 msgstr "" 1.6538 1.6539 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6540 -#: ../en/ch10-template.xml:315 1.6541 +#: ../en/ch10-template.xml:313 1.6542 msgid "" 1.6543 "<literal role=\"template-filter\">escape</literal>: Any text. Replace the " 1.6544 "special XML/XHTML characters <quote><literal>&</literal></quote>, " 1.6545 @@ -13107,7 +13090,7 @@ 1.6546 msgstr "" 1.6547 1.6548 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6549 -#: ../en/ch10-template.xml:323 1.6550 +#: ../en/ch10-template.xml:321 1.6551 msgid "" 1.6552 "<literal role=\"template-filter\">fill68</literal>: Any text. Wrap the text " 1.6553 "to fit in 68 columns. This is useful before you pass text through the " 1.6554 @@ -13116,21 +13099,21 @@ 1.6555 msgstr "" 1.6556 1.6557 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6558 -#: ../en/ch10-template.xml:331 1.6559 +#: ../en/ch10-template.xml:329 1.6560 msgid "" 1.6561 "<literal role=\"template-filter\">fill76</literal>: Any text. Wrap the text " 1.6562 "to fit in 76 columns." 1.6563 msgstr "" 1.6564 1.6565 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6566 -#: ../en/ch10-template.xml:335 1.6567 +#: ../en/ch10-template.xml:333 1.6568 msgid "" 1.6569 "<literal role=\"template-filter\">firstline</literal>: Any text. Yield the " 1.6570 "first line of text, without any trailing newlines." 1.6571 msgstr "" 1.6572 1.6573 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6574 -#: ../en/ch10-template.xml:340 1.6575 +#: ../en/ch10-template.xml:338 1.6576 msgid "" 1.6577 "<literal role=\"template-kw-filt-date\">hgdate</literal>: <literal role=" 1.6578 "\"template-keyword\">date</literal> keyword. Render the date as a pair of " 1.6579 @@ -13139,7 +13122,7 @@ 1.6580 msgstr "" 1.6581 1.6582 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6583 -#: ../en/ch10-template.xml:347 1.6584 +#: ../en/ch10-template.xml:345 1.6585 msgid "" 1.6586 "<literal role=\"template-kw-filt-date\">isodate</literal>: <literal role=" 1.6587 "\"template-keyword\">date</literal> keyword. Render the date as a text " 1.6588 @@ -13148,7 +13131,7 @@ 1.6589 msgstr "" 1.6590 1.6591 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6592 -#: ../en/ch10-template.xml:354 1.6593 +#: ../en/ch10-template.xml:352 1.6594 msgid "" 1.6595 "<literal role=\"template-filter\">obfuscate</literal>: Any text, but most " 1.6596 "useful for the <literal role=\"template-keyword\">author</literal> keyword. " 1.6597 @@ -13157,7 +13140,7 @@ 1.6598 msgstr "" 1.6599 1.6600 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6601 -#: ../en/ch10-template.xml:362 1.6602 +#: ../en/ch10-template.xml:360 1.6603 msgid "" 1.6604 "<literal role=\"template-kw-filt-author\">person</literal>: Any text, but " 1.6605 "most useful for the <literal role=\"template-keyword\">author</literal> " 1.6606 @@ -13167,7 +13150,7 @@ 1.6607 msgstr "" 1.6608 1.6609 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6610 -#: ../en/ch10-template.xml:371 1.6611 +#: ../en/ch10-template.xml:369 1.6612 msgid "" 1.6613 "<literal role=\"template-kw-filt-date\">rfc822date</literal>: <literal role=" 1.6614 "\"template-keyword\">date</literal> keyword. Render a date using the same " 1.6615 @@ -13176,7 +13159,7 @@ 1.6616 msgstr "" 1.6617 1.6618 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6619 -#: ../en/ch10-template.xml:378 1.6620 +#: ../en/ch10-template.xml:376 1.6621 msgid "" 1.6622 "<literal role=\"template-kw-filt-node\">short</literal>: Changeset hash. " 1.6623 "Yield the short form of a changeset hash, i.e. a 12-character hexadecimal " 1.6624 @@ -13184,7 +13167,7 @@ 1.6625 msgstr "" 1.6626 1.6627 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6628 -#: ../en/ch10-template.xml:383 1.6629 +#: ../en/ch10-template.xml:381 1.6630 msgid "" 1.6631 "<literal role=\"template-kw-filt-date\">shortdate</literal>: <literal role=" 1.6632 "\"template-keyword\">date</literal> keyword. Render the year, month, and day " 1.6633 @@ -13193,21 +13176,21 @@ 1.6634 msgstr "" 1.6635 1.6636 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6637 -#: ../en/ch10-template.xml:389 1.6638 +#: ../en/ch10-template.xml:387 1.6639 msgid "" 1.6640 "<literal role=\"template-filter\">strip</literal>: Any text. Strip all " 1.6641 "leading and trailing whitespace from the string." 1.6642 msgstr "" 1.6643 1.6644 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6645 -#: ../en/ch10-template.xml:393 1.6646 +#: ../en/ch10-template.xml:391 1.6647 msgid "" 1.6648 "<literal role=\"template-filter\">tabindent</literal>: Any text. Yield the " 1.6649 "text, with every line except the first starting with a tab character." 1.6650 msgstr "" 1.6651 1.6652 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6653 -#: ../en/ch10-template.xml:398 1.6654 +#: ../en/ch10-template.xml:396 1.6655 msgid "" 1.6656 "<literal role=\"template-filter\">urlescape</literal>: Any text. Escape all " 1.6657 "characters that are considered <quote>special</quote> by URL parsers. For " 1.6658 @@ -13215,7 +13198,7 @@ 1.6659 msgstr "" 1.6660 1.6661 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.6662 -#: ../en/ch10-template.xml:405 1.6663 +#: ../en/ch10-template.xml:403 1.6664 msgid "" 1.6665 "<literal role=\"template-kw-filt-author\">user</literal>: Any text, but most " 1.6666 "useful for the <literal role=\"template-keyword\">author</literal> keyword. " 1.6667 @@ -13225,7 +13208,7 @@ 1.6668 msgstr "" 1.6669 1.6670 #. type: Content of: <book><chapter><sect1><note><para> 1.6671 -#: ../en/ch10-template.xml:418 1.6672 +#: ../en/ch10-template.xml:416 1.6673 msgid "" 1.6674 "If you try to apply a filter to a piece of data that it cannot process, " 1.6675 "Mercurial will fail and print a Python exception. For example, trying to run " 1.6676 @@ -13235,12 +13218,12 @@ 1.6677 msgstr "" 1.6678 1.6679 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6680 -#: ../en/ch10-template.xml:427 1.6681 +#: ../en/ch10-template.xml:425 1.6682 msgid "Combining filters" 1.6683 msgstr "组合过滤器" 1.6684 1.6685 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6686 -#: ../en/ch10-template.xml:429 1.6687 +#: ../en/ch10-template.xml:427 1.6688 msgid "" 1.6689 "It is easy to combine filters to yield output in the form you would like. " 1.6690 "The following chain of filters tidies up a description, then makes sure that " 1.6691 @@ -13250,7 +13233,7 @@ 1.6692 msgstr "" 1.6693 1.6694 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6695 -#: ../en/ch10-template.xml:438 1.6696 +#: ../en/ch10-template.xml:436 1.6697 msgid "" 1.6698 "Note the use of <quote><literal>\\t</literal></quote> (a tab character) in " 1.6699 "the template to force the first line to be indented; this is necessary since " 1.6700 @@ -13259,7 +13242,7 @@ 1.6701 msgstr "" 1.6702 1.6703 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6704 -#: ../en/ch10-template.xml:444 1.6705 +#: ../en/ch10-template.xml:442 1.6706 msgid "" 1.6707 "Keep in mind that the order of filters in a chain is significant. The first " 1.6708 "filter is applied to the result of the keyword; the second to the result of " 1.6709 @@ -13269,12 +13252,12 @@ 1.6710 msgstr "" 1.6711 1.6712 #. type: Content of: <book><chapter><sect1><title> 1.6713 -#: ../en/ch10-template.xml:455 1.6714 +#: ../en/ch10-template.xml:453 1.6715 msgid "From templates to styles" 1.6716 msgstr "从模版到样式" 1.6717 1.6718 #. type: Content of: <book><chapter><sect1><para> 1.6719 -#: ../en/ch10-template.xml:457 1.6720 +#: ../en/ch10-template.xml:455 1.6721 msgid "" 1.6722 "A command line template provides a quick and simple way to format some " 1.6723 "output. Templates can become verbose, though, and it's useful to be able to " 1.6724 @@ -13283,7 +13266,7 @@ 1.6725 msgstr "" 1.6726 1.6727 #. type: Content of: <book><chapter><sect1><para> 1.6728 -#: ../en/ch10-template.xml:462 1.6729 +#: ../en/ch10-template.xml:460 1.6730 msgid "" 1.6731 "More than that, using a style file unlocks the power of Mercurial's " 1.6732 "templating engine in ways that are not possible using the command line " 1.6733 @@ -13291,49 +13274,49 @@ 1.6734 msgstr "" 1.6735 1.6736 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6737 -#: ../en/ch10-template.xml:468 1.6738 +#: ../en/ch10-template.xml:466 1.6739 msgid "The simplest of style files" 1.6740 msgstr "最简单的样式文件" 1.6741 1.6742 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6743 -#: ../en/ch10-template.xml:470 1.6744 +#: ../en/ch10-template.xml:468 1.6745 msgid "Our simple style file contains just one line:" 1.6746 msgstr "" 1.6747 1.6748 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6749 -#: ../en/ch10-template.xml:474 1.6750 +#: ../en/ch10-template.xml:472 1.6751 msgid "" 1.6752 "This tells Mercurial, <quote>if you're printing a changeset, use the text on " 1.6753 "the right as the template</quote>." 1.6754 msgstr "" 1.6755 1.6756 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6757 -#: ../en/ch10-template.xml:480 1.6758 +#: ../en/ch10-template.xml:478 1.6759 msgid "Style file syntax" 1.6760 msgstr "样式文件语法" 1.6761 1.6762 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6763 -#: ../en/ch10-template.xml:482 1.6764 +#: ../en/ch10-template.xml:480 1.6765 msgid "The syntax rules for a style file are simple." 1.6766 msgstr "" 1.6767 1.6768 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6769 -#: ../en/ch10-template.xml:485 1.6770 +#: ../en/ch10-template.xml:483 1.6771 msgid "The file is processed one line at a time." 1.6772 msgstr "" 1.6773 1.6774 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6775 -#: ../en/ch10-template.xml:488 1.6776 +#: ../en/ch10-template.xml:486 1.6777 msgid "Leading and trailing white space are ignored." 1.6778 msgstr "" 1.6779 1.6780 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6781 +#: ../en/ch10-template.xml:489 1.6782 +msgid "Empty lines are skipped." 1.6783 +msgstr "" 1.6784 + 1.6785 +#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6786 #: ../en/ch10-template.xml:491 1.6787 -msgid "Empty lines are skipped." 1.6788 -msgstr "" 1.6789 - 1.6790 -#. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6791 -#: ../en/ch10-template.xml:493 1.6792 msgid "" 1.6793 "If a line starts with either of the characters <quote><literal>#</literal></" 1.6794 "quote> or <quote><literal>;</literal></quote>, the entire line is treated as " 1.6795 @@ -13341,7 +13324,7 @@ 1.6796 msgstr "" 1.6797 1.6798 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6799 -#: ../en/ch10-template.xml:498 1.6800 +#: ../en/ch10-template.xml:496 1.6801 msgid "" 1.6802 "A line starts with a keyword. This must start with an alphabetic character " 1.6803 "or underscore, and can subsequently contain any alphanumeric character or " 1.6804 @@ -13350,21 +13333,21 @@ 1.6805 msgstr "" 1.6806 1.6807 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6808 -#: ../en/ch10-template.xml:504 1.6809 +#: ../en/ch10-template.xml:502 1.6810 msgid "" 1.6811 "The next element must be an <quote><literal>=</literal></quote> character, " 1.6812 "which can be preceded or followed by an arbitrary amount of white space." 1.6813 msgstr "" 1.6814 1.6815 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6816 -#: ../en/ch10-template.xml:509 1.6817 +#: ../en/ch10-template.xml:507 1.6818 msgid "" 1.6819 "If the rest of the line starts and ends with matching quote characters " 1.6820 "(either single or double quote), it is treated as a template body." 1.6821 msgstr "" 1.6822 1.6823 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6824 -#: ../en/ch10-template.xml:513 1.6825 +#: ../en/ch10-template.xml:511 1.6826 msgid "" 1.6827 "If the rest of the line <emphasis>does not</emphasis> start with a quote " 1.6828 "character, it is treated as the name of a file; the contents of this file " 1.6829 @@ -13372,12 +13355,12 @@ 1.6830 msgstr "" 1.6831 1.6832 #. type: Content of: <book><chapter><sect1><title> 1.6833 -#: ../en/ch10-template.xml:522 1.6834 +#: ../en/ch10-template.xml:520 1.6835 msgid "Style files by example" 1.6836 msgstr "样式文件例子" 1.6837 1.6838 #. type: Content of: <book><chapter><sect1><para> 1.6839 -#: ../en/ch10-template.xml:524 1.6840 +#: ../en/ch10-template.xml:522 1.6841 msgid "" 1.6842 "To illustrate how to write a style file, we will construct a few by example. " 1.6843 "Rather than provide a complete style file and walk through it, we'll mirror " 1.6844 @@ -13386,12 +13369,12 @@ 1.6845 msgstr "" 1.6846 1.6847 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6848 -#: ../en/ch10-template.xml:531 1.6849 +#: ../en/ch10-template.xml:529 1.6850 msgid "Identifying mistakes in style files" 1.6851 msgstr "在样式文件中定位错误" 1.6852 1.6853 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6854 -#: ../en/ch10-template.xml:533 1.6855 +#: ../en/ch10-template.xml:531 1.6856 msgid "" 1.6857 "If Mercurial encounters a problem in a style file you are working on, it " 1.6858 "prints a terse error message that, once you figure out what it means, is " 1.6859 @@ -13399,7 +13382,7 @@ 1.6860 msgstr "" 1.6861 1.6862 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6863 -#: ../en/ch10-template.xml:539 1.6864 +#: ../en/ch10-template.xml:537 1.6865 msgid "" 1.6866 "Notice that <filename>broken.style</filename> attempts to define a " 1.6867 "<literal>changeset</literal> keyword, but forgets to give any content for it. " 1.6868 @@ -13407,35 +13390,35 @@ 1.6869 msgstr "" 1.6870 1.6871 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6872 -#: ../en/ch10-template.xml:546 1.6873 +#: ../en/ch10-template.xml:544 1.6874 msgid "This error message looks intimidating, but it is not too hard to follow." 1.6875 msgstr "" 1.6876 1.6877 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6878 -#: ../en/ch10-template.xml:550 1.6879 +#: ../en/ch10-template.xml:548 1.6880 msgid "" 1.6881 "The first component is simply Mercurial's way of saying <quote>I am giving " 1.6882 "up</quote>." 1.6883 msgstr "" 1.6884 1.6885 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6886 -#: ../en/ch10-template.xml:554 1.6887 +#: ../en/ch10-template.xml:552 1.6888 msgid "Next comes the name of the style file that contains the error." 1.6889 msgstr "" 1.6890 1.6891 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6892 -#: ../en/ch10-template.xml:558 1.6893 +#: ../en/ch10-template.xml:556 1.6894 msgid "" 1.6895 "Following the file name is the line number where the error was encountered." 1.6896 msgstr "" 1.6897 1.6898 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6899 -#: ../en/ch10-template.xml:562 1.6900 +#: ../en/ch10-template.xml:560 1.6901 msgid "Finally, a description of what went wrong." 1.6902 msgstr "" 1.6903 1.6904 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6905 -#: ../en/ch10-template.xml:566 1.6906 +#: ../en/ch10-template.xml:564 1.6907 msgid "" 1.6908 "The description of the problem is not always clear (as in this case), but " 1.6909 "even when it is cryptic, it is almost always trivial to visually inspect the " 1.6910 @@ -13443,12 +13426,12 @@ 1.6911 msgstr "" 1.6912 1.6913 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6914 -#: ../en/ch10-template.xml:574 1.6915 +#: ../en/ch10-template.xml:572 1.6916 msgid "Uniquely identifying a repository" 1.6917 msgstr "版本库的唯一标识" 1.6918 1.6919 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6920 -#: ../en/ch10-template.xml:576 1.6921 +#: ../en/ch10-template.xml:574 1.6922 msgid "" 1.6923 "If you would like to be able to identify a Mercurial repository <quote>fairly " 1.6924 "uniquely</quote> using a short string as an identifier, you can use the first " 1.6925 @@ -13456,21 +13439,21 @@ 1.6926 msgstr "" 1.6927 1.6928 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6929 -#: ../en/ch10-template.xml:583 1.6930 +#: ../en/ch10-template.xml:581 1.6931 msgid "" 1.6932 "This is not guaranteed to be unique, but it is nevertheless useful in many " 1.6933 "cases." 1.6934 msgstr "" 1.6935 1.6936 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6937 -#: ../en/ch10-template.xml:586 1.6938 +#: ../en/ch10-template.xml:584 1.6939 msgid "" 1.6940 "It will not work in a completely empty repository, because such a repository " 1.6941 "does not have a revision zero." 1.6942 msgstr "" 1.6943 1.6944 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6945 -#: ../en/ch10-template.xml:590 1.6946 +#: ../en/ch10-template.xml:588 1.6947 msgid "" 1.6948 "Neither will it work in the (extremely rare) case where a repository is a " 1.6949 "merge of two or more formerly independent repositories, and you still have " 1.6950 @@ -13478,18 +13461,18 @@ 1.6951 msgstr "" 1.6952 1.6953 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6954 -#: ../en/ch10-template.xml:595 1.6955 +#: ../en/ch10-template.xml:593 1.6956 msgid "Here are some uses to which you could put this identifier:" 1.6957 msgstr "" 1.6958 1.6959 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6960 -#: ../en/ch10-template.xml:598 1.6961 +#: ../en/ch10-template.xml:596 1.6962 msgid "" 1.6963 "As a key into a table for a database that manages repositories on a server." 1.6964 msgstr "" 1.6965 1.6966 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.6967 -#: ../en/ch10-template.xml:601 1.6968 +#: ../en/ch10-template.xml:599 1.6969 msgid "" 1.6970 "As half of a {<emphasis>repository ID</emphasis>, <emphasis>revision ID</" 1.6971 "emphasis>} tuple. Save this information away when you run an automated build " 1.6972 @@ -13498,13 +13481,13 @@ 1.6973 msgstr "" 1.6974 1.6975 #. type: Content of: <book><chapter><sect1><sect2><title> 1.6976 -#: ../en/ch10-template.xml:610 1.6977 +#: ../en/ch10-template.xml:608 1.6978 msgid "Mimicking Subversion's output" 1.6979 msgstr "模仿 Subversion 的输出" 1.6980 1.6981 # 1.6982 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6983 -#: ../en/ch10-template.xml:612 1.6984 +#: ../en/ch10-template.xml:610 1.6985 msgid "" 1.6986 "Let's try to emulate the default output format used by another revision " 1.6987 "control tool, Subversion." 1.6988 @@ -13512,7 +13495,7 @@ 1.6989 1.6990 # 1.6991 #. type: Content of: <book><chapter><sect1><sect2><para> 1.6992 -#: ../en/ch10-template.xml:617 1.6993 +#: ../en/ch10-template.xml:615 1.6994 msgid "" 1.6995 "Since Subversion's output style is fairly simple, it is easy to copy-and-" 1.6996 "paste a hunk of its output into a file, and replace the text produced above " 1.6997 @@ -13520,14 +13503,14 @@ 1.6998 msgstr "" 1.6999 1.7000 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7001 -#: ../en/ch10-template.xml:624 1.7002 +#: ../en/ch10-template.xml:622 1.7003 msgid "" 1.7004 "There are a few small ways in which this template deviates from the output " 1.7005 "produced by Subversion." 1.7006 msgstr "" 1.7007 1.7008 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7009 -#: ../en/ch10-template.xml:627 1.7010 +#: ../en/ch10-template.xml:625 1.7011 msgid "" 1.7012 "Subversion prints a <quote>readable</quote> date (the <quote><literal>Wed, 27 " 1.7013 "Sep 2006</literal></quote> in the example output above) in parentheses. " 1.7014 @@ -13536,7 +13519,7 @@ 1.7015 msgstr "" 1.7016 1.7017 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7018 -#: ../en/ch10-template.xml:634 1.7019 +#: ../en/ch10-template.xml:632 1.7020 msgid "" 1.7021 "We emulate Subversion's printing of <quote>separator</quote> lines full of " 1.7022 "<quote><literal>-</literal></quote> characters by ending the template with " 1.7023 @@ -13546,7 +13529,7 @@ 1.7024 msgstr "" 1.7025 1.7026 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7027 -#: ../en/ch10-template.xml:643 1.7028 +#: ../en/ch10-template.xml:641 1.7029 msgid "" 1.7030 "Subversion's output includes a count in the header of the number of lines in " 1.7031 "the commit message. We cannot replicate this in Mercurial; the templating " 1.7032 @@ -13556,7 +13539,7 @@ 1.7033 1.7034 # 1.7035 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7036 -#: ../en/ch10-template.xml:649 1.7037 +#: ../en/ch10-template.xml:647 1.7038 msgid "" 1.7039 "It took me no more than a minute or two of work to replace literal text from " 1.7040 "an example of Subversion's output with some keywords and filters to give the " 1.7041 @@ -13564,7 +13547,7 @@ 1.7042 msgstr "" 1.7043 1.7044 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7045 -#: ../en/ch10-template.xml:656 1.7046 +#: ../en/ch10-template.xml:654 1.7047 msgid "" 1.7048 "We could have included the text of the template file directly in the style " 1.7049 "file by enclosing it in quotes and replacing the newlines with " 1.7050 @@ -13629,13 +13612,13 @@ 1.7051 msgid "" 1.7052 "When you have few changes to maintain, it is easy to manage a single patch " 1.7053 "using the standard <command>diff</command> and <command>patch</command> " 1.7054 -"programs (see section <xref linkend=\"sec.mq.patch\"/> for a discussion of " 1.7055 -"these tools). Once the number of changes grows, it starts to make sense to " 1.7056 -"maintain patches as discrete <quote>chunks of work,</quote> so that for " 1.7057 -"example a single patch will contain only one bug fix (the patch might modify " 1.7058 -"several files, but it's doing <quote>only one thing</quote>), and you may " 1.7059 -"have a number of such patches for different bugs you need fixed and local " 1.7060 -"changes you require. In this situation, if you submit a bug fix patch to the " 1.7061 +"programs (see <xref linkend=\"sec:mq:patch\"/> for a discussion of these " 1.7062 +"tools). Once the number of changes grows, it starts to make sense to maintain " 1.7063 +"patches as discrete <quote>chunks of work,</quote> so that for example a " 1.7064 +"single patch will contain only one bug fix (the patch might modify several " 1.7065 +"files, but it's doing <quote>only one thing</quote>), and you may have a " 1.7066 +"number of such patches for different bugs you need fixed and local changes " 1.7067 +"you require. In this situation, if you submit a bug fix patch to the " 1.7068 "upstream maintainers of a package and they include your fix in a subsequent " 1.7069 "release, you can simply drop that single patch when you're updating to the " 1.7070 "newer release." 1.7071 @@ -13905,9 +13888,9 @@ 1.7072 #. type: Content of: <book><chapter><sect1><para> 1.7073 #: ../en/ch11-mq.xml:243 1.7074 msgid "" 1.7075 -"We will return to some of the more subtle aspects of patches later (in " 1.7076 -"section <xref linkend=\"sec.mq.adv-patch\"/>), but you should have enough " 1.7077 -"information now to use MQ." 1.7078 +"We will return to some of the more subtle aspects of patches later (in <xref " 1.7079 +"linkend=\"sec:mq:adv-patch\"/>), but you should have enough information now " 1.7080 +"to use MQ." 1.7081 msgstr "" 1.7082 1.7083 #. type: Content of: <book><chapter><sect1><title> 1.7084 @@ -14101,19 +14084,18 @@ 1.7085 "<command role=\"hg-ext-mq\">qpop</command> command. MQ still <emphasis>knows " 1.7086 "about</emphasis>, or manages, a popped patch, but the patch no longer has a " 1.7087 "corresponding changeset in the repository, and the working directory does not " 1.7088 -"contain the changes made by the patch. Figure <xref endterm=\"fig.mq.stack." 1.7089 -"caption\" linkend=\"fig.mq.stack\"/> illustrates the difference between " 1.7090 -"applied and tracked patches." 1.7091 -msgstr "" 1.7092 - 1.7093 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject> 1.7094 -#: ../en/ch11-mq.xml:409 1.7095 -msgid "<imageobject><imagedata fileref=\"images/mq-stack.png\"/></imageobject>" 1.7096 -msgstr "" 1.7097 - 1.7098 -#. type: Content of: <book><chapter><sect1><sect2><informalfigure><mediaobject><caption><para> 1.7099 +"contain the changes made by the patch. <xref linkend=\"fig:mq:stack\"/> " 1.7100 +"illustrates the difference between applied and tracked patches." 1.7101 +msgstr "" 1.7102 + 1.7103 +#. type: Content of: <book><chapter><sect1><sect2><figure><title> 1.7104 +#: ../en/ch11-mq.xml:408 1.7105 +msgid "Applied and unapplied patches in the MQ patch stack" 1.7106 +msgstr "" 1.7107 + 1.7108 +#. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject> 1.7109 #: ../en/ch11-mq.xml:411 1.7110 -msgid "Applied and unapplied patches in the MQ patch stack" 1.7111 +msgid "<imageobject><imagedata fileref=\"figs/mq-stack.png\"/></imageobject>" 1.7112 msgstr "" 1.7113 1.7114 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7115 @@ -14149,16 +14131,16 @@ 1.7116 "command> causes it to push all unapplied patches, while the <option role=\"hg-" 1.7117 "ext-mq-cmd-qpop-opt\">-a</option> option to <command role=\"hg-ext-mq\">qpop</" 1.7118 "command> causes it to pop all applied patches. (For some more ways to push " 1.7119 -"and pop many patches, see section <xref linkend=\"sec.mq.perf\"/> below.)" 1.7120 +"and pop many patches, see <xref linkend=\"sec:mq:perf\"/> below.)" 1.7121 msgstr "" 1.7122 1.7123 #. type: Content of: <book><chapter><sect1><sect2><title> 1.7124 -#: ../en/ch11-mq.xml:452 1.7125 +#: ../en/ch11-mq.xml:451 1.7126 msgid "Safety checks, and overriding them" 1.7127 msgstr "安全的检查,然后覆盖它们" 1.7128 1.7129 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7130 -#: ../en/ch11-mq.xml:454 1.7131 +#: ../en/ch11-mq.xml:453 1.7132 msgid "" 1.7133 "Several MQ commands check the working directory before they do anything, and " 1.7134 "fail if they find any modifications. They do this to ensure that you won't " 1.7135 @@ -14170,7 +14152,7 @@ 1.7136 msgstr "" 1.7137 1.7138 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7139 -#: ../en/ch11-mq.xml:466 1.7140 +#: ../en/ch11-mq.xml:465 1.7141 msgid "" 1.7142 "Commands that check the working directory all take an <quote>I know what I'm " 1.7143 "doing</quote> option, which is always named <option>-f</option>. The exact " 1.7144 @@ -14184,12 +14166,12 @@ 1.7145 msgstr "" 1.7146 1.7147 #. type: Content of: <book><chapter><sect1><sect2><title> 1.7148 -#: ../en/ch11-mq.xml:481 1.7149 +#: ../en/ch11-mq.xml:480 1.7150 msgid "Working on several patches at once" 1.7151 msgstr "同时处理多个补丁" 1.7152 1.7153 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7154 -#: ../en/ch11-mq.xml:483 1.7155 +#: ../en/ch11-mq.xml:482 1.7156 msgid "" 1.7157 "The <command role=\"hg-ext-mq\">qrefresh</command> command always refreshes " 1.7158 "the <emphasis>topmost</emphasis> applied patch. This means that you can " 1.7159 @@ -14198,7 +14180,7 @@ 1.7160 msgstr "" 1.7161 1.7162 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7163 -#: ../en/ch11-mq.xml:490 1.7164 +#: ../en/ch11-mq.xml:489 1.7165 msgid "" 1.7166 "Here's an example that illustrates how you can use this ability. Let's say " 1.7167 "you're developing a new feature as two patches. The first is a change to the " 1.7168 @@ -14214,12 +14196,12 @@ 1.7169 msgstr "" 1.7170 1.7171 #. type: Content of: <book><chapter><sect1><title> 1.7172 -#: ../en/ch11-mq.xml:507 1.7173 +#: ../en/ch11-mq.xml:506 1.7174 msgid "More about patches" 1.7175 msgstr "关于补丁的更多信息" 1.7176 1.7177 #. type: Content of: <book><chapter><sect1><para> 1.7178 -#: ../en/ch11-mq.xml:509 1.7179 +#: ../en/ch11-mq.xml:508 1.7180 msgid "" 1.7181 "MQ uses the GNU <command>patch</command> command to apply patches, so it's " 1.7182 "helpful to know a few more detailed aspects of how <command>patch</command> " 1.7183 @@ -14227,12 +14209,12 @@ 1.7184 msgstr "" 1.7185 1.7186 #. type: Content of: <book><chapter><sect1><sect2><title> 1.7187 -#: ../en/ch11-mq.xml:515 1.7188 +#: ../en/ch11-mq.xml:514 1.7189 msgid "The strip count" 1.7190 msgstr "修剪计数" 1.7191 1.7192 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7193 -#: ../en/ch11-mq.xml:517 1.7194 +#: ../en/ch11-mq.xml:516 1.7195 msgid "" 1.7196 "If you look at the file headers in a patch, you will notice that the " 1.7197 "pathnames usually have an extra component on the front that isn't present in " 1.7198 @@ -14242,7 +14224,7 @@ 1.7199 msgstr "" 1.7200 1.7201 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7202 -#: ../en/ch11-mq.xml:524 1.7203 +#: ../en/ch11-mq.xml:523 1.7204 msgid "" 1.7205 "Alice would unpack a tarball, edit her files, then decide that she wanted to " 1.7206 "create a patch. So she'd rename her working directory, unpack the tarball " 1.7207 @@ -14256,7 +14238,7 @@ 1.7208 msgstr "" 1.7209 1.7210 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7211 -#: ../en/ch11-mq.xml:537 1.7212 +#: ../en/ch11-mq.xml:536 1.7213 msgid "" 1.7214 "Since someone receiving a patch from the Alices of the net would be unlikely " 1.7215 "to have unmodified and modified directories with exactly the same names, the " 1.7216 @@ -14267,7 +14249,7 @@ 1.7217 msgstr "" 1.7218 1.7219 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7220 -#: ../en/ch11-mq.xml:545 1.7221 +#: ../en/ch11-mq.xml:544 1.7222 msgid "" 1.7223 "An option of <quote><literal>-p1</literal></quote> means <quote>use a strip " 1.7224 "count of one</quote>. If <command>patch</command> sees a file name " 1.7225 @@ -14281,7 +14263,7 @@ 1.7226 msgstr "" 1.7227 1.7228 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7229 -#: ../en/ch11-mq.xml:558 1.7230 +#: ../en/ch11-mq.xml:557 1.7231 msgid "" 1.7232 "The <quote>standard</quote> strip count for patches is one; almost all " 1.7233 "patches contain one leading path name component that needs to be stripped. " 1.7234 @@ -14291,7 +14273,7 @@ 1.7235 msgstr "" 1.7236 1.7237 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7238 -#: ../en/ch11-mq.xml:566 1.7239 +#: ../en/ch11-mq.xml:565 1.7240 msgid "" 1.7241 "If you receive a patch from someone that you want to add to your patch queue, " 1.7242 "and the patch needs a strip count other than one, you cannot just <command " 1.7243 @@ -14308,12 +14290,12 @@ 1.7244 msgstr "" 1.7245 1.7246 #. type: Content of: <book><chapter><sect1><sect2><title> 1.7247 -#: ../en/ch11-mq.xml:585 1.7248 +#: ../en/ch11-mq.xml:584 1.7249 msgid "Strategies for applying a patch" 1.7250 msgstr "应用补丁的策略" 1.7251 1.7252 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7253 -#: ../en/ch11-mq.xml:587 1.7254 +#: ../en/ch11-mq.xml:586 1.7255 msgid "" 1.7256 "When <command>patch</command> applies a hunk, it tries a handful of " 1.7257 "successively less accurate strategies to try to make the hunk apply. This " 1.7258 @@ -14323,7 +14305,7 @@ 1.7259 msgstr "" 1.7260 1.7261 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7262 -#: ../en/ch11-mq.xml:594 1.7263 +#: ../en/ch11-mq.xml:593 1.7264 msgid "" 1.7265 "First, <command>patch</command> tries an exact match, where the line numbers, " 1.7266 "the context, and the text to be modified must apply exactly. If it cannot " 1.7267 @@ -14334,7 +14316,7 @@ 1.7268 msgstr "" 1.7269 1.7270 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7271 -#: ../en/ch11-mq.xml:603 1.7272 +#: ../en/ch11-mq.xml:602 1.7273 msgid "" 1.7274 "If a context-only match fails, <command>patch</command> removes the first and " 1.7275 "last lines of the context, and tries a <emphasis>reduced</emphasis> context-" 1.7276 @@ -14345,7 +14327,7 @@ 1.7277 msgstr "" 1.7278 1.7279 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7280 -#: ../en/ch11-mq.xml:612 1.7281 +#: ../en/ch11-mq.xml:611 1.7282 msgid "" 1.7283 "When neither of these techniques works, <command>patch</command> prints a " 1.7284 "message saying that the hunk in question was rejected. It saves rejected " 1.7285 @@ -14362,33 +14344,33 @@ 1.7286 msgstr "" 1.7287 1.7288 #. type: Content of: <book><chapter><sect1><sect2><title> 1.7289 -#: ../en/ch11-mq.xml:630 1.7290 +#: ../en/ch11-mq.xml:629 1.7291 msgid "Some quirks of patch representation" 1.7292 msgstr "补丁的一些特性" 1.7293 1.7294 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7295 -#: ../en/ch11-mq.xml:632 1.7296 +#: ../en/ch11-mq.xml:631 1.7297 msgid "" 1.7298 "There are a few useful things to know about how <command>patch</command> " 1.7299 "works with files." 1.7300 msgstr "" 1.7301 1.7302 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7303 -#: ../en/ch11-mq.xml:635 1.7304 +#: ../en/ch11-mq.xml:634 1.7305 msgid "" 1.7306 "This should already be obvious, but <command>patch</command> cannot handle " 1.7307 "binary files." 1.7308 msgstr "" 1.7309 1.7310 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7311 -#: ../en/ch11-mq.xml:639 1.7312 +#: ../en/ch11-mq.xml:638 1.7313 msgid "" 1.7314 "Neither does it care about the executable bit; it creates new files as " 1.7315 "readable, but not executable." 1.7316 msgstr "" 1.7317 1.7318 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7319 -#: ../en/ch11-mq.xml:643 1.7320 +#: ../en/ch11-mq.xml:642 1.7321 msgid "" 1.7322 "<command>patch</command> treats the removal of a file as a diff between the " 1.7323 "file to be removed and the empty file. So your idea of <quote>I deleted this " 1.7324 @@ -14397,7 +14379,7 @@ 1.7325 msgstr "" 1.7326 1.7327 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7328 -#: ../en/ch11-mq.xml:649 1.7329 +#: ../en/ch11-mq.xml:648 1.7330 msgid "" 1.7331 "It treats the addition of a file as a diff between the empty file and the " 1.7332 "file to be added. So in a patch, your idea of <quote>I added this file</" 1.7333 @@ -14405,7 +14387,7 @@ 1.7334 msgstr "" 1.7335 1.7336 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7337 -#: ../en/ch11-mq.xml:655 1.7338 +#: ../en/ch11-mq.xml:654 1.7339 msgid "" 1.7340 "It treats a renamed file as the removal of the old name, and the addition of " 1.7341 "the new name. This means that renamed files have a big footprint in " 1.7342 @@ -14414,7 +14396,7 @@ 1.7343 msgstr "" 1.7344 1.7345 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7346 -#: ../en/ch11-mq.xml:661 1.7347 +#: ../en/ch11-mq.xml:660 1.7348 msgid "" 1.7349 "<command>patch</command> cannot represent empty files, so you cannot use a " 1.7350 "patch to represent the notion <quote>I added this empty file to the tree</" 1.7351 @@ -14422,12 +14404,12 @@ 1.7352 msgstr "" 1.7353 1.7354 #. type: Content of: <book><chapter><sect1><sect2><title> 1.7355 -#: ../en/ch11-mq.xml:668 1.7356 +#: ../en/ch11-mq.xml:667 1.7357 msgid "Beware the fuzz" 1.7358 msgstr "当心毛刺" 1.7359 1.7360 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7361 -#: ../en/ch11-mq.xml:670 1.7362 +#: ../en/ch11-mq.xml:669 1.7363 msgid "" 1.7364 "While applying a hunk at an offset, or with a fuzz factor, will often be " 1.7365 "completely successful, these inexact techniques naturally leave open the " 1.7366 @@ -14439,7 +14421,7 @@ 1.7367 msgstr "" 1.7368 1.7369 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7370 -#: ../en/ch11-mq.xml:680 1.7371 +#: ../en/ch11-mq.xml:679 1.7372 msgid "" 1.7373 "It's often a good idea to refresh a patch that has applied with an offset or " 1.7374 "fuzz factor; refreshing the patch generates new context information that will " 1.7375 @@ -14452,12 +14434,12 @@ 1.7376 msgstr "" 1.7377 1.7378 #. type: Content of: <book><chapter><sect1><sect2><title> 1.7379 -#: ../en/ch11-mq.xml:693 1.7380 +#: ../en/ch11-mq.xml:692 1.7381 msgid "Handling rejection" 1.7382 msgstr "处理拒绝" 1.7383 1.7384 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7385 -#: ../en/ch11-mq.xml:695 1.7386 +#: ../en/ch11-mq.xml:694 1.7387 msgid "" 1.7388 "If <command role=\"hg-ext-mq\">qpush</command> fails to apply a patch, it " 1.7389 "will print an error message and exit. If it has left <filename role=\"special" 1.7390 @@ -14466,16 +14448,15 @@ 1.7391 msgstr "" 1.7392 1.7393 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7394 -#: ../en/ch11-mq.xml:701 1.7395 +#: ../en/ch11-mq.xml:700 1.7396 msgid "" 1.7397 "If your patch <emphasis>used to</emphasis> apply cleanly, and no longer does " 1.7398 "because you've changed the underlying code that your patches are based on, " 1.7399 -"Mercurial Queues can help; see section <xref linkend=\"sec.mq.merge\"/> for " 1.7400 -"details." 1.7401 -msgstr "" 1.7402 - 1.7403 -#. type: Content of: <book><chapter><sect1><sect2><para> 1.7404 -#: ../en/ch11-mq.xml:707 1.7405 +"Mercurial Queues can help; see <xref linkend=\"sec:mq:merge\"/> for details." 1.7406 +msgstr "" 1.7407 + 1.7408 +#. type: Content of: <book><chapter><sect1><sect2><para> 1.7409 +#: ../en/ch11-mq.xml:705 1.7410 msgid "" 1.7411 "Unfortunately, there aren't any great techniques for dealing with rejected " 1.7412 "hunks. Most often, you'll need to view the <filename role=\"special\">.rej</" 1.7413 @@ -14483,7 +14464,7 @@ 1.7414 msgstr "" 1.7415 1.7416 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7417 -#: ../en/ch11-mq.xml:712 1.7418 +#: ../en/ch11-mq.xml:710 1.7419 msgid "" 1.7420 "If you're feeling adventurous, Neil Brown, a Linux kernel hacker, wrote a " 1.7421 "tool called <command>wiggle</command> <citation>web:wiggle</citation>, which " 1.7422 @@ -14492,7 +14473,7 @@ 1.7423 msgstr "" 1.7424 1.7425 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7426 -#: ../en/ch11-mq.xml:718 1.7427 +#: ../en/ch11-mq.xml:716 1.7428 msgid "" 1.7429 "Another Linux kernel hacker, Chris Mason (the author of Mercurial Queues), " 1.7430 "wrote a similar tool called <command>mpatch</command> <citation>web:mpatch</" 1.7431 @@ -14502,31 +14483,31 @@ 1.7432 msgstr "" 1.7433 1.7434 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7435 -#: ../en/ch11-mq.xml:727 1.7436 +#: ../en/ch11-mq.xml:725 1.7437 msgid "The context in the middle of a hunk has changed." 1.7438 msgstr "" 1.7439 1.7440 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7441 -#: ../en/ch11-mq.xml:730 1.7442 +#: ../en/ch11-mq.xml:728 1.7443 msgid "A hunk is missing some context at the beginning or end." 1.7444 msgstr "" 1.7445 1.7446 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7447 -#: ../en/ch11-mq.xml:733 1.7448 +#: ../en/ch11-mq.xml:731 1.7449 msgid "" 1.7450 "A large hunk might apply better&emdash;either entirely or in part&emdash;if " 1.7451 "it was broken up into smaller hunks." 1.7452 msgstr "" 1.7453 1.7454 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.7455 -#: ../en/ch11-mq.xml:737 1.7456 +#: ../en/ch11-mq.xml:735 1.7457 msgid "" 1.7458 "A hunk removes lines with slightly different content than those currently " 1.7459 "present in the file." 1.7460 msgstr "" 1.7461 1.7462 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7463 -#: ../en/ch11-mq.xml:741 1.7464 +#: ../en/ch11-mq.xml:739 1.7465 msgid "" 1.7466 "If you use <command>wiggle</command> or <command>mpatch</command>, you should " 1.7467 "be doubly careful to check your results when you're done. In fact, " 1.7468 @@ -14536,12 +14517,12 @@ 1.7469 msgstr "" 1.7470 1.7471 #. type: Content of: <book><chapter><sect1><title> 1.7472 -#: ../en/ch11-mq.xml:753 1.7473 +#: ../en/ch11-mq.xml:751 1.7474 msgid "Getting the best performance out of MQ" 1.7475 msgstr "MQ 的性能" 1.7476 1.7477 #. type: Content of: <book><chapter><sect1><para> 1.7478 -#: ../en/ch11-mq.xml:755 1.7479 +#: ../en/ch11-mq.xml:753 1.7480 msgid "" 1.7481 "MQ is very efficient at handling a large number of patches. I ran some " 1.7482 "performance experiments in mid-2006 for a talk that I gave at the 2006 " 1.7483 @@ -14552,7 +14533,7 @@ 1.7484 msgstr "" 1.7485 1.7486 #. type: Content of: <book><chapter><sect1><para> 1.7487 -#: ../en/ch11-mq.xml:764 1.7488 +#: ../en/ch11-mq.xml:762 1.7489 msgid "" 1.7490 "On my old, slow laptop, I was able to <command role=\"hg-cmd\">hg qpush " 1.7491 "<option role=\"hg-ext-mq-cmd-qpush-opt\">hg -a</option></command> all 1,738 " 1.7492 @@ -14564,14 +14545,14 @@ 1.7493 msgstr "" 1.7494 1.7495 #. type: Content of: <book><chapter><sect1><para> 1.7496 -#: ../en/ch11-mq.xml:775 1.7497 +#: ../en/ch11-mq.xml:773 1.7498 msgid "" 1.7499 "Clearly, MQ is well suited to working in large trees, but there are a few " 1.7500 "tricks you can use to get the best performance of it." 1.7501 msgstr "" 1.7502 1.7503 #. type: Content of: <book><chapter><sect1><para> 1.7504 -#: ../en/ch11-mq.xml:779 1.7505 +#: ../en/ch11-mq.xml:777 1.7506 msgid "" 1.7507 "First of all, try to <quote>batch</quote> operations together. Every time " 1.7508 "you run <command role=\"hg-ext-mq\">qpush</command> or <command role=\"hg-ext-" 1.7509 @@ -14583,7 +14564,7 @@ 1.7510 msgstr "" 1.7511 1.7512 #. type: Content of: <book><chapter><sect1><para> 1.7513 -#: ../en/ch11-mq.xml:790 1.7514 +#: ../en/ch11-mq.xml:788 1.7515 msgid "" 1.7516 "The <command role=\"hg-ext-mq\">qpush</command> and <command role=\"hg-ext-mq" 1.7517 "\">qpop</command> commands allow you to push and pop multiple patches at a " 1.7518 @@ -14595,7 +14576,7 @@ 1.7519 msgstr "" 1.7520 1.7521 #. type: Content of: <book><chapter><sect1><para> 1.7522 -#: ../en/ch11-mq.xml:800 1.7523 +#: ../en/ch11-mq.xml:798 1.7524 msgid "" 1.7525 "You can identify a destination patch using either the name of the patch, or " 1.7526 "by number. If you use numeric addressing, patches are counted from zero; " 1.7527 @@ -14603,12 +14584,12 @@ 1.7528 msgstr "" 1.7529 1.7530 #. type: Content of: <book><chapter><sect1><title> 1.7531 -#: ../en/ch11-mq.xml:807 1.7532 +#: ../en/ch11-mq.xml:805 1.7533 msgid "Updating your patches when the underlying code changes" 1.7534 msgstr "当基础代码改变时,更新补丁的方法" 1.7535 1.7536 #. type: Content of: <book><chapter><sect1><para> 1.7537 -#: ../en/ch11-mq.xml:810 1.7538 +#: ../en/ch11-mq.xml:808 1.7539 msgid "" 1.7540 "It's common to have a stack of patches on top of an underlying repository " 1.7541 "that you don't modify directly. If you're working on changes to third-party " 1.7542 @@ -14619,7 +14600,7 @@ 1.7543 msgstr "" 1.7544 1.7545 #. type: Content of: <book><chapter><sect1><para> 1.7546 -#: ../en/ch11-mq.xml:819 1.7547 +#: ../en/ch11-mq.xml:817 1.7548 msgid "" 1.7549 "The simplest way to do this is to <command role=\"hg-cmd\">hg qpop <option " 1.7550 "role=\"hg-ext-mq-cmd-qpop-opt\">hg -a</option></command> your patches, then " 1.7551 @@ -14633,7 +14614,7 @@ 1.7552 msgstr "" 1.7553 1.7554 #. type: Content of: <book><chapter><sect1><para> 1.7555 -#: ../en/ch11-mq.xml:831 1.7556 +#: ../en/ch11-mq.xml:829 1.7557 msgid "" 1.7558 "This approach is easy to use and works well if you don't expect changes to " 1.7559 "the underlying code to affect how well your patches apply. If your patch " 1.7560 @@ -14643,7 +14624,7 @@ 1.7561 msgstr "" 1.7562 1.7563 #. type: Content of: <book><chapter><sect1><para> 1.7564 -#: ../en/ch11-mq.xml:838 1.7565 +#: ../en/ch11-mq.xml:836 1.7566 msgid "" 1.7567 "It's possible to partially automate the rebasing process. If your patches " 1.7568 "apply cleanly against some revision of the underlying repo, MQ can use this " 1.7569 @@ -14652,19 +14633,19 @@ 1.7570 msgstr "" 1.7571 1.7572 #. type: Content of: <book><chapter><sect1><para> 1.7573 +#: ../en/ch11-mq.xml:842 1.7574 +msgid "The process is a little involved." 1.7575 +msgstr "" 1.7576 + 1.7577 +#. type: Content of: <book><chapter><sect1><orderedlist><listitem><para> 1.7578 #: ../en/ch11-mq.xml:844 1.7579 -msgid "The process is a little involved." 1.7580 -msgstr "" 1.7581 - 1.7582 -#. type: Content of: <book><chapter><sect1><orderedlist><listitem><para> 1.7583 -#: ../en/ch11-mq.xml:846 1.7584 msgid "" 1.7585 "To begin, <command role=\"hg-cmd\">hg qpush -a</command> all of your patches " 1.7586 "on top of the revision where you know that they apply cleanly." 1.7587 msgstr "" 1.7588 1.7589 #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para> 1.7590 -#: ../en/ch11-mq.xml:850 1.7591 +#: ../en/ch11-mq.xml:848 1.7592 msgid "" 1.7593 "Save a backup copy of your patch directory using <command role=\"hg-cmd\">hg " 1.7594 "qsave <option role=\"hg-ext-mq-cmd-qsave-opt\">hg -e</option> <option role=" 1.7595 @@ -14679,7 +14660,7 @@ 1.7596 msgstr "" 1.7597 1.7598 #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para> 1.7599 -#: ../en/ch11-mq.xml:864 1.7600 +#: ../en/ch11-mq.xml:862 1.7601 msgid "" 1.7602 "Use <command role=\"hg-cmd\">hg pull</command> to bring new changes into the " 1.7603 "underlying repository. (Don't run <command role=\"hg-cmd\">hg pull -u</" 1.7604 @@ -14687,7 +14668,7 @@ 1.7605 msgstr "" 1.7606 1.7607 #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para> 1.7608 -#: ../en/ch11-mq.xml:869 1.7609 +#: ../en/ch11-mq.xml:867 1.7610 msgid "" 1.7611 "Update to the new tip revision, using <command role=\"hg-cmd\">hg update " 1.7612 "<option role=\"hg-opt-update\">-C</option></command> to override the patches " 1.7613 @@ -14695,7 +14676,7 @@ 1.7614 msgstr "" 1.7615 1.7616 #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para> 1.7617 -#: ../en/ch11-mq.xml:874 1.7618 +#: ../en/ch11-mq.xml:872 1.7619 msgid "" 1.7620 "Merge all patches using <command>hg qpush -m -a</command>. The <option role=" 1.7621 "\"hg-ext-mq-cmd-qpush-opt\">-m</option> option to <command role=\"hg-ext-mq" 1.7622 @@ -14704,7 +14685,7 @@ 1.7623 msgstr "" 1.7624 1.7625 #. type: Content of: <book><chapter><sect1><para> 1.7626 -#: ../en/ch11-mq.xml:882 1.7627 +#: ../en/ch11-mq.xml:880 1.7628 msgid "" 1.7629 "During the <command role=\"hg-cmd\">hg qpush <option role=\"hg-ext-mq-cmd-" 1.7630 "qpush-opt\">hg -m</option></command>, each patch in the <filename role=" 1.7631 @@ -14716,14 +14697,14 @@ 1.7632 msgstr "" 1.7633 1.7634 #. type: Content of: <book><chapter><sect1><para> 1.7635 -#: ../en/ch11-mq.xml:892 1.7636 +#: ../en/ch11-mq.xml:890 1.7637 msgid "" 1.7638 "When you finish resolving the effects of a patch, MQ refreshes your patch " 1.7639 "based on the result of the merge." 1.7640 msgstr "" 1.7641 1.7642 #. type: Content of: <book><chapter><sect1><para> 1.7643 -#: ../en/ch11-mq.xml:895 1.7644 +#: ../en/ch11-mq.xml:893 1.7645 msgid "" 1.7646 "At the end of this process, your repository will have one extra head from the " 1.7647 "old patch queue, and a copy of the old patch queue will be in <filename role=" 1.7648 @@ -14735,12 +14716,12 @@ 1.7649 msgstr "" 1.7650 1.7651 #. type: Content of: <book><chapter><sect1><title> 1.7652 -#: ../en/ch11-mq.xml:907 1.7653 +#: ../en/ch11-mq.xml:905 1.7654 msgid "Identifying patches" 1.7655 msgstr "标识补丁" 1.7656 1.7657 #. type: Content of: <book><chapter><sect1><para> 1.7658 -#: ../en/ch11-mq.xml:909 1.7659 +#: ../en/ch11-mq.xml:907 1.7660 msgid "" 1.7661 "MQ commands that work with patches let you refer to a patch either by using " 1.7662 "its name or by a number. By name is obvious enough; pass the name " 1.7663 @@ -14750,7 +14731,7 @@ 1.7664 msgstr "" 1.7665 1.7666 #. type: Content of: <book><chapter><sect1><para> 1.7667 -#: ../en/ch11-mq.xml:916 1.7668 +#: ../en/ch11-mq.xml:914 1.7669 msgid "" 1.7670 "As a shortcut, you can refer to a patch using both a name and a numeric " 1.7671 "offset; <literal>foo.patch-2</literal> means <quote>two patches before " 1.7672 @@ -14759,7 +14740,7 @@ 1.7673 msgstr "" 1.7674 1.7675 #. type: Content of: <book><chapter><sect1><para> 1.7676 -#: ../en/ch11-mq.xml:922 1.7677 +#: ../en/ch11-mq.xml:920 1.7678 msgid "" 1.7679 "Referring to a patch by index isn't much different. The first patch printed " 1.7680 "in the output of <command role=\"hg-ext-mq\">qseries</command> is patch zero " 1.7681 @@ -14768,7 +14749,7 @@ 1.7682 msgstr "" 1.7683 1.7684 #. type: Content of: <book><chapter><sect1><para> 1.7685 -#: ../en/ch11-mq.xml:928 1.7686 +#: ../en/ch11-mq.xml:926 1.7687 msgid "" 1.7688 "MQ also makes it easy to work with patches when you are using normal " 1.7689 "Mercurial commands. Every command that accepts a changeset ID will also " 1.7690 @@ -14780,33 +14761,33 @@ 1.7691 msgstr "" 1.7692 1.7693 #. type: Content of: <book><chapter><sect1><para> 1.7694 -#: ../en/ch11-mq.xml:938 1.7695 +#: ../en/ch11-mq.xml:936 1.7696 msgid "" 1.7697 "These additions to Mercurial's normal tagging capabilities make dealing with " 1.7698 "patches even more of a breeze." 1.7699 msgstr "" 1.7700 1.7701 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.7702 -#: ../en/ch11-mq.xml:941 1.7703 +#: ../en/ch11-mq.xml:939 1.7704 msgid "Want to patchbomb a mailing list with your latest series of changes?" 1.7705 msgstr "" 1.7706 1.7707 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.7708 -#: ../en/ch11-mq.xml:944 1.7709 -msgid "" 1.7710 -"(Don't know what <quote>patchbombing</quote> is? See section <xref linkend=" 1.7711 -"\"sec.hgext.patchbomb\"/>.)" 1.7712 +#: ../en/ch11-mq.xml:942 1.7713 +msgid "" 1.7714 +"(Don't know what <quote>patchbombing</quote> is? See <xref linkend=\"sec:" 1.7715 +"hgext:patchbomb\"/>.)" 1.7716 msgstr "" 1.7717 1.7718 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.7719 -#: ../en/ch11-mq.xml:947 1.7720 +#: ../en/ch11-mq.xml:945 1.7721 msgid "" 1.7722 "Need to see all of the patches since <literal>foo.patch</literal> that have " 1.7723 "touched files in a subdirectory of your tree?" 1.7724 msgstr "" 1.7725 1.7726 #. type: Content of: <book><chapter><sect1><para> 1.7727 -#: ../en/ch11-mq.xml:954 1.7728 +#: ../en/ch11-mq.xml:952 1.7729 msgid "" 1.7730 "Because MQ makes the names of patches available to the rest of Mercurial " 1.7731 "through its normal internal tag machinery, you don't need to type in the " 1.7732 @@ -14814,7 +14795,7 @@ 1.7733 msgstr "" 1.7734 1.7735 #. type: Content of: <book><chapter><sect1><para> 1.7736 -#: ../en/ch11-mq.xml:959 1.7737 +#: ../en/ch11-mq.xml:957 1.7738 msgid "" 1.7739 "Another nice consequence of representing patch names as tags is that when you " 1.7740 "run the <command role=\"hg-cmd\">hg log</command> command, it will display a " 1.7741 @@ -14825,30 +14806,29 @@ 1.7742 msgstr "" 1.7743 1.7744 #. type: Content of: <book><chapter><sect1><title> 1.7745 -#: ../en/ch11-mq.xml:972 1.7746 +#: ../en/ch11-mq.xml:970 1.7747 msgid "Useful things to know about" 1.7748 msgstr "其它需要了解的东西" 1.7749 1.7750 #. type: Content of: <book><chapter><sect1><para> 1.7751 -#: ../en/ch11-mq.xml:974 1.7752 +#: ../en/ch11-mq.xml:972 1.7753 msgid "" 1.7754 "There are a number of aspects of MQ usage that don't fit tidily into sections " 1.7755 "of their own, but that are good to know. Here they are, in one place." 1.7756 msgstr "" 1.7757 1.7758 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.7759 -#: ../en/ch11-mq.xml:979 1.7760 +#: ../en/ch11-mq.xml:977 1.7761 msgid "" 1.7762 "Normally, when you <command role=\"hg-ext-mq\">qpop</command> a patch and " 1.7763 "<command role=\"hg-ext-mq\">qpush</command> it again, the changeset that " 1.7764 "represents the patch after the pop/push will have a <emphasis>different " 1.7765 "identity</emphasis> than the changeset that represented the hash beforehand. " 1.7766 -"See section <xref linkend=\"sec.mqref.cmd.qpush\"/> for information as to why " 1.7767 -"this is." 1.7768 +"See <xref linkend=\"sec:mqref:cmd:qpush\"/> for information as to why this is." 1.7769 msgstr "" 1.7770 1.7771 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 1.7772 -#: ../en/ch11-mq.xml:988 1.7773 +#: ../en/ch11-mq.xml:986 1.7774 msgid "" 1.7775 "It's not a good idea to <command role=\"hg-cmd\">hg merge</command> changes " 1.7776 "from another branch with a patch changeset, at least if you want to maintain " 1.7777 @@ -14858,12 +14838,12 @@ 1.7778 msgstr "" 1.7779 1.7780 #. type: Content of: <book><chapter><sect1><title> 1.7781 -#: ../en/ch11-mq.xml:999 1.7782 +#: ../en/ch11-mq.xml:997 1.7783 msgid "Managing patches in a repository" 1.7784 msgstr "在版本库管理补丁" 1.7785 1.7786 #. type: Content of: <book><chapter><sect1><para> 1.7787 -#: ../en/ch11-mq.xml:1001 1.7788 +#: ../en/ch11-mq.xml:999 1.7789 msgid "" 1.7790 "Because MQ's <filename role=\"special\" class=\"directory\">.hg/patches</" 1.7791 "filename> directory resides outside a Mercurial repository's working " 1.7792 @@ -14872,7 +14852,7 @@ 1.7793 msgstr "" 1.7794 1.7795 #. type: Content of: <book><chapter><sect1><para> 1.7796 -#: ../en/ch11-mq.xml:1007 1.7797 +#: ../en/ch11-mq.xml:1005 1.7798 msgid "" 1.7799 "This presents the interesting possibility of managing the contents of the " 1.7800 "patch directory as a Mercurial repository in its own right. This can be a " 1.7801 @@ -14883,7 +14863,7 @@ 1.7802 msgstr "" 1.7803 1.7804 #. type: Content of: <book><chapter><sect1><para> 1.7805 -#: ../en/ch11-mq.xml:1016 1.7806 +#: ../en/ch11-mq.xml:1014 1.7807 msgid "" 1.7808 "You can then share different versions of the same patch stack among multiple " 1.7809 "underlying repositories. I use this when I am developing a Linux kernel " 1.7810 @@ -14895,7 +14875,7 @@ 1.7811 msgstr "" 1.7812 1.7813 #. type: Content of: <book><chapter><sect1><para> 1.7814 -#: ../en/ch11-mq.xml:1026 1.7815 +#: ../en/ch11-mq.xml:1024 1.7816 msgid "" 1.7817 "Managing patches in a repository makes it possible for multiple developers to " 1.7818 "work on the same patch series without colliding with each other, all on top " 1.7819 @@ -14903,12 +14883,12 @@ 1.7820 msgstr "" 1.7821 1.7822 #. type: Content of: <book><chapter><sect1><sect2><title> 1.7823 -#: ../en/ch11-mq.xml:1032 1.7824 +#: ../en/ch11-mq.xml:1030 1.7825 msgid "MQ support for patch repositories" 1.7826 msgstr "MQ 支持补丁版本库" 1.7827 1.7828 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7829 -#: ../en/ch11-mq.xml:1034 1.7830 +#: ../en/ch11-mq.xml:1032 1.7831 msgid "" 1.7832 "MQ helps you to work with the <filename role=\"special\" class=\"directory\">." 1.7833 "hg/patches</filename> directory as a repository; when you prepare a " 1.7834 @@ -14919,7 +14899,7 @@ 1.7835 msgstr "" 1.7836 1.7837 #. type: Content of: <book><chapter><sect1><sect2><note><para> 1.7838 -#: ../en/ch11-mq.xml:1044 1.7839 +#: ../en/ch11-mq.xml:1042 1.7840 msgid "" 1.7841 "If you forget to use the <option role=\"hg-ext-mq-cmd-qinit-opt\">hg -c</" 1.7842 "option> option, you can simply go into the <filename role=\"special\" class=" 1.7843 @@ -14930,7 +14910,7 @@ 1.7844 msgstr "" 1.7845 1.7846 #. type: Content of: <book><chapter><sect1><sect2><note><para> 1.7847 -#: ../en/ch11-mq.xml:1053 1.7848 +#: ../en/ch11-mq.xml:1051 1.7849 msgid "" 1.7850 "(<command role=\"hg-cmd\">hg qinit <option role=\"hg-ext-mq-cmd-qinit-opt" 1.7851 "\">hg -c</option></command> does this for you automatically); you " 1.7852 @@ -14939,7 +14919,7 @@ 1.7853 msgstr "" 1.7854 1.7855 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7856 -#: ../en/ch11-mq.xml:1060 1.7857 +#: ../en/ch11-mq.xml:1058 1.7858 msgid "" 1.7859 "As a convenience, if MQ notices that the <filename class=\"directory\">.hg/" 1.7860 "patches</filename> directory is a repository, it will automatically <command " 1.7861 @@ -14947,7 +14927,7 @@ 1.7862 msgstr "" 1.7863 1.7864 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7865 -#: ../en/ch11-mq.xml:1065 1.7866 +#: ../en/ch11-mq.xml:1063 1.7867 msgid "" 1.7868 "MQ provides a shortcut command, <command role=\"hg-ext-mq\">qcommit</" 1.7869 "command>, that runs <command role=\"hg-cmd\">hg commit</command> in the " 1.7870 @@ -14956,7 +14936,7 @@ 1.7871 msgstr "" 1.7872 1.7873 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7874 -#: ../en/ch11-mq.xml:1071 1.7875 +#: ../en/ch11-mq.xml:1069 1.7876 msgid "" 1.7877 "Finally, as a convenience to manage the patch directory, you can define the " 1.7878 "alias <command>mq</command> on Unix systems. For example, on Linux systems " 1.7879 @@ -14965,26 +14945,26 @@ 1.7880 msgstr "" 1.7881 1.7882 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7883 -#: ../en/ch11-mq.xml:1080 1.7884 +#: ../en/ch11-mq.xml:1078 1.7885 msgid "" 1.7886 "You can then issue commands of the form <command>mq pull</command> from the " 1.7887 "main repository." 1.7888 msgstr "" 1.7889 1.7890 #. type: Content of: <book><chapter><sect1><sect2><title> 1.7891 -#: ../en/ch11-mq.xml:1085 1.7892 +#: ../en/ch11-mq.xml:1083 1.7893 msgid "A few things to watch out for" 1.7894 msgstr "需要注意的事情" 1.7895 1.7896 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7897 -#: ../en/ch11-mq.xml:1087 1.7898 +#: ../en/ch11-mq.xml:1085 1.7899 msgid "" 1.7900 "MQ's support for working with a repository full of patches is limited in a " 1.7901 "few small respects." 1.7902 msgstr "" 1.7903 1.7904 #. type: Content of: <book><chapter><sect1><sect2><para> 1.7905 -#: ../en/ch11-mq.xml:1090 1.7906 +#: ../en/ch11-mq.xml:1088 1.7907 msgid "" 1.7908 "MQ cannot automatically detect changes that you make to the patch directory. " 1.7909 "If you <command role=\"hg-cmd\">hg pull</command>, manually edit, or <command " 1.7910 @@ -14998,12 +14978,12 @@ 1.7911 msgstr "" 1.7912 1.7913 #. type: Content of: <book><chapter><sect1><title> 1.7914 -#: ../en/ch11-mq.xml:1106 1.7915 +#: ../en/ch11-mq.xml:1104 1.7916 msgid "Third party tools for working with patches" 1.7917 msgstr "操作补丁的第三方工具" 1.7918 1.7919 #. type: Content of: <book><chapter><sect1><para> 1.7920 -#: ../en/ch11-mq.xml:1108 1.7921 +#: ../en/ch11-mq.xml:1106 1.7922 msgid "" 1.7923 "Once you've been working with patches for a while, you'll find yourself " 1.7924 "hungry for tools that will help you to understand and manipulate the patches " 1.7925 @@ -15011,7 +14991,7 @@ 1.7926 msgstr "" 1.7927 1.7928 #. type: Content of: <book><chapter><sect1><para> 1.7929 -#: ../en/ch11-mq.xml:1112 1.7930 +#: ../en/ch11-mq.xml:1110 1.7931 msgid "" 1.7932 "The <command>diffstat</command> command <citation>web:diffstat</citation> " 1.7933 "generates a histogram of the modifications made to each file in a patch. It " 1.7934 @@ -15024,7 +15004,7 @@ 1.7935 msgstr "" 1.7936 1.7937 #. type: Content of: <book><chapter><sect1><para> 1.7938 -#: ../en/ch11-mq.xml:1126 1.7939 +#: ../en/ch11-mq.xml:1124 1.7940 msgid "" 1.7941 "The <literal role=\"package\">patchutils</literal> package <citation>web:" 1.7942 "patchutils</citation> is invaluable. It provides a set of small utilities " 1.7943 @@ -15034,17 +15014,17 @@ 1.7944 "patch file. For example, given a patch that modifies hundreds of files " 1.7945 "across dozens of directories, a single invocation of <command>filterdiff</" 1.7946 "command> can generate a smaller patch that only touches files whose names " 1.7947 -"match a particular glob pattern. See section <xref linkend=\"mq-collab.tips." 1.7948 -"interdiff\"/> for another example." 1.7949 +"match a particular glob pattern. See <xref linkend=\"mq-collab:tips:interdiff" 1.7950 +"\"/> for another example." 1.7951 msgstr "" 1.7952 1.7953 #. type: Content of: <book><chapter><sect1><title> 1.7954 -#: ../en/ch11-mq.xml:1142 1.7955 +#: ../en/ch11-mq.xml:1140 1.7956 msgid "Good ways to work with patches" 1.7957 msgstr "操作补丁的好习惯" 1.7958 1.7959 #. type: Content of: <book><chapter><sect1><para> 1.7960 -#: ../en/ch11-mq.xml:1144 1.7961 +#: ../en/ch11-mq.xml:1142 1.7962 msgid "" 1.7963 "Whether you are working on a patch series to submit to a free software or " 1.7964 "open source project, or a series that you intend to treat as a sequence of " 1.7965 @@ -15053,7 +15033,7 @@ 1.7966 msgstr "" 1.7967 1.7968 #. type: Content of: <book><chapter><sect1><para> 1.7969 -#: ../en/ch11-mq.xml:1150 1.7970 +#: ../en/ch11-mq.xml:1148 1.7971 msgid "" 1.7972 "Give your patches descriptive names. A good name for a patch might be " 1.7973 "<filename>rework-device-alloc.patch</filename>, because it will immediately " 1.7974 @@ -15067,7 +15047,7 @@ 1.7975 msgstr "" 1.7976 1.7977 #. type: Content of: <book><chapter><sect1><para> 1.7978 -#: ../en/ch11-mq.xml:1162 1.7979 +#: ../en/ch11-mq.xml:1160 1.7980 msgid "" 1.7981 "Be aware of what patch you're working on. Use the <command role=\"hg-ext-mq" 1.7982 "\">qtop</command> command and skim over the text of your patches " 1.7983 @@ -15080,28 +15060,28 @@ 1.7984 msgstr "" 1.7985 1.7986 #. type: Content of: <book><chapter><sect1><para> 1.7987 -#: ../en/ch11-mq.xml:1172 1.7988 +#: ../en/ch11-mq.xml:1170 1.7989 msgid "" 1.7990 "For this reason, it is very much worth investing a little time to learn how " 1.7991 -"to use some of the third-party tools I described in section <xref linkend=" 1.7992 -"\"sec.mq.tools\"/>, particularly <command>diffstat</command> and " 1.7993 -"<command>filterdiff</command>. The former will give you a quick idea of what " 1.7994 -"changes your patch is making, while the latter makes it easy to splice hunks " 1.7995 -"selectively out of one patch and into another." 1.7996 +"to use some of the third-party tools I described in <xref linkend=\"sec:mq:" 1.7997 +"tools\"/>, particularly <command>diffstat</command> and <command>filterdiff</" 1.7998 +"command>. The former will give you a quick idea of what changes your patch " 1.7999 +"is making, while the latter makes it easy to splice hunks selectively out of " 1.8000 +"one patch and into another." 1.8001 msgstr "" 1.8002 1.8003 #. type: Content of: <book><chapter><sect1><title> 1.8004 -#: ../en/ch11-mq.xml:1183 1.8005 +#: ../en/ch11-mq.xml:1181 1.8006 msgid "MQ cookbook" 1.8007 msgstr "MQ 手册" 1.8008 1.8009 #. type: Content of: <book><chapter><sect1><sect2><title> 1.8010 -#: ../en/ch11-mq.xml:1186 1.8011 +#: ../en/ch11-mq.xml:1184 1.8012 msgid "Manage <quote>trivial</quote> patches" 1.8013 msgstr "管理<quote>琐碎的</quote>补丁" 1.8014 1.8015 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8016 -#: ../en/ch11-mq.xml:1188 1.8017 +#: ../en/ch11-mq.xml:1186 1.8018 msgid "" 1.8019 "Because the overhead of dropping files into a new Mercurial repository is so " 1.8020 "low, it makes a lot of sense to manage patches this way even if you simply " 1.8021 @@ -15110,26 +15090,26 @@ 1.8022 1.8023 # 1.8024 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8025 -#: ../en/ch11-mq.xml:1193 1.8026 +#: ../en/ch11-mq.xml:1191 1.8027 msgid "" 1.8028 "Begin by downloading and unpacking the source tarball, and turning it into a " 1.8029 "Mercurial repository." 1.8030 msgstr "" 1.8031 1.8032 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8033 -#: ../en/ch11-mq.xml:1198 1.8034 +#: ../en/ch11-mq.xml:1196 1.8035 msgid "Continue by creating a patch stack and making your changes." 1.8036 msgstr "" 1.8037 1.8038 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8039 -#: ../en/ch11-mq.xml:1203 1.8040 +#: ../en/ch11-mq.xml:1201 1.8041 msgid "" 1.8042 "Let's say a few weeks or months pass, and your package author releases a new " 1.8043 "version. First, bring their changes into the repository." 1.8044 msgstr "" 1.8045 1.8046 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8047 -#: ../en/ch11-mq.xml:1209 1.8048 +#: ../en/ch11-mq.xml:1207 1.8049 msgid "" 1.8050 "The pipeline starting with <command role=\"hg-cmd\">hg locate</command> above " 1.8051 "deletes all files in the working directory, so that <command role=\"hg-cmd" 1.8052 @@ -15139,17 +15119,17 @@ 1.8053 msgstr "" 1.8054 1.8055 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8056 -#: ../en/ch11-mq.xml:1217 1.8057 +#: ../en/ch11-mq.xml:1215 1.8058 msgid "Finally, you can apply your patches on top of the new tree." 1.8059 msgstr "" 1.8060 1.8061 #. type: Content of: <book><chapter><sect1><sect2><title> 1.8062 -#: ../en/ch11-mq.xml:1224 1.8063 +#: ../en/ch11-mq.xml:1222 1.8064 msgid "Combining entire patches" 1.8065 msgstr "组合全部的补丁" 1.8066 1.8067 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8068 -#: ../en/ch11-mq.xml:1226 1.8069 +#: ../en/ch11-mq.xml:1224 1.8070 msgid "" 1.8071 "MQ provides a command, <command role=\"hg-ext-mq\">qfold</command> that lets " 1.8072 "you combine entire patches. This <quote>folds</quote> the patches you name, " 1.8073 @@ -15159,7 +15139,7 @@ 1.8074 msgstr "" 1.8075 1.8076 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8077 -#: ../en/ch11-mq.xml:1234 1.8078 +#: ../en/ch11-mq.xml:1232 1.8079 msgid "" 1.8080 "The order in which you fold patches matters. If your topmost applied patch " 1.8081 "is <literal>foo</literal>, and you <command role=\"hg-ext-mq\">qfold</" 1.8082 @@ -15170,19 +15150,19 @@ 1.8083 msgstr "" 1.8084 1.8085 #. type: Content of: <book><chapter><sect1><sect2><title> 1.8086 -#: ../en/ch11-mq.xml:1245 1.8087 +#: ../en/ch11-mq.xml:1243 1.8088 msgid "Merging part of one patch into another" 1.8089 msgstr "合并补丁的部分内容到其它补丁" 1.8090 1.8091 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8092 -#: ../en/ch11-mq.xml:1247 1.8093 +#: ../en/ch11-mq.xml:1245 1.8094 msgid "" 1.8095 "Merging <emphasis>part</emphasis> of one patch into another is more difficult " 1.8096 "than combining entire patches." 1.8097 msgstr "" 1.8098 1.8099 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8100 -#: ../en/ch11-mq.xml:1251 1.8101 +#: ../en/ch11-mq.xml:1249 1.8102 msgid "" 1.8103 "If you want to move changes to entire files, you can use <command>filterdiff</" 1.8104 "command>'s <option role=\"cmd-opt-filterdiff\">-i</option> and <option role=" 1.8105 @@ -15196,7 +15176,7 @@ 1.8106 msgstr "" 1.8107 1.8108 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8109 -#: ../en/ch11-mq.xml:1264 1.8110 +#: ../en/ch11-mq.xml:1262 1.8111 msgid "" 1.8112 "If you have a patch that has multiple hunks modifying a file, and you only " 1.8113 "want to move a few of those hunks, the job becomes more messy, but you can " 1.8114 @@ -15205,32 +15185,32 @@ 1.8115 msgstr "" 1.8116 1.8117 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8118 -#: ../en/ch11-mq.xml:1272 1.8119 +#: ../en/ch11-mq.xml:1270 1.8120 msgid "This command prints three different kinds of number:" 1.8121 msgstr "" 1.8122 1.8123 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.8124 -#: ../en/ch11-mq.xml:1275 1.8125 +#: ../en/ch11-mq.xml:1273 1.8126 msgid "" 1.8127 "(in the first column) a <emphasis>file number</emphasis> to identify each " 1.8128 "file modified in the patch;" 1.8129 msgstr "" 1.8130 1.8131 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.8132 -#: ../en/ch11-mq.xml:1279 1.8133 +#: ../en/ch11-mq.xml:1277 1.8134 msgid "" 1.8135 "(on the next line, indented) the line number within a modified file where a " 1.8136 "hunk starts; and" 1.8137 msgstr "" 1.8138 1.8139 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.8140 -#: ../en/ch11-mq.xml:1282 1.8141 +#: ../en/ch11-mq.xml:1280 1.8142 msgid "" 1.8143 "(on the same line) a <emphasis>hunk number</emphasis> to identify that hunk." 1.8144 msgstr "" 1.8145 1.8146 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8147 -#: ../en/ch11-mq.xml:1286 1.8148 +#: ../en/ch11-mq.xml:1284 1.8149 msgid "" 1.8150 "You'll have to use some visual inspection, and reading of the patch, to " 1.8151 "identify the file and hunk numbers you'll want, but you can then pass them to " 1.8152 @@ -15240,27 +15220,27 @@ 1.8153 msgstr "" 1.8154 1.8155 #. type: Content of: <book><chapter><sect1><sect2><para> 1.8156 -#: ../en/ch11-mq.xml:1294 1.8157 +#: ../en/ch11-mq.xml:1292 1.8158 msgid "" 1.8159 "Once you have this hunk, you can concatenate it onto the end of your " 1.8160 -"destination patch and continue with the remainder of section <xref linkend=" 1.8161 -"\"sec.mq.combine\"/>." 1.8162 +"destination patch and continue with the remainder of <xref linkend=\"sec:mq:" 1.8163 +"combine\"/>." 1.8164 msgstr "" 1.8165 1.8166 #. type: Content of: <book><chapter><sect1><title> 1.8167 -#: ../en/ch11-mq.xml:1301 1.8168 +#: ../en/ch11-mq.xml:1299 1.8169 msgid "Differences between quilt and MQ" 1.8170 msgstr "MQ 与 quilt 的区别" 1.8171 1.8172 #. type: Content of: <book><chapter><sect1><para> 1.8173 -#: ../en/ch11-mq.xml:1303 1.8174 +#: ../en/ch11-mq.xml:1301 1.8175 msgid "" 1.8176 "If you are already familiar with quilt, MQ provides a similar command set. " 1.8177 "There are a few differences in the way that it works." 1.8178 msgstr "" 1.8179 1.8180 #. type: Content of: <book><chapter><sect1><para> 1.8181 -#: ../en/ch11-mq.xml:1307 1.8182 +#: ../en/ch11-mq.xml:1305 1.8183 msgid "" 1.8184 "You will already have noticed that most quilt commands have MQ counterparts " 1.8185 "that simply begin with a <quote><literal>q</literal></quote>. The exceptions " 1.8186 @@ -15874,10 +15854,10 @@ 1.8187 #: ../en/ch12-mq-collab.xml:436 1.8188 msgid "" 1.8189 "If you're developing a set of patches over a long time, it's a good idea to " 1.8190 -"maintain them in a repository, as discussed in section <xref linkend=\"sec.mq." 1.8191 -"repo\"/>. If you do so, you'll quickly discover that using the <command role=" 1.8192 -"\"hg-cmd\">hg diff</command> command to look at the history of changes to a " 1.8193 -"patch is unworkable. This is in part because you're looking at the second " 1.8194 +"maintain them in a repository, as discussed in <xref linkend=\"sec:mq:repo\"/" 1.8195 +">. If you do so, you'll quickly discover that using the <command role=\"hg-" 1.8196 +"cmd\">hg diff</command> command to look at the history of changes to a patch " 1.8197 +"is unworkable. This is in part because you're looking at the second " 1.8198 "derivative of the real code (a diff of a diff), but also because MQ adds " 1.8199 "noise to the process by modifying time stamps and directory names when it " 1.8200 "updates a patch." 1.8201 @@ -15960,7 +15940,7 @@ 1.8202 msgid "" 1.8203 "The <literal role=\"hg-ext\">extdiff</literal> extension is useful for more " 1.8204 "than merely improving the presentation of MQ patches. To read more about it, " 1.8205 -"go to section <xref linkend=\"sec.hgext.extdiff\"/>." 1.8206 +"go to <xref linkend=\"sec:hgext:extdiff\"/>." 1.8207 msgstr "" 1.8208 1.8209 #. type: Content of: <book><chapter><title> 1.8210 @@ -15989,30 +15969,29 @@ 1.8211 #. type: Content of: <book><chapter><itemizedlist><listitem><para> 1.8212 #: ../en/ch13-hgext.xml:18 1.8213 msgid "" 1.8214 -"Section <xref linkend=\"sec.tour-merge.fetch\"/> covers the <literal role=" 1.8215 -"\"hg-ext\">fetch</literal> extension; this combines pulling new changes and " 1.8216 -"merging them with local changes into a single command, <command role=\"hg-ext-" 1.8217 -"fetch\">fetch</command>." 1.8218 +"<xref linkend=\"sec:tour-merge:fetch\"/> covers the <literal role=\"hg-ext" 1.8219 +"\">fetch</literal> extension; this combines pulling new changes and merging " 1.8220 +"them with local changes into a single command, <command role=\"hg-ext-fetch" 1.8221 +"\">fetch</command>." 1.8222 msgstr "" 1.8223 1.8224 #. type: Content of: <book><chapter><itemizedlist><listitem><para> 1.8225 #: ../en/ch13-hgext.xml:24 1.8226 msgid "" 1.8227 -"In chapter <xref linkend=\"chap.hook\"/>, we covered several extensions that " 1.8228 -"are useful for hook-related functionality: <literal role=\"hg-ext\">acl</" 1.8229 -"literal> adds access control lists; <literal role=\"hg-ext\">bugzilla</" 1.8230 -"literal> adds integration with the Bugzilla bug tracking system; and <literal " 1.8231 -"role=\"hg-ext\">notify</literal> sends notification emails on new changes." 1.8232 +"In <xref linkend=\"chap:hook\"/>, we covered several extensions that are " 1.8233 +"useful for hook-related functionality: <literal role=\"hg-ext\">acl</literal> " 1.8234 +"adds access control lists; <literal role=\"hg-ext\">bugzilla</literal> adds " 1.8235 +"integration with the Bugzilla bug tracking system; and <literal role=\"hg-ext" 1.8236 +"\">notify</literal> sends notification emails on new changes." 1.8237 msgstr "" 1.8238 1.8239 #. type: Content of: <book><chapter><itemizedlist><listitem><para> 1.8240 #: ../en/ch13-hgext.xml:33 1.8241 msgid "" 1.8242 "The Mercurial Queues patch management extension is so invaluable that it " 1.8243 -"merits two chapters and an appendix all to itself. Chapter <xref linkend=" 1.8244 -"\"chap.mq\"/> covers the basics; chapter <xref linkend=\"chap.mq-collab\"/> " 1.8245 -"discusses advanced topics; and appendix <xref linkend=\"chap.mqref\"/> goes " 1.8246 -"into detail on each command." 1.8247 +"merits two chapters and an appendix all to itself. <xref linkend=\"chap:mq\"/" 1.8248 +"> covers the basics; <xref linkend=\"chap:mq-collab\"/> discusses advanced " 1.8249 +"topics; and <xref linkend=\"chap:mqref\"/> goes into detail on each command." 1.8250 msgstr "" 1.8251 1.8252 #. type: Content of: <book><chapter><para> 1.8253 @@ -16026,9 +16005,9 @@ 1.8254 #. type: Content of: <book><chapter><itemizedlist><listitem><para> 1.8255 #: ../en/ch13-hgext.xml:48 1.8256 msgid "" 1.8257 -"In section <xref linkend=\"sec.hgext.inotify\"/>, we'll discuss the " 1.8258 -"possibility of <emphasis>huge</emphasis> performance improvements using the " 1.8259 -"<literal role=\"hg-ext\">inotify</literal> extension." 1.8260 +"In <xref linkend=\"sec:hgext:inotify\"/>, we'll discuss the possibility of " 1.8261 +"<emphasis>huge</emphasis> performance improvements using the <literal role=" 1.8262 +"\"hg-ext\">inotify</literal> extension." 1.8263 msgstr "" 1.8264 1.8265 #. type: Content of: <book><chapter><sect1><title> 1.8266 @@ -16209,8 +16188,8 @@ 1.8267 #: ../en/ch13-hgext.xml:184 1.8268 msgid "" 1.8269 "Make sure that you have the Mercurial Queues extension, <literal role=\"hg-ext" 1.8270 -"\">mq</literal>, enabled. If you've never used MQ, read section <xref " 1.8271 -"linkend=\"sec.mq.start\"/> to get started quickly." 1.8272 +"\">mq</literal>, enabled. If you've never used MQ, read <xref linkend=\"sec:" 1.8273 +"mq:start\"/> to get started quickly." 1.8274 msgstr "" 1.8275 1.8276 #. type: Content of: <book><chapter><sect1><orderedlist><listitem><para> 1.8277 @@ -16420,8 +16399,8 @@ 1.8278 "If your diff viewing command can't deal with directories, you can easily work " 1.8279 "around this with a little scripting. For an example of such scripting in " 1.8280 "action with the <literal role=\"hg-ext\">mq</literal> extension and the " 1.8281 -"<command>interdiff</command> command, see section <xref linkend=\"mq-collab." 1.8282 -"tips.interdiff\"/>." 1.8283 +"<command>interdiff</command> command, see <xref linkend=\"mq-collab:tips:" 1.8284 +"interdiff\"/>." 1.8285 msgstr "" 1.8286 1.8287 #. type: Content of: <book><chapter><sect1><sect2><title> 1.8288 @@ -16622,10 +16601,10 @@ 1.8289 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 1.8290 #: ../en/ch13-hgext.xml:504 1.8291 msgid "" 1.8292 -"The default behaviour is to send unified diffs (see section <xref linkend=" 1.8293 -"\"sec.mq.patch\"/> for a description of the format), one per message. You " 1.8294 -"can send a binary bundle instead with the <option role=\"hg-ext-patchbomb-cmd-" 1.8295 -"email-opt\">hg -b</option> option." 1.8296 +"The default behaviour is to send unified diffs (see <xref linkend=\"sec:mq:" 1.8297 +"patch\"/> for a description of the format), one per message. You can send a " 1.8298 +"binary bundle instead with the <option role=\"hg-ext-patchbomb-cmd-email-opt" 1.8299 +"\">hg -b</option> option." 1.8300 msgstr "" 1.8301 1.8302 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>