comparison po/zh.po @ 766:3b33dd6aba87

Merge with http://hg.serpentine.com/mercurial/book
author Dongsheng Song <songdongsheng@live.cn>
date Thu, 02 Apr 2009 09:24:36 +0800
parents 53f179393f5c
children 55e2953f82d6
comparison
equal deleted inserted replaced
765:d8c85d831fb4 766:3b33dd6aba87
39 # ... 39 # ...
40 # 40 #
41 msgid "" 41 msgid ""
42 msgstr "" 42 msgstr ""
43 "Project-Id-Version: hgbook 1.2\n" 43 "Project-Id-Version: hgbook 1.2\n"
44 "POT-Creation-Date: 2009-03-31 10:46+0800\n" 44 "POT-Creation-Date: 2009-04-02 09:21+0800\n"
45 "PO-Revision-Date: 2009-03-31 10:12+0800\n" 45 "PO-Revision-Date: 2009-03-31 10:12+0800\n"
46 "Last-Translator: \n" 46 "Last-Translator: \n"
47 "Language-Team: Simplified Chinese <i18n-zh@googlegroups.com >\n" 47 "Language-Team: Simplified Chinese <i18n-zh@googlegroups.com >\n"
48 "MIME-Version: 1.0\n" 48 "MIME-Version: 1.0\n"
49 "Content-Type: text/plain; charset=UTF-8\n" 49 "Content-Type: text/plain; charset=UTF-8\n"
60 #. type: Content of: <book><subtitle> 60 #. type: Content of: <book><subtitle>
61 #: ../en/00book.xml:46 61 #: ../en/00book.xml:46
62 msgid "Compiled from $rev_id$" 62 msgid "Compiled from $rev_id$"
63 msgstr "编译自 $rev_id$" 63 msgstr "编译自 $rev_id$"
64 64
65 #. type: Content of: <book><bookinfo>
66 #: ../en/00book.xml:48
67 msgid "<edition>1</edition> <isbn>9780596800673</isbn>"
68 msgstr ""
69
65 #. type: Content of: <book><bookinfo><authorgroup><author><firstname> 70 #. type: Content of: <book><bookinfo><authorgroup><author><firstname>
66 #: ../en/00book.xml:50 71 #: ../en/00book.xml:52
67 msgid "Bryan" 72 msgid "Bryan"
68 msgstr "Bryan" 73 msgstr "Bryan"
69 74
70 #. type: Content of: <book><bookinfo><authorgroup><author><surname> 75 #. type: Content of: <book><bookinfo><authorgroup><author><surname>
71 #: ../en/00book.xml:51 76 #: ../en/00book.xml:53
72 msgid "O'Sullivan" 77 msgid "O'Sullivan"
73 msgstr "O'Sullivan" 78 msgstr "O'Sullivan"
74 79
75 #. type: Content of: <book><bookinfo> 80 #. type: Content of: <book><bookinfo>
76 #: ../en/00book.xml:55 81 #: ../en/00book.xml:57
77 msgid "" 82 msgid ""
78 "<editor> <firstname>Mike</firstname> <surname>Loukides</surname> </editor> " 83 "<editor> <firstname>Mike</firstname> <surname>Loukides</surname> </editor> "
79 "<copyright> <year>2006</year> <year>2007</year> <year>2008</year> <year>2009</" 84 "<copyright> <year>2006</year> <year>2007</year> <year>2008</year> <year>2009</"
80 "year> <holder>Bryan O'Sullivan</holder> </copyright>" 85 "year> <holder>Bryan O'Sullivan</holder> </copyright>"
81 msgstr "" 86 msgstr ""
434 "\"hg-cmd\">hg help mq</command>." 439 "\"hg-cmd\">hg help mq</command>."
435 msgstr "" 440 msgstr ""
436 441
437 #. type: Content of: <book><appendix><sect1><sect2><title> 442 #. type: Content of: <book><appendix><sect1><sect2><title>
438 #: ../en/appB-mq-ref.xml:14 443 #: ../en/appB-mq-ref.xml:14
444 #, fuzzy
439 msgid "<command role=\"hg-ext-mq\">qapplied</command>—print applied patches" 445 msgid "<command role=\"hg-ext-mq\">qapplied</command>—print applied patches"
440 msgstr "<command role=\"hg-ext-mq\">qapplied</command>—显示已应用的补丁" 446 msgstr "<command role=\"hg-ext-mq\">qapplied</command>—显示已应用的补丁"
441 447
442 #. type: Content of: <book><appendix><sect1><sect2><para> 448 #. type: Content of: <book><appendix><sect1><sect2><para>
443 #: ../en/appB-mq-ref.xml:17 449 #: ../en/appB-mq-ref.xml:17
447 "the last patch in the list is the <quote>top</quote> patch." 453 "the last patch in the list is the <quote>top</quote> patch."
448 msgstr "" 454 msgstr ""
449 455
450 #. type: Content of: <book><appendix><sect1><sect2><title> 456 #. type: Content of: <book><appendix><sect1><sect2><title>
451 #: ../en/appB-mq-ref.xml:24 457 #: ../en/appB-mq-ref.xml:24
458 #, fuzzy
452 msgid "" 459 msgid ""
453 "<command role=\"hg-ext-mq\">qcommit</command>—commit changes in the queue " 460 "<command role=\"hg-ext-mq\">qcommit</command>—commit changes in the queue "
454 "repository" 461 "repository"
455 msgstr "<command role=\"hg-ext-mq\">qcommit</command>—提交队列中的修改" 462 msgstr "<command role=\"hg-ext-mq\">qcommit</command>—提交队列中的修改"
456 463
474 "patches</command>." 481 "patches</command>."
475 msgstr "" 482 msgstr ""
476 483
477 #. type: Content of: <book><appendix><sect1><sect2><title> 484 #. type: Content of: <book><appendix><sect1><sect2><title>
478 #: ../en/appB-mq-ref.xml:43 485 #: ../en/appB-mq-ref.xml:43
486 #, fuzzy
479 msgid "" 487 msgid ""
480 "<command role=\"hg-ext-mq\">qdelete</command>—delete a patch from the " 488 "<command role=\"hg-ext-mq\">qdelete</command>—delete a patch from the "
481 "<filename role=\"special\">series</filename> file" 489 "<filename role=\"special\">series</filename> file"
482 msgstr "" 490 msgstr ""
483 "<command role=\"hg-ext-mq\">qdelete</command>—从文件 <filename role=\"special" 491 "<command role=\"hg-ext-mq\">qdelete</command>—从文件 <filename role=\"special"
508 "<option role=\"hg-ext-mq-cmd-qdel-opt\">-f</option>: Delete the patch file." 516 "<option role=\"hg-ext-mq-cmd-qdel-opt\">-f</option>: Delete the patch file."
509 msgstr "" 517 msgstr ""
510 518
511 #. type: Content of: <book><appendix><sect1><sect2><title> 519 #. type: Content of: <book><appendix><sect1><sect2><title>
512 #: ../en/appB-mq-ref.xml:66 520 #: ../en/appB-mq-ref.xml:66
521 #, fuzzy
513 msgid "" 522 msgid ""
514 "<command role=\"hg-ext-mq\">qdiff</command>—print a diff of the topmost " 523 "<command role=\"hg-ext-mq\">qdiff</command>—print a diff of the topmost "
515 "applied patch" 524 "applied patch"
516 msgstr "<command role=\"hg-ext-mq\">qdiff</command>—显示最新应用补丁的差异" 525 msgstr "<command role=\"hg-ext-mq\">qdiff</command>—显示最新应用补丁的差异"
517 526
523 "r-2:-1</command>." 532 "r-2:-1</command>."
524 msgstr "" 533 msgstr ""
525 534
526 #. type: Content of: <book><appendix><sect1><sect2><title> 535 #. type: Content of: <book><appendix><sect1><sect2><title>
527 #: ../en/appB-mq-ref.xml:75 536 #: ../en/appB-mq-ref.xml:75
537 #, fuzzy
528 msgid "" 538 msgid ""
529 "<command role=\"hg-ext-mq\">qfold</command>—merge (<quote>fold</quote>) " 539 "<command role=\"hg-ext-mq\">qfold</command>—merge (<quote>fold</quote>) "
530 "several patches into one" 540 "several patches into one"
531 msgstr "" 541 msgstr ""
532 "<command role=\"hg-ext-mq\">qfold</command>—将多个补丁合并(<quote>折叠</" 542 "<command role=\"hg-ext-mq\">qfold</command>—将多个补丁合并(<quote>折叠</"
582 "the new commit message and patch description for the folded patch." 592 "the new commit message and patch description for the folded patch."
583 msgstr "" 593 msgstr ""
584 594
585 #. type: Content of: <book><appendix><sect1><sect2><title> 595 #. type: Content of: <book><appendix><sect1><sect2><title>
586 #: ../en/appB-mq-ref.xml:119 596 #: ../en/appB-mq-ref.xml:119
597 #, fuzzy
587 msgid "" 598 msgid ""
588 "<command role=\"hg-ext-mq\">qheader</command>—display the header/description " 599 "<command role=\"hg-ext-mq\">qheader</command>—display the header/description "
589 "of a patch" 600 "of a patch"
590 msgstr "<command role=\"hg-ext-mq\">qheader</command>—显示补丁头部描述" 601 msgstr "<command role=\"hg-ext-mq\">qheader</command>—显示补丁头部描述"
591 602
597 "applied patch. Given an argument, it prints the header of the named patch." 608 "applied patch. Given an argument, it prints the header of the named patch."
598 msgstr "" 609 msgstr ""
599 610
600 #. type: Content of: <book><appendix><sect1><sect2><title> 611 #. type: Content of: <book><appendix><sect1><sect2><title>
601 #: ../en/appB-mq-ref.xml:130 612 #: ../en/appB-mq-ref.xml:130
613 #, fuzzy
602 msgid "" 614 msgid ""
603 "<command role=\"hg-ext-mq\">qimport</command>—import a third-party patch into " 615 "<command role=\"hg-ext-mq\">qimport</command>—import a third-party patch into "
604 "the queue" 616 "the queue"
605 msgstr "<command role=\"hg-ext-mq\">qimport</command>—将第三方补丁导入队列" 617 msgstr "<command role=\"hg-ext-mq\">qimport</command>—将第三方补丁导入队列"
606 618
623 "imported patch." 635 "imported patch."
624 msgstr "" 636 msgstr ""
625 637
626 #. type: Content of: <book><appendix><sect1><sect2><title> 638 #. type: Content of: <book><appendix><sect1><sect2><title>
627 #: ../en/appB-mq-ref.xml:149 639 #: ../en/appB-mq-ref.xml:149
640 #, fuzzy
628 msgid "" 641 msgid ""
629 "<command role=\"hg-ext-mq\">qinit</command>—prepare a repository to work with " 642 "<command role=\"hg-ext-mq\">qinit</command>—prepare a repository to work with "
630 "MQ" 643 "MQ"
631 msgstr "<command role=\"hg-ext-mq\">qinit</command>—为使用 MQ 配置版本库" 644 msgstr "<command role=\"hg-ext-mq\">qinit</command>—为使用 MQ 配置版本库"
632 645
656 "automatically <command role=\"hg-cmd\">hg add</command> new patches." 669 "automatically <command role=\"hg-cmd\">hg add</command> new patches."
657 msgstr "" 670 msgstr ""
658 671
659 #. type: Content of: <book><appendix><sect1><sect2><title> 672 #. type: Content of: <book><appendix><sect1><sect2><title>
660 #: ../en/appB-mq-ref.xml:178 673 #: ../en/appB-mq-ref.xml:178
674 #, fuzzy
661 msgid "<command role=\"hg-ext-mq\">qnew</command>—create a new patch" 675 msgid "<command role=\"hg-ext-mq\">qnew</command>—create a new patch"
662 msgstr "<command role=\"hg-ext-mq\">qnew</command>—创建新补丁" 676 msgstr "<command role=\"hg-ext-mq\">qnew</command>—创建新补丁"
663 677
664 #. type: Content of: <book><appendix><sect1><sect2><para> 678 #. type: Content of: <book><appendix><sect1><sect2><para>
665 #: ../en/appB-mq-ref.xml:181 679 #: ../en/appB-mq-ref.xml:181
698 "file, before the patch data." 712 "file, before the patch data."
699 msgstr "" 713 msgstr ""
700 714
701 #. type: Content of: <book><appendix><sect1><sect2><title> 715 #. type: Content of: <book><appendix><sect1><sect2><title>
702 #: ../en/appB-mq-ref.xml:215 716 #: ../en/appB-mq-ref.xml:215
717 #, fuzzy
703 msgid "" 718 msgid ""
704 "<command role=\"hg-ext-mq\">qnext</command>—print the name of the next patch" 719 "<command role=\"hg-ext-mq\">qnext</command>—print the name of the next patch"
705 msgstr "<command role=\"hg-ext-mq\">qnext</command>—显示下个补丁的名称" 720 msgstr "<command role=\"hg-ext-mq\">qnext</command>—显示下个补丁的名称"
706 721
707 #. type: Content of: <book><appendix><sect1><sect2><para> 722 #. type: Content of: <book><appendix><sect1><sect2><para>
713 "patch if you run <command role=\"hg-ext-mq\">qpush</command>." 728 "patch if you run <command role=\"hg-ext-mq\">qpush</command>."
714 msgstr "" 729 msgstr ""
715 730
716 #. type: Content of: <book><appendix><sect1><sect2><title> 731 #. type: Content of: <book><appendix><sect1><sect2><title>
717 #: ../en/appB-mq-ref.xml:227 732 #: ../en/appB-mq-ref.xml:227
733 #, fuzzy
718 msgid "<command role=\"hg-ext-mq\">qpop</command>—pop patches off the stack" 734 msgid "<command role=\"hg-ext-mq\">qpop</command>—pop patches off the stack"
719 msgstr "<command role=\"hg-ext-mq\">qpop</command>—删除堆栈顶部的补丁" 735 msgstr "<command role=\"hg-ext-mq\">qpop</command>—删除堆栈顶部的补丁"
720 736
721 #. type: Content of: <book><appendix><sect1><sect2><para> 737 #. type: Content of: <book><appendix><sect1><sect2><para>
722 #: ../en/appB-mq-ref.xml:230 738 #: ../en/appB-mq-ref.xml:230
796 "patch that it pops." 812 "patch that it pops."
797 msgstr "" 813 msgstr ""
798 814
799 #. type: Content of: <book><appendix><sect1><sect2><title> 815 #. type: Content of: <book><appendix><sect1><sect2><title>
800 #: ../en/appB-mq-ref.xml:288 816 #: ../en/appB-mq-ref.xml:288
817 #, fuzzy
801 msgid "" 818 msgid ""
802 "<command role=\"hg-ext-mq\">qprev</command>—print the name of the previous " 819 "<command role=\"hg-ext-mq\">qprev</command>—print the name of the previous "
803 "patch" 820 "patch"
804 msgstr "<command role=\"hg-ext-mq\">qprev</command>—显示上个补丁的名称" 821 msgstr "<command role=\"hg-ext-mq\">qprev</command>—显示上个补丁的名称"
805 822
812 "if you run <command role=\"hg-ext-mq\">qpop</command>." 829 "if you run <command role=\"hg-ext-mq\">qpop</command>."
813 msgstr "" 830 msgstr ""
814 831
815 #. type: Content of: <book><appendix><sect1><sect2><title> 832 #. type: Content of: <book><appendix><sect1><sect2><title>
816 #: ../en/appB-mq-ref.xml:300 833 #: ../en/appB-mq-ref.xml:300
834 #, fuzzy
817 msgid "<command role=\"hg-ext-mq\">qpush</command>—push patches onto the stack" 835 msgid "<command role=\"hg-ext-mq\">qpush</command>—push patches onto the stack"
818 msgstr "<command role=\"hg-ext-mq\">qpush</command>—增加补丁到堆栈" 836 msgstr "<command role=\"hg-ext-mq\">qpush</command>—增加补丁到堆栈"
819 837
820 #. type: Content of: <book><appendix><sect1><sect2><para> 838 #. type: Content of: <book><appendix><sect1><sect2><para>
821 #: ../en/appB-mq-ref.xml:303 839 #: ../en/appB-mq-ref.xml:303
909 "patch that it pushes." 927 "patch that it pushes."
910 msgstr "" 928 msgstr ""
911 929
912 #. type: Content of: <book><appendix><sect1><sect2><title> 930 #. type: Content of: <book><appendix><sect1><sect2><title>
913 #: ../en/appB-mq-ref.xml:368 931 #: ../en/appB-mq-ref.xml:368
932 #, fuzzy
914 msgid "" 933 msgid ""
915 "<command role=\"hg-ext-mq\">qrefresh</command>—update the topmost applied " 934 "<command role=\"hg-ext-mq\">qrefresh</command>—update the topmost applied "
916 "patch" 935 "patch"
917 msgstr "<command role=\"hg-ext-mq\">qrefresh</command>—更新最新的补丁" 936 msgstr "<command role=\"hg-ext-mq\">qrefresh</command>—更新最新的补丁"
918 937
986 "message and patch description, using text from the given file." 1005 "message and patch description, using text from the given file."
987 msgstr "" 1006 msgstr ""
988 1007
989 #. type: Content of: <book><appendix><sect1><sect2><title> 1008 #. type: Content of: <book><appendix><sect1><sect2><title>
990 #: ../en/appB-mq-ref.xml:424 1009 #: ../en/appB-mq-ref.xml:424
1010 #, fuzzy
991 msgid "<command role=\"hg-ext-mq\">qrename</command>—rename a patch" 1011 msgid "<command role=\"hg-ext-mq\">qrename</command>—rename a patch"
992 msgstr "<command role=\"hg-ext-mq\">qrename</command>—改名补丁" 1012 msgstr "<command role=\"hg-ext-mq\">qrename</command>—改名补丁"
993 1013
994 #. type: Content of: <book><appendix><sect1><sect2><para> 1014 #. type: Content of: <book><appendix><sect1><sect2><para>
995 #: ../en/appB-mq-ref.xml:427 1015 #: ../en/appB-mq-ref.xml:427
1007 "to its second." 1027 "to its second."
1008 msgstr "" 1028 msgstr ""
1009 1029
1010 #. type: Content of: <book><appendix><sect1><sect2><title> 1030 #. type: Content of: <book><appendix><sect1><sect2><title>
1011 #: ../en/appB-mq-ref.xml:438 1031 #: ../en/appB-mq-ref.xml:438
1032 #, fuzzy
1012 msgid "<command role=\"hg-ext-mq\">qrestore</command>—restore saved queue state" 1033 msgid "<command role=\"hg-ext-mq\">qrestore</command>—restore saved queue state"
1013 msgstr "<command role=\"hg-ext-mq\">qrestore</command>—恢复保存的队列" 1034 msgstr "<command role=\"hg-ext-mq\">qrestore</command>—恢复保存的队列"
1014 1035
1015 #. type: Content of: <book><appendix><sect1><sect2><para> 1036 #. type: Content of: <book><appendix><sect1><sect2><para>
1016 #: ../en/appB-mq-ref.xml:442 1037 #: ../en/appB-mq-ref.xml:442
1017 msgid "XXX No idea what this does." 1038 msgid "XXX No idea what this does."
1018 msgstr "" 1039 msgstr ""
1019 1040
1020 #. type: Content of: <book><appendix><sect1><sect2><title> 1041 #. type: Content of: <book><appendix><sect1><sect2><title>
1021 #: ../en/appB-mq-ref.xml:446 1042 #: ../en/appB-mq-ref.xml:446
1043 #, fuzzy
1022 msgid "<command role=\"hg-ext-mq\">qsave</command>—save current queue state" 1044 msgid "<command role=\"hg-ext-mq\">qsave</command>—save current queue state"
1023 msgstr "<command role=\"hg-ext-mq\">qsave</command>—保存当前的队列状态" 1045 msgstr "<command role=\"hg-ext-mq\">qsave</command>—保存当前的队列状态"
1024 1046
1025 #. type: Content of: <book><appendix><sect1><sect2><para> 1047 #. type: Content of: <book><appendix><sect1><sect2><para>
1026 #: ../en/appB-mq-ref.xml:449 1048 #: ../en/appB-mq-ref.xml:449
1027 msgid "XXX Likewise." 1049 msgid "XXX Likewise."
1028 msgstr "" 1050 msgstr ""
1029 1051
1030 #. type: Content of: <book><appendix><sect1><sect2><title> 1052 #. type: Content of: <book><appendix><sect1><sect2><title>
1031 #: ../en/appB-mq-ref.xml:453 1053 #: ../en/appB-mq-ref.xml:453
1054 #, fuzzy
1032 msgid "" 1055 msgid ""
1033 "<command role=\"hg-ext-mq\">qseries</command>—print the entire patch series" 1056 "<command role=\"hg-ext-mq\">qseries</command>—print the entire patch series"
1034 msgstr "<command role=\"hg-ext-mq\">qseries</command>—显示补丁序列" 1057 msgstr "<command role=\"hg-ext-mq\">qseries</command>—显示补丁序列"
1035 1058
1036 #. type: Content of: <book><appendix><sect1><sect2><para> 1059 #. type: Content of: <book><appendix><sect1><sect2><para>
1042 "from first to be applied to last." 1065 "from first to be applied to last."
1043 msgstr "" 1066 msgstr ""
1044 1067
1045 #. type: Content of: <book><appendix><sect1><sect2><title> 1068 #. type: Content of: <book><appendix><sect1><sect2><title>
1046 #: ../en/appB-mq-ref.xml:464 1069 #: ../en/appB-mq-ref.xml:464
1070 #, fuzzy
1047 msgid "" 1071 msgid ""
1048 "<command role=\"hg-ext-mq\">qtop</command>—print the name of the current patch" 1072 "<command role=\"hg-ext-mq\">qtop</command>—print the name of the current patch"
1049 msgstr "<command role=\"hg-ext-mq\">qtop</command>—显示当前补丁的名称" 1073 msgstr "<command role=\"hg-ext-mq\">qtop</command>—显示当前补丁的名称"
1050 1074
1051 #. type: Content of: <book><appendix><sect1><sect2><para> 1075 #. type: Content of: <book><appendix><sect1><sect2><para>
1055 "currently applied patch." 1079 "currently applied patch."
1056 msgstr "" 1080 msgstr ""
1057 1081
1058 #. type: Content of: <book><appendix><sect1><sect2><title> 1082 #. type: Content of: <book><appendix><sect1><sect2><title>
1059 #: ../en/appB-mq-ref.xml:472 1083 #: ../en/appB-mq-ref.xml:472
1084 #, fuzzy
1060 msgid "" 1085 msgid ""
1061 "<command role=\"hg-ext-mq\">qunapplied</command>—print patches not yet applied" 1086 "<command role=\"hg-ext-mq\">qunapplied</command>—print patches not yet applied"
1062 msgstr "<command role=\"hg-ext-mq\">qunapplied</command>—显示尚未应用的补丁" 1087 msgstr "<command role=\"hg-ext-mq\">qunapplied</command>—显示尚未应用的补丁"
1063 1088
1064 #. type: Content of: <book><appendix><sect1><sect2><para> 1089 #. type: Content of: <book><appendix><sect1><sect2><para>
1070 "be pushed to the last." 1095 "be pushed to the last."
1071 msgstr "" 1096 msgstr ""
1072 1097
1073 #. type: Content of: <book><appendix><sect1><sect2><title> 1098 #. type: Content of: <book><appendix><sect1><sect2><title>
1074 #: ../en/appB-mq-ref.xml:484 1099 #: ../en/appB-mq-ref.xml:484
1100 #, fuzzy
1075 msgid "" 1101 msgid ""
1076 "<command role=\"hg-cmd\">hg strip</command>—remove a revision and descendants" 1102 "<command role=\"hg-cmd\">hg strip</command>—remove a revision and descendants"
1077 msgstr "<command role=\"hg-cmd\">hg strip</command>—删除一个版本及其后继" 1103 msgstr "<command role=\"hg-cmd\">hg strip</command>—删除一个版本及其后继"
1078 1104
1079 #. type: Content of: <book><appendix><sect1><sect2><para> 1105 #. type: Content of: <book><appendix><sect1><sect2><para>
1604 msgstr "" 1630 msgstr ""
1605 1631
1606 #. type: Content of: <book><preface><sect1><sect2><para> 1632 #. type: Content of: <book><preface><sect1><sect2><para>
1607 #: ../en/ch00-preface.xml:71 1633 #: ../en/ch00-preface.xml:71
1608 msgid "" 1634 msgid ""
1609 "Most of these reasons are equally valid---at least in theory---whether you're " 1635 "Most of these reasons are equally valid—at least in theory&emdash;whether "
1610 "working on a project by yourself, or with a hundred other people." 1636 "you're working on a project by yourself, or with a hundred other people."
1611 msgstr "" 1637 msgstr ""
1612 1638
1613 #. type: Content of: <book><preface><sect1><sect2><para> 1639 #. type: Content of: <book><preface><sect1><sect2><para>
1614 #: ../en/ch00-preface.xml:75 1640 #: ../en/ch00-preface.xml:76
1615 msgid "" 1641 msgid ""
1616 "A key question about the practicality of revision control at these two " 1642 "A key question about the practicality of revision control at these two "
1617 "different scales (<quote>lone hacker</quote> and <quote>huge team</quote>) is " 1643 "different scales (<quote>lone hacker</quote> and <quote>huge team</quote>) is "
1618 "how its <emphasis>benefits</emphasis> compare to its <emphasis>costs</" 1644 "how its <emphasis>benefits</emphasis> compare to its <emphasis>costs</"
1619 "emphasis>. A revision control tool that's difficult to understand or use is " 1645 "emphasis>. A revision control tool that's difficult to understand or use is "
1620 "going to impose a high cost." 1646 "going to impose a high cost."
1621 msgstr "" 1647 msgstr ""
1622 1648
1623 #. type: Content of: <book><preface><sect1><sect2><para> 1649 #. type: Content of: <book><preface><sect1><sect2><para>
1624 #: ../en/ch00-preface.xml:83 1650 #: ../en/ch00-preface.xml:84
1625 msgid "" 1651 msgid ""
1626 "A five-hundred-person project is likely to collapse under its own weight " 1652 "A five-hundred-person project is likely to collapse under its own weight "
1627 "almost immediately without a revision control tool and process. In this case, " 1653 "almost immediately without a revision control tool and process. In this case, "
1628 "the cost of using revision control might hardly seem worth considering, since " 1654 "the cost of using revision control might hardly seem worth considering, since "
1629 "<emphasis>without</emphasis> it, failure is almost guaranteed." 1655 "<emphasis>without</emphasis> it, failure is almost guaranteed."
1630 msgstr "" 1656 msgstr ""
1631 1657
1632 #. type: Content of: <book><preface><sect1><sect2><para> 1658 #. type: Content of: <book><preface><sect1><sect2><para>
1633 #: ../en/ch00-preface.xml:90 1659 #: ../en/ch00-preface.xml:91
1634 msgid "" 1660 msgid ""
1635 "On the other hand, a one-person <quote>quick hack</quote> might seem like a " 1661 "On the other hand, a one-person <quote>quick hack</quote> might seem like a "
1636 "poor place to use a revision control tool, because surely the cost of using " 1662 "poor place to use a revision control tool, because surely the cost of using "
1637 "one must be close to the overall cost of the project. Right?" 1663 "one must be close to the overall cost of the project. Right?"
1638 msgstr "" 1664 msgstr ""
1639 1665
1640 #. type: Content of: <book><preface><sect1><sect2><para> 1666 #. type: Content of: <book><preface><sect1><sect2><para>
1641 #: ../en/ch00-preface.xml:95 1667 #: ../en/ch00-preface.xml:96
1642 msgid "" 1668 msgid ""
1643 "Mercurial uniquely supports <emphasis>both</emphasis> of these scales of " 1669 "Mercurial uniquely supports <emphasis>both</emphasis> of these scales of "
1644 "development. You can learn the basics in just a few minutes, and due to its " 1670 "development. You can learn the basics in just a few minutes, and due to its "
1645 "low overhead, you can apply revision control to the smallest of projects with " 1671 "low overhead, you can apply revision control to the smallest of projects with "
1646 "ease. Its simplicity means you won't have a lot of abstruse concepts or " 1672 "ease. Its simplicity means you won't have a lot of abstruse concepts or "
1649 "performance and peer-to-peer nature let you scale painlessly to handle large " 1675 "performance and peer-to-peer nature let you scale painlessly to handle large "
1650 "projects." 1676 "projects."
1651 msgstr "" 1677 msgstr ""
1652 1678
1653 #. type: Content of: <book><preface><sect1><sect2><para> 1679 #. type: Content of: <book><preface><sect1><sect2><para>
1654 #: ../en/ch00-preface.xml:105 1680 #: ../en/ch00-preface.xml:106
1655 msgid "" 1681 msgid ""
1656 "No revision control tool can rescue a poorly run project, but a good choice " 1682 "No revision control tool can rescue a poorly run project, but a good choice "
1657 "of tools can make a huge difference to the fluidity with which you can work " 1683 "of tools can make a huge difference to the fluidity with which you can work "
1658 "on a project." 1684 "on a project."
1659 msgstr "" 1685 msgstr ""
1660 1686
1661 #. type: Content of: <book><preface><sect1><sect2><title> 1687 #. type: Content of: <book><preface><sect1><sect2><title>
1662 #: ../en/ch00-preface.xml:112 1688 #: ../en/ch00-preface.xml:113
1663 msgid "The many names of revision control" 1689 msgid "The many names of revision control"
1664 msgstr "版本控制的别名" 1690 msgstr "版本控制的别名"
1665 1691
1666 #. type: Content of: <book><preface><sect1><sect2><para> 1692 #. type: Content of: <book><preface><sect1><sect2><para>
1667 #: ../en/ch00-preface.xml:114 1693 #: ../en/ch00-preface.xml:115
1668 msgid "" 1694 msgid ""
1669 "Revision control is a diverse field, so much so that it is referred to by " 1695 "Revision control is a diverse field, so much so that it is referred to by "
1670 "many names and acronyms. Here are a few of the more common variations you'll " 1696 "many names and acronyms. Here are a few of the more common variations you'll "
1671 "encounter:" 1697 "encounter:"
1672 msgstr "" 1698 msgstr ""
1673 1699
1674 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para> 1700 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
1675 #: ../en/ch00-preface.xml:118 1701 #: ../en/ch00-preface.xml:119
1676 msgid "Revision control (RCS)" 1702 msgid "Revision control (RCS)"
1677 msgstr "版本控制(RCS)" 1703 msgstr "版本控制(RCS)"
1678 1704
1679 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para> 1705 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
1680 #: ../en/ch00-preface.xml:119 1706 #: ../en/ch00-preface.xml:120
1681 msgid "Software configuration management (SCM), or configuration management" 1707 msgid "Software configuration management (SCM), or configuration management"
1682 msgstr "软件配置管理(SCM),或配置管理" 1708 msgstr "软件配置管理(SCM),或配置管理"
1683 1709
1684 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para> 1710 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
1685 #: ../en/ch00-preface.xml:121 1711 #: ../en/ch00-preface.xml:122
1686 msgid "Source code management" 1712 msgid "Source code management"
1687 msgstr "源代码管理" 1713 msgstr "源代码管理"
1688 1714
1689 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para> 1715 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
1690 #: ../en/ch00-preface.xml:122 1716 #: ../en/ch00-preface.xml:123
1691 msgid "Source code control, or source control" 1717 msgid "Source code control, or source control"
1692 msgstr "源代码控制,或源控制" 1718 msgstr "源代码控制,或源控制"
1693 1719
1694 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para> 1720 #. type: Content of: <book><preface><sect1><sect2><itemizedlist><listitem><para>
1695 #: ../en/ch00-preface.xml:124 1721 #: ../en/ch00-preface.xml:125
1696 msgid "Version control (VCS)" 1722 msgid "Version control (VCS)"
1697 msgstr "版本控制(VCS)" 1723 msgstr "版本控制(VCS)"
1698 1724
1699 #. type: Content of: <book><preface><sect1><sect2><para> 1725 #. type: Content of: <book><preface><sect1><sect2><para>
1700 #: ../en/ch00-preface.xml:126 1726 #: ../en/ch00-preface.xml:127
1701 msgid "" 1727 msgid ""
1702 "Some people claim that these terms actually have different meanings, but in " 1728 "Some people claim that these terms actually have different meanings, but in "
1703 "practice they overlap so much that there's no agreed or even useful way to " 1729 "practice they overlap so much that there's no agreed or even useful way to "
1704 "tease them apart." 1730 "tease them apart."
1705 msgstr "" 1731 msgstr ""
1706 1732
1707 #. type: Content of: <book><preface><sect1><title> 1733 #. type: Content of: <book><preface><sect1><title>
1708 #: ../en/ch00-preface.xml:134 1734 #: ../en/ch00-preface.xml:135
1709 msgid "This book is a work in progress" 1735 msgid "This book is a work in progress"
1710 msgstr "本书正在编写中" 1736 msgstr "本书正在编写中"
1711 1737
1712 #. type: Content of: <book><preface><sect1><para> 1738 #. type: Content of: <book><preface><sect1><para>
1713 #: ../en/ch00-preface.xml:136 1739 #: ../en/ch00-preface.xml:137
1714 msgid "" 1740 msgid ""
1715 "I am releasing this book while I am still writing it, in the hope that it " 1741 "I am releasing this book while I am still writing it, in the hope that it "
1716 "will prove useful to others. I am writing under an open license in the hope " 1742 "will prove useful to others. I am writing under an open license in the hope "
1717 "that you, my readers, will contribute feedback and perhaps content of your " 1743 "that you, my readers, will contribute feedback and perhaps content of your "
1718 "own." 1744 "own."
1719 msgstr "" 1745 msgstr ""
1720 1746
1721 #. type: Content of: <book><preface><sect1><title> 1747 #. type: Content of: <book><preface><sect1><title>
1722 #: ../en/ch00-preface.xml:143 1748 #: ../en/ch00-preface.xml:144
1723 msgid "About the examples in this book" 1749 msgid "About the examples in this book"
1724 msgstr "本书的例子" 1750 msgstr "本书的例子"
1725 1751
1726 #. type: Content of: <book><preface><sect1><para> 1752 #. type: Content of: <book><preface><sect1><para>
1727 #: ../en/ch00-preface.xml:145 1753 #: ../en/ch00-preface.xml:146
1728 msgid "" 1754 msgid ""
1729 "This book takes an unusual approach to code samples. Every example is " 1755 "This book takes an unusual approach to code samples. Every example is "
1730 "<quote>live</quote>---each one is actually the result of a shell script that " 1756 "<quote>live</quote>—each one is actually the result of a shell script that "
1731 "executes the Mercurial commands you see. Every time an image of the book is " 1757 "executes the Mercurial commands you see. Every time an image of the book is "
1732 "built from its sources, all the example scripts are automatically run, and " 1758 "built from its sources, all the example scripts are automatically run, and "
1733 "their current results compared against their expected results." 1759 "their current results compared against their expected results."
1734 msgstr "" 1760 msgstr ""
1735 1761
1736 #. type: Content of: <book><preface><sect1><para> 1762 #. type: Content of: <book><preface><sect1><para>
1737 #: ../en/ch00-preface.xml:152 1763 #: ../en/ch00-preface.xml:153
1738 msgid "" 1764 msgid ""
1739 "The advantage of this approach is that the examples are always accurate; they " 1765 "The advantage of this approach is that the examples are always accurate; they "
1740 "describe <emphasis>exactly</emphasis> the behaviour of the version of " 1766 "describe <emphasis>exactly</emphasis> the behaviour of the version of "
1741 "Mercurial that's mentioned at the front of the book. If I update the version " 1767 "Mercurial that's mentioned at the front of the book. If I update the version "
1742 "of Mercurial that I'm documenting, and the output of some command changes, " 1768 "of Mercurial that I'm documenting, and the output of some command changes, "
1743 "the build fails." 1769 "the build fails."
1744 msgstr "" 1770 msgstr ""
1745 1771
1746 #. type: Content of: <book><preface><sect1><para> 1772 #. type: Content of: <book><preface><sect1><para>
1747 #: ../en/ch00-preface.xml:159 1773 #: ../en/ch00-preface.xml:160
1748 msgid "" 1774 msgid ""
1749 "There is a small disadvantage to this approach, which is that the dates and " 1775 "There is a small disadvantage to this approach, which is that the dates and "
1750 "times you'll see in examples tend to be <quote>squashed</quote> together in a " 1776 "times you'll see in examples tend to be <quote>squashed</quote> together in a "
1751 "way that they wouldn't be if the same commands were being typed by a human. " 1777 "way that they wouldn't be if the same commands were being typed by a human. "
1752 "Where a human can issue no more than one command every few seconds, with any " 1778 "Where a human can issue no more than one command every few seconds, with any "
1753 "resulting timestamps correspondingly spread out, my automated example scripts " 1779 "resulting timestamps correspondingly spread out, my automated example scripts "
1754 "run many commands in one second." 1780 "run many commands in one second."
1755 msgstr "" 1781 msgstr ""
1756 1782
1757 #. type: Content of: <book><preface><sect1><para> 1783 #. type: Content of: <book><preface><sect1><para>
1758 #: ../en/ch00-preface.xml:167 1784 #: ../en/ch00-preface.xml:168
1759 msgid "" 1785 msgid ""
1760 "As an instance of this, several consecutive commits in an example can show up " 1786 "As an instance of this, several consecutive commits in an example can show up "
1761 "as having occurred during the same second. You can see this occur in the " 1787 "as having occurred during the same second. You can see this occur in the "
1762 "<literal role=\"hg-ext\">bisect</literal> example in <xref linkend=\"sec:undo:" 1788 "<literal role=\"hg-ext\">bisect</literal> example in <xref linkend=\"sec:undo:"
1763 "bisect\"/>, for instance." 1789 "bisect\"/>, for instance."
1764 msgstr "" 1790 msgstr ""
1765 1791
1766 #. type: Content of: <book><preface><sect1><para> 1792 #. type: Content of: <book><preface><sect1><para>
1767 #: ../en/ch00-preface.xml:173 1793 #: ../en/ch00-preface.xml:174
1768 msgid "" 1794 msgid ""
1769 "So when you're reading examples, don't place too much weight on the dates or " 1795 "So when you're reading examples, don't place too much weight on the dates or "
1770 "times you see in the output of commands. But <emphasis>do</emphasis> be " 1796 "times you see in the output of commands. But <emphasis>do</emphasis> be "
1771 "confident that the behaviour you're seeing is consistent and reproducible." 1797 "confident that the behaviour you're seeing is consistent and reproducible."
1772 msgstr "" 1798 msgstr ""
1773 1799
1774 #. type: Content of: <book><preface><sect1><title> 1800 #. type: Content of: <book><preface><sect1><title>
1775 #: ../en/ch00-preface.xml:181 1801 #: ../en/ch00-preface.xml:182
1776 msgid "Trends in the field" 1802 msgid "Trends in the field"
1777 msgstr "版本控制的发展趋势" 1803 msgstr "版本控制的发展趋势"
1778 1804
1779 #. type: Content of: <book><preface><sect1><para> 1805 #. type: Content of: <book><preface><sect1><para>
1780 #: ../en/ch00-preface.xml:183 1806 #: ../en/ch00-preface.xml:184
1781 msgid "" 1807 msgid ""
1782 "There has been an unmistakable trend in the development and use of revision " 1808 "There has been an unmistakable trend in the development and use of revision "
1783 "control tools over the past four decades, as people have become familiar with " 1809 "control tools over the past four decades, as people have become familiar with "
1784 "the capabilities of their tools and constrained by their limitations." 1810 "the capabilities of their tools and constrained by their limitations."
1785 msgstr "" 1811 msgstr ""
1786 1812
1787 #. type: Content of: <book><preface><sect1><para> 1813 #. type: Content of: <book><preface><sect1><para>
1788 #: ../en/ch00-preface.xml:188 1814 #: ../en/ch00-preface.xml:189
1789 msgid "" 1815 msgid ""
1790 "The first generation began by managing single files on individual computers. " 1816 "The first generation began by managing single files on individual computers. "
1791 "Although these tools represented a huge advance over ad-hoc manual revision " 1817 "Although these tools represented a huge advance over ad-hoc manual revision "
1792 "control, their locking model and reliance on a single computer limited them " 1818 "control, their locking model and reliance on a single computer limited them "
1793 "to small, tightly-knit teams." 1819 "to small, tightly-knit teams."
1794 msgstr "" 1820 msgstr ""
1795 1821
1796 #. type: Content of: <book><preface><sect1><para> 1822 #. type: Content of: <book><preface><sect1><para>
1797 #: ../en/ch00-preface.xml:194 1823 #: ../en/ch00-preface.xml:195
1798 msgid "" 1824 msgid ""
1799 "The second generation loosened these constraints by moving to network-" 1825 "The second generation loosened these constraints by moving to network-"
1800 "centered architectures, and managing entire projects at a time. As projects " 1826 "centered architectures, and managing entire projects at a time. As projects "
1801 "grew larger, they ran into new problems. With clients needing to talk to " 1827 "grew larger, they ran into new problems. With clients needing to talk to "
1802 "servers very frequently, server scaling became an issue for large projects. " 1828 "servers very frequently, server scaling became an issue for large projects. "
1806 "found that they could not use the tools to interact with a project in a " 1832 "found that they could not use the tools to interact with a project in a "
1807 "natural way, as they could not record their changes." 1833 "natural way, as they could not record their changes."
1808 msgstr "" 1834 msgstr ""
1809 1835
1810 #. type: Content of: <book><preface><sect1><para> 1836 #. type: Content of: <book><preface><sect1><para>
1811 #: ../en/ch00-preface.xml:206 1837 #: ../en/ch00-preface.xml:207
1812 msgid "" 1838 msgid ""
1813 "The current generation of revision control tools is peer-to-peer in nature. " 1839 "The current generation of revision control tools is peer-to-peer in nature. "
1814 "All of these systems have dropped the dependency on a single central server, " 1840 "All of these systems have dropped the dependency on a single central server, "
1815 "and allow people to distribute their revision control data to where it's " 1841 "and allow people to distribute their revision control data to where it's "
1816 "actually needed. Collaboration over the Internet has moved from constrained " 1842 "actually needed. Collaboration over the Internet has moved from constrained "
1818 "offline indefinitely and autonomously, with a network connection only needed " 1844 "offline indefinitely and autonomously, with a network connection only needed "
1819 "when syncing changes with another repository." 1845 "when syncing changes with another repository."
1820 msgstr "" 1846 msgstr ""
1821 1847
1822 #. type: Content of: <book><preface><sect1><title> 1848 #. type: Content of: <book><preface><sect1><title>
1823 #: ../en/ch00-preface.xml:218 1849 #: ../en/ch00-preface.xml:219
1824 msgid "A few of the advantages of distributed revision control" 1850 msgid "A few of the advantages of distributed revision control"
1825 msgstr "分布版本控制的优点" 1851 msgstr "分布版本控制的优点"
1826 1852
1827 #. type: Content of: <book><preface><sect1><para> 1853 #. type: Content of: <book><preface><sect1><para>
1828 #: ../en/ch00-preface.xml:221 1854 #: ../en/ch00-preface.xml:222
1829 msgid "" 1855 msgid ""
1830 "Even though distributed revision control tools have for several years been as " 1856 "Even though distributed revision control tools have for several years been as "
1831 "robust and usable as their previous-generation counterparts, people using " 1857 "robust and usable as their previous-generation counterparts, people using "
1832 "older tools have not yet necessarily woken up to their advantages. There are " 1858 "older tools have not yet necessarily woken up to their advantages. There are "
1833 "a number of ways in which distributed tools shine relative to centralised " 1859 "a number of ways in which distributed tools shine relative to centralised "
1834 "ones." 1860 "ones."
1835 msgstr "" 1861 msgstr ""
1836 1862
1837 #. type: Content of: <book><preface><sect1><para> 1863 #. type: Content of: <book><preface><sect1><para>
1838 #: ../en/ch00-preface.xml:228 1864 #: ../en/ch00-preface.xml:229
1839 msgid "" 1865 msgid ""
1840 "For an individual developer, distributed tools are almost always much faster " 1866 "For an individual developer, distributed tools are almost always much faster "
1841 "than centralised tools. This is for a simple reason: a centralised tool " 1867 "than centralised tools. This is for a simple reason: a centralised tool "
1842 "needs to talk over the network for many common operations, because most " 1868 "needs to talk over the network for many common operations, because most "
1843 "metadata is stored in a single copy on the central server. A distributed " 1869 "metadata is stored in a single copy on the central server. A distributed "
1846 "value of a snappy, responsive tool: you're going to spend a lot of time " 1872 "value of a snappy, responsive tool: you're going to spend a lot of time "
1847 "interacting with your revision control software." 1873 "interacting with your revision control software."
1848 msgstr "" 1874 msgstr ""
1849 1875
1850 #. type: Content of: <book><preface><sect1><para> 1876 #. type: Content of: <book><preface><sect1><para>
1851 #: ../en/ch00-preface.xml:239 1877 #: ../en/ch00-preface.xml:240
1852 msgid "" 1878 msgid ""
1853 "Distributed tools are indifferent to the vagaries of your server " 1879 "Distributed tools are indifferent to the vagaries of your server "
1854 "infrastructure, again because they replicate metadata to so many locations. " 1880 "infrastructure, again because they replicate metadata to so many locations. "
1855 "If you use a centralised system and your server catches fire, you'd better " 1881 "If you use a centralised system and your server catches fire, you'd better "
1856 "hope that your backup media are reliable, and that your last backup was " 1882 "hope that your backup media are reliable, and that your last backup was "
1857 "recent and actually worked. With a distributed tool, you have many backups " 1883 "recent and actually worked. With a distributed tool, you have many backups "
1858 "available on every contributor's computer." 1884 "available on every contributor's computer."
1859 msgstr "" 1885 msgstr ""
1860 1886
1861 #. type: Content of: <book><preface><sect1><para> 1887 #. type: Content of: <book><preface><sect1><para>
1862 #: ../en/ch00-preface.xml:247 1888 #: ../en/ch00-preface.xml:248
1863 msgid "" 1889 msgid ""
1864 "The reliability of your network will affect distributed tools far less than " 1890 "The reliability of your network will affect distributed tools far less than "
1865 "it will centralised tools. You can't even use a centralised tool without a " 1891 "it will centralised tools. You can't even use a centralised tool without a "
1866 "network connection, except for a few highly constrained commands. With a " 1892 "network connection, except for a few highly constrained commands. With a "
1867 "distributed tool, if your network connection goes down while you're working, " 1893 "distributed tool, if your network connection goes down while you're working, "
1870 "with local operations. If you have a far-flung team of collaborators, this " 1896 "with local operations. If you have a far-flung team of collaborators, this "
1871 "may be significant." 1897 "may be significant."
1872 msgstr "" 1898 msgstr ""
1873 1899
1874 #. type: Content of: <book><preface><sect1><sect2><title> 1900 #. type: Content of: <book><preface><sect1><sect2><title>
1875 #: ../en/ch00-preface.xml:258 1901 #: ../en/ch00-preface.xml:259
1876 msgid "Advantages for open source projects" 1902 msgid "Advantages for open source projects"
1877 msgstr "开源项目的优点" 1903 msgstr "开源项目的优点"
1878 1904
1879 #. type: Content of: <book><preface><sect1><sect2><para> 1905 #. type: Content of: <book><preface><sect1><sect2><para>
1880 #: ../en/ch00-preface.xml:260 1906 #: ../en/ch00-preface.xml:261
1881 msgid "" 1907 msgid ""
1882 "If you take a shine to an open source project and decide that you would like " 1908 "If you take a shine to an open source project and decide that you would like "
1883 "to start hacking on it, and that project uses a distributed revision control " 1909 "to start hacking on it, and that project uses a distributed revision control "
1884 "tool, you are at once a peer with the people who consider themselves the " 1910 "tool, you are at once a peer with the people who consider themselves the "
1885 "<quote>core</quote> of that project. If they publish their repositories, you " 1911 "<quote>core</quote> of that project. If they publish their repositories, you "
1891 "local modifications will be at risk of corruption any time you try to update " 1917 "local modifications will be at risk of corruption any time you try to update "
1892 "your client's view of the repository." 1918 "your client's view of the repository."
1893 msgstr "" 1919 msgstr ""
1894 1920
1895 #. type: Content of: <book><preface><sect1><sect2><sect3><title> 1921 #. type: Content of: <book><preface><sect1><sect2><sect3><title>
1896 #: ../en/ch00-preface.xml:276 1922 #: ../en/ch00-preface.xml:277
1897 msgid "The forking non-problem" 1923 msgid "The forking non-problem"
1898 msgstr "分叉不是问题" 1924 msgstr "分叉不是问题"
1899 1925
1900 #. type: Content of: <book><preface><sect1><sect2><sect3><para> 1926 #. type: Content of: <book><preface><sect1><sect2><sect3><para>
1901 #: ../en/ch00-preface.xml:278 1927 #: ../en/ch00-preface.xml:279
1902 msgid "" 1928 msgid ""
1903 "It has been suggested that distributed revision control tools pose some sort " 1929 "It has been suggested that distributed revision control tools pose some sort "
1904 "of risk to open source projects because they make it easy to <quote>fork</" 1930 "of risk to open source projects because they make it easy to <quote>fork</"
1905 "quote> the development of a project. A fork happens when there are " 1931 "quote> the development of a project. A fork happens when there are "
1906 "differences in opinion or attitude between groups of developers that cause " 1932 "differences in opinion or attitude between groups of developers that cause "
1908 "more or less complete copy of the project's source code, and goes off in its " 1934 "more or less complete copy of the project's source code, and goes off in its "
1909 "own direction." 1935 "own direction."
1910 msgstr "" 1936 msgstr ""
1911 1937
1912 #. type: Content of: <book><preface><sect1><sect2><sect3><para> 1938 #. type: Content of: <book><preface><sect1><sect2><sect3><para>
1913 #: ../en/ch00-preface.xml:288 1939 #: ../en/ch00-preface.xml:289
1914 msgid "" 1940 msgid ""
1915 "Sometimes the camps in a fork decide to reconcile their differences. With a " 1941 "Sometimes the camps in a fork decide to reconcile their differences. With a "
1916 "centralised revision control system, the <emphasis>technical</emphasis> " 1942 "centralised revision control system, the <emphasis>technical</emphasis> "
1917 "process of reconciliation is painful, and has to be performed largely by " 1943 "process of reconciliation is painful, and has to be performed largely by "
1918 "hand. You have to decide whose revision history is going to <quote>win</" 1944 "hand. You have to decide whose revision history is going to <quote>win</"
1919 "quote>, and graft the other team's changes into the tree somehow. This " 1945 "quote>, and graft the other team's changes into the tree somehow. This "
1920 "usually loses some or all of one side's revision history." 1946 "usually loses some or all of one side's revision history."
1921 msgstr "" 1947 msgstr ""
1922 1948
1923 #. type: Content of: <book><preface><sect1><sect2><sect3><para> 1949 #. type: Content of: <book><preface><sect1><sect2><sect3><para>
1924 #: ../en/ch00-preface.xml:297 1950 #: ../en/ch00-preface.xml:298
1925 msgid "" 1951 msgid ""
1926 "What distributed tools do with respect to forking is they make forking the " 1952 "What distributed tools do with respect to forking is they make forking the "
1927 "<emphasis>only</emphasis> way to develop a project. Every single change that " 1953 "<emphasis>only</emphasis> way to develop a project. Every single change that "
1928 "you make is potentially a fork point. The great strength of this approach is " 1954 "you make is potentially a fork point. The great strength of this approach is "
1929 "that a distributed revision control tool has to be really good at " 1955 "that a distributed revision control tool has to be really good at "
1930 "<emphasis>merging</emphasis> forks, because forks are absolutely fundamental: " 1956 "<emphasis>merging</emphasis> forks, because forks are absolutely fundamental: "
1931 "they happen all the time." 1957 "they happen all the time."
1932 msgstr "" 1958 msgstr ""
1933 1959
1934 #. type: Content of: <book><preface><sect1><sect2><sect3><para> 1960 #. type: Content of: <book><preface><sect1><sect2><sect3><para>
1935 #: ../en/ch00-preface.xml:306 1961 #: ../en/ch00-preface.xml:307
1936 msgid "" 1962 msgid ""
1937 "If every piece of work that everybody does, all the time, is framed in terms " 1963 "If every piece of work that everybody does, all the time, is framed in terms "
1938 "of forking and merging, then what the open source world refers to as a " 1964 "of forking and merging, then what the open source world refers to as a "
1939 "<quote>fork</quote> becomes <emphasis>purely</emphasis> a social issue. If " 1965 "<quote>fork</quote> becomes <emphasis>purely</emphasis> a social issue. If "
1940 "anything, distributed tools <emphasis>lower</emphasis> the likelihood of a " 1966 "anything, distributed tools <emphasis>lower</emphasis> the likelihood of a "
1941 "fork:" 1967 "fork:"
1942 msgstr "" 1968 msgstr ""
1943 1969
1944 #. type: Content of: <book><preface><sect1><sect2><sect3><itemizedlist><listitem><para> 1970 #. type: Content of: <book><preface><sect1><sect2><sect3><itemizedlist><listitem><para>
1945 #: ../en/ch00-preface.xml:313 1971 #: ../en/ch00-preface.xml:314
1946 msgid "" 1972 msgid ""
1947 "They eliminate the social distinction that centralised tools impose: that " 1973 "They eliminate the social distinction that centralised tools impose: that "
1948 "between insiders (people with commit access) and outsiders (people without)." 1974 "between insiders (people with commit access) and outsiders (people without)."
1949 msgstr "" 1975 msgstr ""
1950 1976
1951 #. type: Content of: <book><preface><sect1><sect2><sect3><itemizedlist><listitem><para> 1977 #. type: Content of: <book><preface><sect1><sect2><sect3><itemizedlist><listitem><para>
1952 #: ../en/ch00-preface.xml:317 1978 #: ../en/ch00-preface.xml:318
1953 msgid "" 1979 msgid ""
1954 "They make it easier to reconcile after a social fork, because all that's " 1980 "They make it easier to reconcile after a social fork, because all that's "
1955 "involved from the perspective of the revision control software is just " 1981 "involved from the perspective of the revision control software is just "
1956 "another merge." 1982 "another merge."
1957 msgstr "" 1983 msgstr ""
1958 1984
1959 #. type: Content of: <book><preface><sect1><sect2><sect3><para> 1985 #. type: Content of: <book><preface><sect1><sect2><sect3><para>
1960 #: ../en/ch00-preface.xml:322 1986 #: ../en/ch00-preface.xml:323
1961 msgid "" 1987 msgid ""
1962 "Some people resist distributed tools because they want to retain tight " 1988 "Some people resist distributed tools because they want to retain tight "
1963 "control over their projects, and they believe that centralised tools give " 1989 "control over their projects, and they believe that centralised tools give "
1964 "them this control. However, if you're of this belief, and you publish your " 1990 "them this control. However, if you're of this belief, and you publish your "
1965 "CVS or Subversion repositories publicly, there are plenty of tools available " 1991 "CVS or Subversion repositories publicly, there are plenty of tools available "
1968 "illusory, you are forgoing the ability to fluidly collaborate with whatever " 1994 "illusory, you are forgoing the ability to fluidly collaborate with whatever "
1969 "people feel compelled to mirror and fork your history." 1995 "people feel compelled to mirror and fork your history."
1970 msgstr "" 1996 msgstr ""
1971 1997
1972 #. type: Content of: <book><preface><sect1><sect2><title> 1998 #. type: Content of: <book><preface><sect1><sect2><title>
1973 #: ../en/ch00-preface.xml:337 1999 #: ../en/ch00-preface.xml:338
1974 msgid "Advantages for commercial projects" 2000 msgid "Advantages for commercial projects"
1975 msgstr "商业项目的优点" 2001 msgstr "商业项目的优点"
1976 2002
1977 #. type: Content of: <book><preface><sect1><sect2><para> 2003 #. type: Content of: <book><preface><sect1><sect2><para>
1978 #: ../en/ch00-preface.xml:339 2004 #: ../en/ch00-preface.xml:340
1979 msgid "" 2005 msgid ""
1980 "Many commercial projects are undertaken by teams that are scattered across " 2006 "Many commercial projects are undertaken by teams that are scattered across "
1981 "the globe. Contributors who are far from a central server will see slower " 2007 "the globe. Contributors who are far from a central server will see slower "
1982 "command execution and perhaps less reliability. Commercial revision control " 2008 "command execution and perhaps less reliability. Commercial revision control "
1983 "systems attempt to ameliorate these problems with remote-site replication add-" 2009 "systems attempt to ameliorate these problems with remote-site replication add-"
1987 "site, so that there's no redundant communication between repositories over " 2013 "site, so that there's no redundant communication between repositories over "
1988 "expensive long-haul network links." 2014 "expensive long-haul network links."
1989 msgstr "" 2015 msgstr ""
1990 2016
1991 #. type: Content of: <book><preface><sect1><sect2><para> 2017 #. type: Content of: <book><preface><sect1><sect2><para>
1992 #: ../en/ch00-preface.xml:351 2018 #: ../en/ch00-preface.xml:352
1993 msgid "" 2019 msgid ""
1994 "Centralised revision control systems tend to have relatively low " 2020 "Centralised revision control systems tend to have relatively low "
1995 "scalability. It's not unusual for an expensive centralised system to fall " 2021 "scalability. It's not unusual for an expensive centralised system to fall "
1996 "over under the combined load of just a few dozen concurrent users. Once " 2022 "over under the combined load of just a few dozen concurrent users. Once "
1997 "again, the typical response tends to be an expensive and clunky replication " 2023 "again, the typical response tends to be an expensive and clunky replication "
1998 "facility. Since the load on a central server---if you have one at all---is " 2024 "facility. Since the load on a central server—if you have one at all—is many "
1999 "many times lower with a distributed tool (because all of the data is " 2025 "times lower with a distributed tool (because all of the data is replicated "
2000 "replicated everywhere), a single cheap server can handle the needs of a much " 2026 "everywhere), a single cheap server can handle the needs of a much larger "
2001 "larger team, and replication to balance load becomes a simple matter of " 2027 "team, and replication to balance load becomes a simple matter of scripting."
2002 "scripting."
2003 msgstr "" 2028 msgstr ""
2004 2029
2005 #. type: Content of: <book><preface><sect1><sect2><para> 2030 #. type: Content of: <book><preface><sect1><sect2><para>
2006 #: ../en/ch00-preface.xml:363 2031 #: ../en/ch00-preface.xml:364
2007 msgid "" 2032 msgid ""
2008 "If you have an employee in the field, troubleshooting a problem at a " 2033 "If you have an employee in the field, troubleshooting a problem at a "
2009 "customer's site, they'll benefit from distributed revision control. The tool " 2034 "customer's site, they'll benefit from distributed revision control. The tool "
2010 "will let them generate custom builds, try different fixes in isolation from " 2035 "will let them generate custom builds, try different fixes in isolation from "
2011 "each other, and search efficiently through history for the sources of bugs " 2036 "each other, and search efficiently through history for the sources of bugs "
2012 "and regressions in the customer's environment, all without needing to connect " 2037 "and regressions in the customer's environment, all without needing to connect "
2013 "to your company's network." 2038 "to your company's network."
2014 msgstr "" 2039 msgstr ""
2015 2040
2016 #. type: Content of: <book><preface><sect1><title> 2041 #. type: Content of: <book><preface><sect1><title>
2017 #: ../en/ch00-preface.xml:374 2042 #: ../en/ch00-preface.xml:375
2018 msgid "Why choose Mercurial?" 2043 msgid "Why choose Mercurial?"
2019 msgstr "为什么选择 Mercurial?" 2044 msgstr "为什么选择 Mercurial?"
2020 2045
2021 #. type: Content of: <book><preface><sect1><para> 2046 #. type: Content of: <book><preface><sect1><para>
2022 #: ../en/ch00-preface.xml:376 2047 #: ../en/ch00-preface.xml:377
2023 msgid "" 2048 msgid ""
2024 "Mercurial has a unique set of properties that make it a particularly good " 2049 "Mercurial has a unique set of properties that make it a particularly good "
2025 "choice as a revision control system." 2050 "choice as a revision control system."
2026 msgstr "" 2051 msgstr ""
2027 2052
2028 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para> 2053 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
2029 #: ../en/ch00-preface.xml:379 2054 #: ../en/ch00-preface.xml:380
2030 msgid "It is easy to learn and use." 2055 msgid "It is easy to learn and use."
2031 msgstr ""
2032
2033 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
2034 #: ../en/ch00-preface.xml:380
2035 msgid "It is lightweight."
2036 msgstr "" 2056 msgstr ""
2037 2057
2038 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para> 2058 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
2039 #: ../en/ch00-preface.xml:381 2059 #: ../en/ch00-preface.xml:381
2040 msgid "It scales excellently." 2060 msgid "It is lightweight."
2041 msgstr "" 2061 msgstr ""
2042 2062
2043 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para> 2063 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
2044 #: ../en/ch00-preface.xml:382 2064 #: ../en/ch00-preface.xml:382
2065 msgid "It scales excellently."
2066 msgstr ""
2067
2068 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
2069 #: ../en/ch00-preface.xml:383
2045 msgid "It is easy to customise." 2070 msgid "It is easy to customise."
2046 msgstr "" 2071 msgstr ""
2047 2072
2048 #. type: Content of: <book><preface><sect1><para> 2073 #. type: Content of: <book><preface><sect1><para>
2049 #: ../en/ch00-preface.xml:385 2074 #: ../en/ch00-preface.xml:386
2050 msgid "" 2075 msgid ""
2051 "If you are at all familiar with revision control systems, you should be able " 2076 "If you are at all familiar with revision control systems, you should be able "
2052 "to get up and running with Mercurial in less than five minutes. Even if not, " 2077 "to get up and running with Mercurial in less than five minutes. Even if not, "
2053 "it will take no more than a few minutes longer. Mercurial's command and " 2078 "it will take no more than a few minutes longer. Mercurial's command and "
2054 "feature sets are generally uniform and consistent, so you can keep track of a " 2079 "feature sets are generally uniform and consistent, so you can keep track of a "
2055 "few general rules instead of a host of exceptions." 2080 "few general rules instead of a host of exceptions."
2056 msgstr "" 2081 msgstr ""
2057 2082
2058 #. type: Content of: <book><preface><sect1><para> 2083 #. type: Content of: <book><preface><sect1><para>
2059 #: ../en/ch00-preface.xml:392 2084 #: ../en/ch00-preface.xml:393
2060 msgid "" 2085 msgid ""
2061 "On a small project, you can start working with Mercurial in moments. Creating " 2086 "On a small project, you can start working with Mercurial in moments. Creating "
2062 "new changes and branches; transferring changes around (whether locally or " 2087 "new changes and branches; transferring changes around (whether locally or "
2063 "over a network); and history and status operations are all fast. Mercurial " 2088 "over a network); and history and status operations are all fast. Mercurial "
2064 "attempts to stay nimble and largely out of your way by combining low " 2089 "attempts to stay nimble and largely out of your way by combining low "
2065 "cognitive overhead with blazingly fast operations." 2090 "cognitive overhead with blazingly fast operations."
2066 msgstr "" 2091 msgstr ""
2067 2092
2068 #. type: Content of: <book><preface><sect1><para> 2093 #. type: Content of: <book><preface><sect1><para>
2069 #: ../en/ch00-preface.xml:399 2094 #: ../en/ch00-preface.xml:400
2070 msgid "" 2095 msgid ""
2071 "The usefulness of Mercurial is not limited to small projects: it is used by " 2096 "The usefulness of Mercurial is not limited to small projects: it is used by "
2072 "projects with hundreds to thousands of contributors, each containing tens of " 2097 "projects with hundreds to thousands of contributors, each containing tens of "
2073 "thousands of files and hundreds of megabytes of source code." 2098 "thousands of files and hundreds of megabytes of source code."
2074 msgstr "" 2099 msgstr ""
2075 2100
2076 #. type: Content of: <book><preface><sect1><para> 2101 #. type: Content of: <book><preface><sect1><para>
2077 #: ../en/ch00-preface.xml:404 2102 #: ../en/ch00-preface.xml:405
2078 msgid "" 2103 msgid ""
2079 "If the core functionality of Mercurial is not enough for you, it's easy to " 2104 "If the core functionality of Mercurial is not enough for you, it's easy to "
2080 "build on. Mercurial is well suited to scripting tasks, and its clean " 2105 "build on. Mercurial is well suited to scripting tasks, and its clean "
2081 "internals and implementation in Python make it easy to add features in the " 2106 "internals and implementation in Python make it easy to add features in the "
2082 "form of extensions. There are a number of popular and useful extensions " 2107 "form of extensions. There are a number of popular and useful extensions "
2083 "already available, ranging from helping to identify bugs to improving " 2108 "already available, ranging from helping to identify bugs to improving "
2084 "performance." 2109 "performance."
2085 msgstr "" 2110 msgstr ""
2086 2111
2087 #. type: Content of: <book><preface><sect1><title> 2112 #. type: Content of: <book><preface><sect1><title>
2088 #: ../en/ch00-preface.xml:414 2113 #: ../en/ch00-preface.xml:415
2089 msgid "Mercurial compared with other tools" 2114 msgid "Mercurial compared with other tools"
2090 msgstr "Mercurial 与其它工具的比较" 2115 msgstr "Mercurial 与其它工具的比较"
2091 2116
2092 #. type: Content of: <book><preface><sect1><para> 2117 #. type: Content of: <book><preface><sect1><para>
2093 #: ../en/ch00-preface.xml:416 2118 #: ../en/ch00-preface.xml:417
2094 msgid "" 2119 msgid ""
2095 "Before you read on, please understand that this section necessarily reflects " 2120 "Before you read on, please understand that this section necessarily reflects "
2096 "my own experiences, interests, and (dare I say it) biases. I have used every " 2121 "my own experiences, interests, and (dare I say it) biases. I have used every "
2097 "one of the revision control tools listed below, in most cases for several " 2122 "one of the revision control tools listed below, in most cases for several "
2098 "years at a time." 2123 "years at a time."
2099 msgstr "" 2124 msgstr ""
2100 2125
2101 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para> 2126 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
2102 #: ../en/ch00-preface.xml:424 ../en/ch00-preface.xml:635 2127 #: ../en/ch00-preface.xml:425 ../en/ch00-preface.xml:636
2103 msgid "Subversion" 2128 msgid "Subversion"
2104 msgstr "" 2129 msgstr ""
2105 2130
2106 #. type: Content of: <book><preface><sect1><sect2><para> 2131 #. type: Content of: <book><preface><sect1><sect2><para>
2107 #: ../en/ch00-preface.xml:426 2132 #: ../en/ch00-preface.xml:427
2108 msgid "" 2133 msgid ""
2109 "Subversion is a popular revision control tool, developed to replace CVS. It " 2134 "Subversion is a popular revision control tool, developed to replace CVS. It "
2110 "has a centralised client/server architecture." 2135 "has a centralised client/server architecture."
2111 msgstr "" 2136 msgstr ""
2112 2137
2113 #. type: Content of: <book><preface><sect1><sect2><para> 2138 #. type: Content of: <book><preface><sect1><sect2><para>
2114 #: ../en/ch00-preface.xml:430 2139 #: ../en/ch00-preface.xml:431
2115 msgid "" 2140 msgid ""
2116 "Subversion and Mercurial have similarly named commands for performing the " 2141 "Subversion and Mercurial have similarly named commands for performing the "
2117 "same operations, so if you're familiar with one, it is easy to learn to use " 2142 "same operations, so if you're familiar with one, it is easy to learn to use "
2118 "the other. Both tools are portable to all popular operating systems." 2143 "the other. Both tools are portable to all popular operating systems."
2119 msgstr "" 2144 msgstr ""
2120 2145
2121 #. type: Content of: <book><preface><sect1><sect2><para> 2146 #. type: Content of: <book><preface><sect1><sect2><para>
2122 #: ../en/ch00-preface.xml:435 2147 #: ../en/ch00-preface.xml:436
2123 msgid "" 2148 msgid ""
2124 "Prior to version 1.5, Subversion had no useful support for merges. At the " 2149 "Prior to version 1.5, Subversion had no useful support for merges. At the "
2125 "time of writing, its merge tracking capability is new, and known to be <ulink " 2150 "time of writing, its merge tracking capability is new, and known to be <ulink "
2126 "url=\"http://svnbook.red-bean.com/nightly/en/svn.branchmerge.advanced." 2151 "url=\"http://svnbook.red-bean.com/nightly/en/svn.branchmerge.advanced."
2127 "html#svn.branchmerge.advanced.finalword\">complicated and buggy</ulink>." 2152 "html#svn.branchmerge.advanced.finalword\">complicated and buggy</ulink>."
2128 msgstr "" 2153 msgstr ""
2129 2154
2130 #. type: Content of: <book><preface><sect1><sect2><para> 2155 #. type: Content of: <book><preface><sect1><sect2><para>
2131 #: ../en/ch00-preface.xml:441 2156 #: ../en/ch00-preface.xml:442
2132 msgid "" 2157 msgid ""
2133 "Mercurial has a substantial performance advantage over Subversion on every " 2158 "Mercurial has a substantial performance advantage over Subversion on every "
2134 "revision control operation I have benchmarked. I have measured its advantage " 2159 "revision control operation I have benchmarked. I have measured its advantage "
2135 "as ranging from a factor of two to a factor of six when compared with " 2160 "as ranging from a factor of two to a factor of six when compared with "
2136 "Subversion 1.4.3's <emphasis>ra_local</emphasis> file store, which is the " 2161 "Subversion 1.4.3's <emphasis>ra_local</emphasis> file store, which is the "
2140 "Subversion does not have useful replication facilities, server capacity and " 2165 "Subversion does not have useful replication facilities, server capacity and "
2141 "network bandwidth become bottlenecks for modestly large projects." 2166 "network bandwidth become bottlenecks for modestly large projects."
2142 msgstr "" 2167 msgstr ""
2143 2168
2144 #. type: Content of: <book><preface><sect1><sect2><para> 2169 #. type: Content of: <book><preface><sect1><sect2><para>
2145 #: ../en/ch00-preface.xml:454 2170 #: ../en/ch00-preface.xml:455
2146 msgid "" 2171 msgid ""
2147 "Additionally, Subversion incurs substantial storage overhead to avoid network " 2172 "Additionally, Subversion incurs substantial storage overhead to avoid network "
2148 "transactions for a few common operations, such as finding modified files " 2173 "transactions for a few common operations, such as finding modified files "
2149 "(<literal>status</literal>) and displaying modifications against the current " 2174 "(<literal>status</literal>) and displaying modifications against the current "
2150 "revision (<literal>diff</literal>). As a result, a Subversion working copy " 2175 "revision (<literal>diff</literal>). As a result, a Subversion working copy "
2152 "directory, even though the Mercurial repository contains a complete history " 2177 "directory, even though the Mercurial repository contains a complete history "
2153 "of the project." 2178 "of the project."
2154 msgstr "" 2179 msgstr ""
2155 2180
2156 #. type: Content of: <book><preface><sect1><sect2><para> 2181 #. type: Content of: <book><preface><sect1><sect2><para>
2157 #: ../en/ch00-preface.xml:464 2182 #: ../en/ch00-preface.xml:465
2158 msgid "" 2183 msgid ""
2159 "Subversion is widely supported by third party tools. Mercurial currently " 2184 "Subversion is widely supported by third party tools. Mercurial currently "
2160 "lags considerably in this area. This gap is closing, however, and indeed " 2185 "lags considerably in this area. This gap is closing, however, and indeed "
2161 "some of Mercurial's GUI tools now outshine their Subversion equivalents. " 2186 "some of Mercurial's GUI tools now outshine their Subversion equivalents. "
2162 "Like Mercurial, Subversion has an excellent user manual." 2187 "Like Mercurial, Subversion has an excellent user manual."
2163 msgstr "" 2188 msgstr ""
2164 2189
2165 #. type: Content of: <book><preface><sect1><sect2><para> 2190 #. type: Content of: <book><preface><sect1><sect2><para>
2166 #: ../en/ch00-preface.xml:470 2191 #: ../en/ch00-preface.xml:471
2167 msgid "" 2192 msgid ""
2168 "Because Subversion doesn't store revision history on the client, it is well " 2193 "Because Subversion doesn't store revision history on the client, it is well "
2169 "suited to managing projects that deal with lots of large, opaque binary " 2194 "suited to managing projects that deal with lots of large, opaque binary "
2170 "files. If you check in fifty revisions to an incompressible 10MB file, " 2195 "files. If you check in fifty revisions to an incompressible 10MB file, "
2171 "Subversion's client-side space usage stays constant The space used by any " 2196 "Subversion's client-side space usage stays constant The space used by any "
2172 "distributed SCM will grow rapidly in proportion to the number of revisions, " 2197 "distributed SCM will grow rapidly in proportion to the number of revisions, "
2173 "because the differences between each revision are large." 2198 "because the differences between each revision are large."
2174 msgstr "" 2199 msgstr ""
2175 2200
2176 #. type: Content of: <book><preface><sect1><sect2><para> 2201 #. type: Content of: <book><preface><sect1><sect2><para>
2177 #: ../en/ch00-preface.xml:479 2202 #: ../en/ch00-preface.xml:480
2178 msgid "" 2203 msgid ""
2179 "In addition, it's often difficult or, more usually, impossible to merge " 2204 "In addition, it's often difficult or, more usually, impossible to merge "
2180 "different versions of a binary file. Subversion's ability to let a user lock " 2205 "different versions of a binary file. Subversion's ability to let a user lock "
2181 "a file, so that they temporarily have the exclusive right to commit changes " 2206 "a file, so that they temporarily have the exclusive right to commit changes "
2182 "to it, can be a significant advantage to a project where binary files are " 2207 "to it, can be a significant advantage to a project where binary files are "
2183 "widely used." 2208 "widely used."
2184 msgstr "" 2209 msgstr ""
2185 2210
2186 #. type: Content of: <book><preface><sect1><sect2><para> 2211 #. type: Content of: <book><preface><sect1><sect2><para>
2187 #: ../en/ch00-preface.xml:486 2212 #: ../en/ch00-preface.xml:487
2188 msgid "" 2213 msgid ""
2189 "Mercurial can import revision history from a Subversion repository. It can " 2214 "Mercurial can import revision history from a Subversion repository. It can "
2190 "also export revision history to a Subversion repository. This makes it easy " 2215 "also export revision history to a Subversion repository. This makes it easy "
2191 "to <quote>test the waters</quote> and use Mercurial and Subversion in " 2216 "to <quote>test the waters</quote> and use Mercurial and Subversion in "
2192 "parallel before deciding to switch. History conversion is incremental, so " 2217 "parallel before deciding to switch. History conversion is incremental, so "
2193 "you can perform an initial conversion, then small additional conversions " 2218 "you can perform an initial conversion, then small additional conversions "
2194 "afterwards to bring in new changes." 2219 "afterwards to bring in new changes."
2195 msgstr "" 2220 msgstr ""
2196 2221
2197 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para> 2222 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
2198 #: ../en/ch00-preface.xml:498 ../en/ch00-preface.xml:637 2223 #: ../en/ch00-preface.xml:499 ../en/ch00-preface.xml:638
2199 msgid "Git" 2224 msgid "Git"
2200 msgstr "" 2225 msgstr ""
2201 2226
2202 #. type: Content of: <book><preface><sect1><sect2><para> 2227 #. type: Content of: <book><preface><sect1><sect2><para>
2203 #: ../en/ch00-preface.xml:500 2228 #: ../en/ch00-preface.xml:501
2204 msgid "" 2229 msgid ""
2205 "Git is a distributed revision control tool that was developed for managing " 2230 "Git is a distributed revision control tool that was developed for managing "
2206 "the Linux kernel source tree. Like Mercurial, its early design was somewhat " 2231 "the Linux kernel source tree. Like Mercurial, its early design was somewhat "
2207 "influenced by Monotone." 2232 "influenced by Monotone."
2208 msgstr "" 2233 msgstr ""
2209 2234
2210 #. type: Content of: <book><preface><sect1><sect2><para> 2235 #. type: Content of: <book><preface><sect1><sect2><para>
2211 #: ../en/ch00-preface.xml:505 2236 #: ../en/ch00-preface.xml:506
2212 msgid "" 2237 msgid ""
2213 "Git has a very large command set, with version 1.5.0 providing 139 individual " 2238 "Git has a very large command set, with version 1.5.0 providing 139 individual "
2214 "commands. It has something of a reputation for being difficult to learn. " 2239 "commands. It has something of a reputation for being difficult to learn. "
2215 "Compared to Git, Mercurial has a strong focus on simplicity." 2240 "Compared to Git, Mercurial has a strong focus on simplicity."
2216 msgstr "" 2241 msgstr ""
2217 2242
2218 #. type: Content of: <book><preface><sect1><sect2><para> 2243 #. type: Content of: <book><preface><sect1><sect2><para>
2219 #: ../en/ch00-preface.xml:510 2244 #: ../en/ch00-preface.xml:511
2220 msgid "" 2245 msgid ""
2221 "In terms of performance, Git is extremely fast. In several cases, it is " 2246 "In terms of performance, Git is extremely fast. In several cases, it is "
2222 "faster than Mercurial, at least on Linux, while Mercurial performs better on " 2247 "faster than Mercurial, at least on Linux, while Mercurial performs better on "
2223 "other operations. However, on Windows, the performance and general level of " 2248 "other operations. However, on Windows, the performance and general level of "
2224 "support that Git provides is, at the time of writing, far behind that of " 2249 "support that Git provides is, at the time of writing, far behind that of "
2225 "Mercurial." 2250 "Mercurial."
2226 msgstr "" 2251 msgstr ""
2227 2252
2228 #. type: Content of: <book><preface><sect1><sect2><para> 2253 #. type: Content of: <book><preface><sect1><sect2><para>
2229 #: ../en/ch00-preface.xml:517 2254 #: ../en/ch00-preface.xml:518
2230 msgid "" 2255 msgid ""
2231 "While a Mercurial repository needs no maintenance, a Git repository requires " 2256 "While a Mercurial repository needs no maintenance, a Git repository requires "
2232 "frequent manual <quote>repacks</quote> of its metadata. Without these, " 2257 "frequent manual <quote>repacks</quote> of its metadata. Without these, "
2233 "performance degrades, while space usage grows rapidly. A server that " 2258 "performance degrades, while space usage grows rapidly. A server that "
2234 "contains many Git repositories that are not rigorously and frequently " 2259 "contains many Git repositories that are not rigorously and frequently "
2237 "freshly packed Git repository is slightly smaller than a Mercurial " 2262 "freshly packed Git repository is slightly smaller than a Mercurial "
2238 "repository, but an unpacked repository is several orders of magnitude larger." 2263 "repository, but an unpacked repository is several orders of magnitude larger."
2239 msgstr "" 2264 msgstr ""
2240 2265
2241 #. type: Content of: <book><preface><sect1><sect2><para> 2266 #. type: Content of: <book><preface><sect1><sect2><para>
2242 #: ../en/ch00-preface.xml:528 2267 #: ../en/ch00-preface.xml:529
2243 msgid "" 2268 msgid ""
2244 "The core of Git is written in C. Many Git commands are implemented as shell " 2269 "The core of Git is written in C. Many Git commands are implemented as shell "
2245 "or Perl scripts, and the quality of these scripts varies widely. I have " 2270 "or Perl scripts, and the quality of these scripts varies widely. I have "
2246 "encountered several instances where scripts charged along blindly in the " 2271 "encountered several instances where scripts charged along blindly in the "
2247 "presence of errors that should have been fatal." 2272 "presence of errors that should have been fatal."
2248 msgstr "" 2273 msgstr ""
2249 2274
2250 #. type: Content of: <book><preface><sect1><sect2><para> 2275 #. type: Content of: <book><preface><sect1><sect2><para>
2251 #: ../en/ch00-preface.xml:534 2276 #: ../en/ch00-preface.xml:535
2252 msgid "Mercurial can import revision history from a Git repository." 2277 msgid "Mercurial can import revision history from a Git repository."
2253 msgstr "" 2278 msgstr ""
2254 2279
2255 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para> 2280 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
2256 #: ../en/ch00-preface.xml:540 ../en/ch00-preface.xml:636 2281 #: ../en/ch00-preface.xml:541 ../en/ch00-preface.xml:637
2257 msgid "CVS" 2282 msgid "CVS"
2258 msgstr "" 2283 msgstr ""
2259 2284
2260 #. type: Content of: <book><preface><sect1><sect2><para> 2285 #. type: Content of: <book><preface><sect1><sect2><para>
2261 #: ../en/ch00-preface.xml:542 2286 #: ../en/ch00-preface.xml:543
2262 msgid "" 2287 msgid ""
2263 "CVS is probably the most widely used revision control tool in the world. Due " 2288 "CVS is probably the most widely used revision control tool in the world. Due "
2264 "to its age and internal untidiness, it has been only lightly maintained for " 2289 "to its age and internal untidiness, it has been only lightly maintained for "
2265 "many years." 2290 "many years."
2266 msgstr "" 2291 msgstr ""
2267 2292
2268 #. type: Content of: <book><preface><sect1><sect2><para> 2293 #. type: Content of: <book><preface><sect1><sect2><para>
2269 #: ../en/ch00-preface.xml:546 2294 #: ../en/ch00-preface.xml:547
2270 msgid "" 2295 msgid ""
2271 "It has a centralised client/server architecture. It does not group related " 2296 "It has a centralised client/server architecture. It does not group related "
2272 "file changes into atomic commits, making it easy for people to <quote>break " 2297 "file changes into atomic commits, making it easy for people to <quote>break "
2273 "the build</quote>: one person can successfully commit part of a change and " 2298 "the build</quote>: one person can successfully commit part of a change and "
2274 "then be blocked by the need for a merge, causing other people to see only a " 2299 "then be blocked by the need for a merge, causing other people to see only a "
2278 "timestamps of the changes made to each file involved (if you even know what " 2303 "timestamps of the changes made to each file involved (if you even know what "
2279 "those files were)." 2304 "those files were)."
2280 msgstr "" 2305 msgstr ""
2281 2306
2282 #. type: Content of: <book><preface><sect1><sect2><para> 2307 #. type: Content of: <book><preface><sect1><sect2><para>
2283 #: ../en/ch00-preface.xml:558 2308 #: ../en/ch00-preface.xml:559
2284 msgid "" 2309 msgid ""
2285 "CVS has a muddled notion of tags and branches that I will not attempt to even " 2310 "CVS has a muddled notion of tags and branches that I will not attempt to even "
2286 "describe. It does not support renaming of files or directories well, making " 2311 "describe. It does not support renaming of files or directories well, making "
2287 "it easy to corrupt a repository. It has almost no internal consistency " 2312 "it easy to corrupt a repository. It has almost no internal consistency "
2288 "checking capabilities, so it is usually not even possible to tell whether or " 2313 "checking capabilities, so it is usually not even possible to tell whether or "
2289 "how a repository is corrupt. I would not recommend CVS for any project, " 2314 "how a repository is corrupt. I would not recommend CVS for any project, "
2290 "existing or new." 2315 "existing or new."
2291 msgstr "" 2316 msgstr ""
2292 2317
2293 #. type: Content of: <book><preface><sect1><sect2><para> 2318 #. type: Content of: <book><preface><sect1><sect2><para>
2294 #: ../en/ch00-preface.xml:566 2319 #: ../en/ch00-preface.xml:567
2295 msgid "" 2320 msgid ""
2296 "Mercurial can import CVS revision history. However, there are a few caveats " 2321 "Mercurial can import CVS revision history. However, there are a few caveats "
2297 "that apply; these are true of every other revision control tool's CVS " 2322 "that apply; these are true of every other revision control tool's CVS "
2298 "importer, too. Due to CVS's lack of atomic changes and unversioned " 2323 "importer, too. Due to CVS's lack of atomic changes and unversioned "
2299 "filesystem hierarchy, it is not possible to reconstruct CVS history " 2324 "filesystem hierarchy, it is not possible to reconstruct CVS history "
2304 "timestamps and files that have remained locked for over a decade are just two " 2329 "timestamps and files that have remained locked for over a decade are just two "
2305 "of the less interesting problems I can recall from personal experience)." 2330 "of the less interesting problems I can recall from personal experience)."
2306 msgstr "" 2331 msgstr ""
2307 2332
2308 #. type: Content of: <book><preface><sect1><sect2><para> 2333 #. type: Content of: <book><preface><sect1><sect2><para>
2309 #: ../en/ch00-preface.xml:580 2334 #: ../en/ch00-preface.xml:581
2310 msgid "Mercurial can import revision history from a CVS repository." 2335 msgid "Mercurial can import revision history from a CVS repository."
2311 msgstr "" 2336 msgstr ""
2312 2337
2313 #. type: Content of: <book><preface><sect1><sect2><title> 2338 #. type: Content of: <book><preface><sect1><sect2><title>
2314 #: ../en/ch00-preface.xml:586 2339 #: ../en/ch00-preface.xml:587
2315 msgid "Commercial tools" 2340 msgid "Commercial tools"
2316 msgstr "商业工具" 2341 msgstr "商业工具"
2317 2342
2318 #. type: Content of: <book><preface><sect1><sect2><para> 2343 #. type: Content of: <book><preface><sect1><sect2><para>
2319 #: ../en/ch00-preface.xml:588 2344 #: ../en/ch00-preface.xml:589
2320 msgid "" 2345 msgid ""
2321 "Perforce has a centralised client/server architecture, with no client-side " 2346 "Perforce has a centralised client/server architecture, with no client-side "
2322 "caching of any data. Unlike modern revision control tools, Perforce requires " 2347 "caching of any data. Unlike modern revision control tools, Perforce requires "
2323 "that a user run a command to inform the server about every file they intend " 2348 "that a user run a command to inform the server about every file they intend "
2324 "to edit." 2349 "to edit."
2325 msgstr "" 2350 msgstr ""
2326 2351
2327 #. type: Content of: <book><preface><sect1><sect2><para> 2352 #. type: Content of: <book><preface><sect1><sect2><para>
2328 #: ../en/ch00-preface.xml:594 2353 #: ../en/ch00-preface.xml:595
2329 msgid "" 2354 msgid ""
2330 "The performance of Perforce is quite good for small teams, but it falls off " 2355 "The performance of Perforce is quite good for small teams, but it falls off "
2331 "rapidly as the number of users grows beyond a few dozen. Modestly large " 2356 "rapidly as the number of users grows beyond a few dozen. Modestly large "
2332 "Perforce installations require the deployment of proxies to cope with the " 2357 "Perforce installations require the deployment of proxies to cope with the "
2333 "load their users generate." 2358 "load their users generate."
2334 msgstr "" 2359 msgstr ""
2335 2360
2336 #. type: Content of: <book><preface><sect1><sect2><title> 2361 #. type: Content of: <book><preface><sect1><sect2><title>
2337 #: ../en/ch00-preface.xml:603 2362 #: ../en/ch00-preface.xml:604
2338 msgid "Choosing a revision control tool" 2363 msgid "Choosing a revision control tool"
2339 msgstr "选择版本控制工具" 2364 msgstr "选择版本控制工具"
2340 2365
2341 #. type: Content of: <book><preface><sect1><sect2><para> 2366 #. type: Content of: <book><preface><sect1><sect2><para>
2342 #: ../en/ch00-preface.xml:605 2367 #: ../en/ch00-preface.xml:606
2343 msgid "" 2368 msgid ""
2344 "With the exception of CVS, all of the tools listed above have unique " 2369 "With the exception of CVS, all of the tools listed above have unique "
2345 "strengths that suit them to particular styles of work. There is no single " 2370 "strengths that suit them to particular styles of work. There is no single "
2346 "revision control tool that is best in all situations." 2371 "revision control tool that is best in all situations."
2347 msgstr "" 2372 msgstr ""
2348 2373
2349 #. type: Content of: <book><preface><sect1><sect2><para> 2374 #. type: Content of: <book><preface><sect1><sect2><para>
2350 #: ../en/ch00-preface.xml:610 2375 #: ../en/ch00-preface.xml:611
2351 msgid "" 2376 msgid ""
2352 "As an example, Subversion is a good choice for working with frequently edited " 2377 "As an example, Subversion is a good choice for working with frequently edited "
2353 "binary files, due to its centralised nature and support for file locking." 2378 "binary files, due to its centralised nature and support for file locking."
2354 msgstr "" 2379 msgstr ""
2355 2380
2356 #. type: Content of: <book><preface><sect1><sect2><para> 2381 #. type: Content of: <book><preface><sect1><sect2><para>
2357 #: ../en/ch00-preface.xml:614 2382 #: ../en/ch00-preface.xml:615
2358 msgid "" 2383 msgid ""
2359 "I personally find Mercurial's properties of simplicity, performance, and good " 2384 "I personally find Mercurial's properties of simplicity, performance, and good "
2360 "merge support to be a compelling combination that has served me well for " 2385 "merge support to be a compelling combination that has served me well for "
2361 "several years." 2386 "several years."
2362 msgstr "" 2387 msgstr ""
2363 2388
2364 #. type: Content of: <book><preface><sect1><title> 2389 #. type: Content of: <book><preface><sect1><title>
2365 #: ../en/ch00-preface.xml:622 2390 #: ../en/ch00-preface.xml:623
2366 msgid "Switching from another tool to Mercurial" 2391 msgid "Switching from another tool to Mercurial"
2367 msgstr "从其它工具切换到 Mercurial" 2392 msgstr "从其它工具切换到 Mercurial"
2368 2393
2369 #. type: Content of: <book><preface><sect1><para> 2394 #. type: Content of: <book><preface><sect1><para>
2370 #: ../en/ch00-preface.xml:624 2395 #: ../en/ch00-preface.xml:625
2371 msgid "" 2396 msgid ""
2372 "Mercurial is bundled with an extension named <literal role=\"hg-ext" 2397 "Mercurial is bundled with an extension named <literal role=\"hg-ext"
2373 "\">convert</literal>, which can incrementally import revision history from " 2398 "\">convert</literal>, which can incrementally import revision history from "
2374 "several other revision control tools. By <quote>incremental</quote>, I mean " 2399 "several other revision control tools. By <quote>incremental</quote>, I mean "
2375 "that you can convert all of a project's history to date in one go, then rerun " 2400 "that you can convert all of a project's history to date in one go, then rerun "
2376 "the conversion later to obtain new changes that happened after the initial " 2401 "the conversion later to obtain new changes that happened after the initial "
2377 "conversion." 2402 "conversion."
2378 msgstr "" 2403 msgstr ""
2379 2404
2380 #. type: Content of: <book><preface><sect1><para> 2405 #. type: Content of: <book><preface><sect1><para>
2381 #: ../en/ch00-preface.xml:632 2406 #: ../en/ch00-preface.xml:633
2382 msgid "" 2407 msgid ""
2383 "The revision control tools supported by <literal role=\"hg-ext\">convert</" 2408 "The revision control tools supported by <literal role=\"hg-ext\">convert</"
2384 "literal> are as follows:" 2409 "literal> are as follows:"
2385 msgstr "<literal role=\"hg-ext\">convert</literal> 支持的版本控制工具有:" 2410 msgstr "<literal role=\"hg-ext\">convert</literal> 支持的版本控制工具有:"
2386 2411
2387 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para> 2412 #. type: Content of: <book><preface><sect1><itemizedlist><listitem><para>
2388 #: ../en/ch00-preface.xml:638 2413 #: ../en/ch00-preface.xml:639
2389 msgid "Darcs" 2414 msgid "Darcs"
2390 msgstr "" 2415 msgstr ""
2391 2416
2392 #. type: Content of: <book><preface><sect1><para> 2417 #. type: Content of: <book><preface><sect1><para>
2393 #: ../en/ch00-preface.xml:640 2418 #: ../en/ch00-preface.xml:641
2394 msgid "" 2419 msgid ""
2395 "In addition, <literal role=\"hg-ext\">convert</literal> can export changes " 2420 "In addition, <literal role=\"hg-ext\">convert</literal> can export changes "
2396 "from Mercurial to Subversion. This makes it possible to try Subversion and " 2421 "from Mercurial to Subversion. This makes it possible to try Subversion and "
2397 "Mercurial in parallel before committing to a switchover, without risking the " 2422 "Mercurial in parallel before committing to a switchover, without risking the "
2398 "loss of any work." 2423 "loss of any work."
2399 msgstr "" 2424 msgstr ""
2400 2425
2401 #. type: Content of: <book><preface><sect1><para> 2426 #. type: Content of: <book><preface><sect1><para>
2402 #: ../en/ch00-preface.xml:646 2427 #: ../en/ch00-preface.xml:647
2403 msgid "" 2428 msgid ""
2404 "The <command role=\"hg-ext-convert\">convert</command> command is easy to " 2429 "The <command role=\"hg-ext-convert\">convert</command> command is easy to "
2405 "use. Simply point it at the path or URL of the source repository, optionally " 2430 "use. Simply point it at the path or URL of the source repository, optionally "
2406 "give it the name of the destination repository, and it will start working. " 2431 "give it the name of the destination repository, and it will start working. "
2407 "After the initial conversion, just run the same command again to import new " 2432 "After the initial conversion, just run the same command again to import new "
2408 "changes." 2433 "changes."
2409 msgstr "" 2434 msgstr ""
2410 2435
2411 #. type: Content of: <book><preface><sect1><title> 2436 #. type: Content of: <book><preface><sect1><title>
2412 #: ../en/ch00-preface.xml:655 2437 #: ../en/ch00-preface.xml:656
2413 msgid "A short history of revision control" 2438 msgid "A short history of revision control"
2414 msgstr "版本控制简史" 2439 msgstr "版本控制简史"
2415 2440
2416 #. type: Content of: <book><preface><sect1><para> 2441 #. type: Content of: <book><preface><sect1><para>
2417 #: ../en/ch00-preface.xml:657 2442 #: ../en/ch00-preface.xml:658
2418 msgid "" 2443 msgid ""
2419 "The best known of the old-time revision control tools is SCCS (Source Code " 2444 "The best known of the old-time revision control tools is SCCS (Source Code "
2420 "Control System), which Marc Rochkind wrote at Bell Labs, in the early 1970s. " 2445 "Control System), which Marc Rochkind wrote at Bell Labs, in the early 1970s. "
2421 "SCCS operated on individual files, and required every person working on a " 2446 "SCCS operated on individual files, and required every person working on a "
2422 "project to have access to a shared workspace on a single system. Only one " 2447 "project to have access to a shared workspace on a single system. Only one "
2425 "unlock them, preventing anyone else from modifying those files without the " 2450 "unlock them, preventing anyone else from modifying those files without the "
2426 "help of an administrator." 2451 "help of an administrator."
2427 msgstr "" 2452 msgstr ""
2428 2453
2429 #. type: Content of: <book><preface><sect1><para> 2454 #. type: Content of: <book><preface><sect1><para>
2430 #: ../en/ch00-preface.xml:668 2455 #: ../en/ch00-preface.xml:669
2431 msgid "" 2456 msgid ""
2432 "Walter Tichy developed a free alternative to SCCS in the early 1980s; he " 2457 "Walter Tichy developed a free alternative to SCCS in the early 1980s; he "
2433 "called his program RCS (Revision Control System). Like SCCS, RCS required " 2458 "called his program RCS (Revision Control System). Like SCCS, RCS required "
2434 "developers to work in a single shared workspace, and to lock files to prevent " 2459 "developers to work in a single shared workspace, and to lock files to prevent "
2435 "multiple people from modifying them simultaneously." 2460 "multiple people from modifying them simultaneously."
2436 msgstr "" 2461 msgstr ""
2437 2462
2438 #. type: Content of: <book><preface><sect1><para> 2463 #. type: Content of: <book><preface><sect1><para>
2439 #: ../en/ch00-preface.xml:674 2464 #: ../en/ch00-preface.xml:675
2440 msgid "" 2465 msgid ""
2441 "Later in the 1980s, Dick Grune used RCS as a building block for a set of " 2466 "Later in the 1980s, Dick Grune used RCS as a building block for a set of "
2442 "shell scripts he initially called cmt, but then renamed to CVS (Concurrent " 2467 "shell scripts he initially called cmt, but then renamed to CVS (Concurrent "
2443 "Versions System). The big innovation of CVS was that it let developers work " 2468 "Versions System). The big innovation of CVS was that it let developers work "
2444 "simultaneously and somewhat independently in their own personal workspaces. " 2469 "simultaneously and somewhat independently in their own personal workspaces. "
2447 "of every project file, and could modify their copies independently. They had " 2472 "of every project file, and could modify their copies independently. They had "
2448 "to merge their edits prior to committing changes to the central repository." 2473 "to merge their edits prior to committing changes to the central repository."
2449 msgstr "" 2474 msgstr ""
2450 2475
2451 #. type: Content of: <book><preface><sect1><para> 2476 #. type: Content of: <book><preface><sect1><para>
2452 #: ../en/ch00-preface.xml:685 2477 #: ../en/ch00-preface.xml:686
2453 msgid "" 2478 msgid ""
2454 "Brian Berliner took Grune's original scripts and rewrote them in C, releasing " 2479 "Brian Berliner took Grune's original scripts and rewrote them in C, releasing "
2455 "in 1989 the code that has since developed into the modern version of CVS. " 2480 "in 1989 the code that has since developed into the modern version of CVS. "
2456 "CVS subsequently acquired the ability to operate over a network connection, " 2481 "CVS subsequently acquired the ability to operate over a network connection, "
2457 "giving it a client/server architecture. CVS's architecture is centralised; " 2482 "giving it a client/server architecture. CVS's architecture is centralised; "
2461 "successful; it is probably the world's most widely used revision control " 2486 "successful; it is probably the world's most widely used revision control "
2462 "system." 2487 "system."
2463 msgstr "" 2488 msgstr ""
2464 2489
2465 #. type: Content of: <book><preface><sect1><para> 2490 #. type: Content of: <book><preface><sect1><para>
2466 #: ../en/ch00-preface.xml:696 2491 #: ../en/ch00-preface.xml:697
2467 msgid "" 2492 msgid ""
2468 "In the early 1990s, Sun Microsystems developed an early distributed revision " 2493 "In the early 1990s, Sun Microsystems developed an early distributed revision "
2469 "control system, called TeamWare. A TeamWare workspace contains a complete " 2494 "control system, called TeamWare. A TeamWare workspace contains a complete "
2470 "copy of the project's history. TeamWare has no notion of a central " 2495 "copy of the project's history. TeamWare has no notion of a central "
2471 "repository. (CVS relied upon RCS for its history storage; TeamWare used " 2496 "repository. (CVS relied upon RCS for its history storage; TeamWare used "
2472 "SCCS.)" 2497 "SCCS.)"
2473 msgstr "" 2498 msgstr ""
2474 2499
2475 #. type: Content of: <book><preface><sect1><para> 2500 #. type: Content of: <book><preface><sect1><para>
2476 #: ../en/ch00-preface.xml:703 2501 #: ../en/ch00-preface.xml:704
2477 msgid "" 2502 msgid ""
2478 "As the 1990s progressed, awareness grew of a number of problems with CVS. It " 2503 "As the 1990s progressed, awareness grew of a number of problems with CVS. It "
2479 "records simultaneous changes to multiple files individually, instead of " 2504 "records simultaneous changes to multiple files individually, instead of "
2480 "grouping them together as a single logically atomic operation. It does not " 2505 "grouping them together as a single logically atomic operation. It does not "
2481 "manage its file hierarchy well; it is easy to make a mess of a repository by " 2506 "manage its file hierarchy well; it is easy to make a mess of a repository by "
2483 "and maintain, which made the <quote>pain level</quote> of fixing these " 2508 "and maintain, which made the <quote>pain level</quote> of fixing these "
2484 "architectural problems prohibitive." 2509 "architectural problems prohibitive."
2485 msgstr "" 2510 msgstr ""
2486 2511
2487 #. type: Content of: <book><preface><sect1><para> 2512 #. type: Content of: <book><preface><sect1><para>
2488 #: ../en/ch00-preface.xml:713 2513 #: ../en/ch00-preface.xml:714
2489 msgid "" 2514 msgid ""
2490 "In 2001, Jim Blandy and Karl Fogel, two developers who had worked on CVS, " 2515 "In 2001, Jim Blandy and Karl Fogel, two developers who had worked on CVS, "
2491 "started a project to replace it with a tool that would have a better " 2516 "started a project to replace it with a tool that would have a better "
2492 "architecture and cleaner code. The result, Subversion, does not stray from " 2517 "architecture and cleaner code. The result, Subversion, does not stray from "
2493 "CVS's centralised client/server model, but it adds multi-file atomic commits, " 2518 "CVS's centralised client/server model, but it adds multi-file atomic commits, "
2495 "generally better tool than CVS. Since its initial release, it has rapidly " 2520 "generally better tool than CVS. Since its initial release, it has rapidly "
2496 "grown in popularity." 2521 "grown in popularity."
2497 msgstr "" 2522 msgstr ""
2498 2523
2499 #. type: Content of: <book><preface><sect1><para> 2524 #. type: Content of: <book><preface><sect1><para>
2500 #: ../en/ch00-preface.xml:722 2525 #: ../en/ch00-preface.xml:723
2501 msgid "" 2526 msgid ""
2502 "More or less simultaneously, Graydon Hoare began working on an ambitious " 2527 "More or less simultaneously, Graydon Hoare began working on an ambitious "
2503 "distributed revision control system that he named Monotone. While Monotone " 2528 "distributed revision control system that he named Monotone. While Monotone "
2504 "addresses many of CVS's design flaws and has a peer-to-peer architecture, it " 2529 "addresses many of CVS's design flaws and has a peer-to-peer architecture, it "
2505 "goes beyond earlier (and subsequent) revision control tools in a number of " 2530 "goes beyond earlier (and subsequent) revision control tools in a number of "
2506 "innovative ways. It uses cryptographic hashes as identifiers, and has an " 2531 "innovative ways. It uses cryptographic hashes as identifiers, and has an "
2507 "integral notion of <quote>trust</quote> for code from different sources." 2532 "integral notion of <quote>trust</quote> for code from different sources."
2508 msgstr "" 2533 msgstr ""
2509 2534
2510 #. type: Content of: <book><preface><sect1><para> 2535 #. type: Content of: <book><preface><sect1><para>
2511 #: ../en/ch00-preface.xml:731 2536 #: ../en/ch00-preface.xml:732
2512 msgid "" 2537 msgid ""
2513 "Mercurial began life in 2005. While a few aspects of its design are " 2538 "Mercurial began life in 2005. While a few aspects of its design are "
2514 "influenced by Monotone, Mercurial focuses on ease of use, high performance, " 2539 "influenced by Monotone, Mercurial focuses on ease of use, high performance, "
2515 "and scalability to very large projects." 2540 "and scalability to very large projects."
2516 msgstr "" 2541 msgstr ""
2517 2542
2518 #. type: Content of: <book><preface><sect1><title> 2543 #. type: Content of: <book><preface><sect1><title>
2519 #: ../en/ch00-preface.xml:739 2544 #: ../en/ch00-preface.xml:740
2545 #, fuzzy
2520 msgid "Colophon—this book is Free" 2546 msgid "Colophon—this book is Free"
2521 msgstr "后记—本书是自由的!" 2547 msgstr "后记—本书是自由的!"
2522 2548
2523 #. type: Content of: <book><preface><sect1><para> 2549 #. type: Content of: <book><preface><sect1><para>
2524 #: ../en/ch00-preface.xml:741 2550 #: ../en/ch00-preface.xml:742
2525 msgid "" 2551 msgid ""
2526 "This book is licensed under the Open Publication License, and is produced " 2552 "This book is licensed under the Open Publication License, and is produced "
2527 "entirely using Free Software tools. It is typeset with DocBook XML. " 2553 "entirely using Free Software tools. It is typeset with DocBook XML. "
2528 "Illustrations are drawn and rendered with <ulink url=\"http://www.inkscape." 2554 "Illustrations are drawn and rendered with <ulink url=\"http://www.inkscape."
2529 "org/\">Inkscape</ulink>." 2555 "org/\">Inkscape</ulink>."
2530 msgstr "" 2556 msgstr ""
2531 2557
2532 #. type: Content of: <book><preface><sect1><para> 2558 #. type: Content of: <book><preface><sect1><para>
2533 #: ../en/ch00-preface.xml:746 2559 #: ../en/ch00-preface.xml:747
2534 msgid "" 2560 msgid ""
2535 "The complete source code for this book is published as a Mercurial " 2561 "The complete source code for this book is published as a Mercurial "
2536 "repository, at <ulink url=\"http://hg.serpentine.com/mercurial/book\">http://" 2562 "repository, at <ulink url=\"http://hg.serpentine.com/mercurial/book\">http://"
2537 "hg.serpentine.com/mercurial/book</ulink>." 2563 "hg.serpentine.com/mercurial/book</ulink>."
2538 msgstr "" 2564 msgstr ""
2557 "对于每种流行的操作系统,都有已经构建的二进制软件包。这让在你的计算机上开始使" 2583 "对于每种流行的操作系统,都有已经构建的二进制软件包。这让在你的计算机上开始使"
2558 "用 Mercurial 变得很容易。" 2584 "用 Mercurial 变得很容易。"
2559 2585
2560 #. type: Content of: <book><chapter><sect1><sect2><title> 2586 #. type: Content of: <book><chapter><sect1><sect2><title>
2561 #: ../en/ch01-tour-basic.xml:15 2587 #: ../en/ch01-tour-basic.xml:15
2588 msgid "Windows"
2589 msgstr ""
2590
2591 #. type: Content of: <book><chapter><sect1><sect2><para>
2592 #: ../en/ch01-tour-basic.xml:17
2593 msgid ""
2594 "The best version of Mercurial for Windows is TortoiseHg, which can be found "
2595 "at <ulink url=\"http://bitbucket.org/tortoisehg/stable/wiki/Home\">http://"
2596 "bitbucket.org/tortoisehg/stable/wiki/Home</ulink>. This package has no "
2597 "external dependencies; it <quote>just works</quote>. It provides both "
2598 "command line and graphical user interfaces."
2599 msgstr ""
2600
2601 #. type: Content of: <book><chapter><sect1><sect2><title>
2602 #: ../en/ch01-tour-basic.xml:27
2603 msgid "Mac OS X"
2604 msgstr "Mac OS X"
2605
2606 #. type: Content of: <book><chapter><sect1><sect2><para>
2607 #: ../en/ch01-tour-basic.xml:29
2608 msgid ""
2609 "Lee Cantey publishes an installer of Mercurial for Mac OS X at <ulink url="
2610 "\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink>."
2611 msgstr ""
2612
2613 #. type: Content of: <book><chapter><sect1><sect2><title>
2614 #: ../en/ch01-tour-basic.xml:35
2562 msgid "Linux" 2615 msgid "Linux"
2563 msgstr "Linux" 2616 msgstr "Linux"
2564 2617
2565 #. type: Content of: <book><chapter><sect1><sect2><para> 2618 #. type: Content of: <book><chapter><sect1><sect2><para>
2566 #: ../en/ch01-tour-basic.xml:17 2619 #: ../en/ch01-tour-basic.xml:37
2567 msgid "" 2620 msgid ""
2568 "Because each Linux distribution has its own packaging tools, policies, and " 2621 "Because each Linux distribution has its own packaging tools, policies, and "
2569 "rate of development, it's difficult to give a comprehensive set of " 2622 "rate of development, it's difficult to give a comprehensive set of "
2570 "instructions on how to install Mercurial binaries. The version of Mercurial " 2623 "instructions on how to install Mercurial binaries. The version of Mercurial "
2571 "that you will end up with can vary depending on how active the person is who " 2624 "that you will end up with can vary depending on how active the person is who "
2574 "由于每种 Linux 发行版都有自己的包管理工具,开发策略和进度,从而很难给出安装 " 2627 "由于每种 Linux 发行版都有自己的包管理工具,开发策略和进度,从而很难给出安装 "
2575 "Mercurial 二进制包的全面说明。你安装的 Mercurial 版本,在很大程度上依赖于你所" 2628 "Mercurial 二进制包的全面说明。你安装的 Mercurial 版本,在很大程度上依赖于你所"
2576 "使用的发行版的 Mercurial 维护者的活跃程度。" 2629 "使用的发行版的 Mercurial 维护者的活跃程度。"
2577 2630
2578 #. type: Content of: <book><chapter><sect1><sect2><para> 2631 #. type: Content of: <book><chapter><sect1><sect2><para>
2579 #: ../en/ch01-tour-basic.xml:24 2632 #: ../en/ch01-tour-basic.xml:44
2580 msgid "" 2633 msgid ""
2581 "To keep things simple, I will focus on installing Mercurial from the command " 2634 "To keep things simple, I will focus on installing Mercurial from the command "
2582 "line under the most popular Linux distributions. Most of these distributions " 2635 "line under the most popular Linux distributions. Most of these distributions "
2583 "provide graphical package managers that will let you install Mercurial with a " 2636 "provide graphical package managers that will let you install Mercurial with a "
2584 "single click; the package name to look for is <literal>mercurial</literal>." 2637 "single click; the package name to look for is <literal>mercurial</literal>."
2586 "为了让事情简单,我会致力于说明在最流行的 Linux 发行版中,从命令行安装 " 2639 "为了让事情简单,我会致力于说明在最流行的 Linux 发行版中,从命令行安装 "
2587 "Mercurial 的方法。这些发行版都提供了图形界面的包管理器,让你通过点击鼠标安装 " 2640 "Mercurial 的方法。这些发行版都提供了图形界面的包管理器,让你通过点击鼠标安装 "
2588 "Mercurial;寻找的包名称是 <literal>mercurial</literal>。" 2641 "Mercurial;寻找的包名称是 <literal>mercurial</literal>。"
2589 2642
2590 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 2643 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
2591 #: ../en/ch01-tour-basic.xml:32 2644 #: ../en/ch01-tour-basic.xml:52
2592 msgid "Debian:" 2645 msgid "Ubuntu and Debian:"
2593 msgstr "Debian:" 2646 msgstr ""
2594 2647
2595 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 2648 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
2596 #: ../en/ch01-tour-basic.xml:34 2649 #: ../en/ch01-tour-basic.xml:54
2597 msgid "Fedora Core:" 2650 #, fuzzy
2598 msgstr "Fedora Core:" 2651 msgid "Fedora and OpenSUSE:"
2652 msgstr "OpenSUSE:"
2599 2653
2600 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 2654 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
2601 #: ../en/ch01-tour-basic.xml:36 2655 #: ../en/ch01-tour-basic.xml:56
2602 msgid "Gentoo:" 2656 msgid "Gentoo:"
2603 msgstr "Gentoo:" 2657 msgstr "Gentoo:"
2604 2658
2605 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
2606 #: ../en/ch01-tour-basic.xml:38
2607 msgid "OpenSUSE:"
2608 msgstr "OpenSUSE:"
2609
2610 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
2611 #: ../en/ch01-tour-basic.xml:40
2612 msgid ""
2613 "Ubuntu: Ubuntu's Mercurial package is based on Debian's. To install it, run "
2614 "the following command."
2615 msgstr "Ubuntu: Ubuntu 的 Mercurial 包基于 Debian。安装时,使用如下命令:"
2616
2617 #. type: Content of: <book><chapter><sect1><sect2><title> 2659 #. type: Content of: <book><chapter><sect1><sect2><title>
2618 #: ../en/ch01-tour-basic.xml:48 2660 #: ../en/ch01-tour-basic.xml:62
2619 msgid "Solaris" 2661 msgid "Solaris"
2620 msgstr "Solaris" 2662 msgstr "Solaris"
2621 2663
2622 #. type: Content of: <book><chapter><sect1><sect2><para> 2664 #. type: Content of: <book><chapter><sect1><sect2><para>
2623 #: ../en/ch01-tour-basic.xml:50 2665 #: ../en/ch01-tour-basic.xml:64
2666 #, fuzzy
2624 msgid "" 2667 msgid ""
2625 "SunFreeWare, at <ulink url=\"http://www.sunfreeware.com\">http://www." 2668 "SunFreeWare, at <ulink url=\"http://www.sunfreeware.com\">http://www."
2626 "sunfreeware.com</ulink>, is a good source for a large number of pre-built " 2669 "sunfreeware.com</ulink>, provides prebuilt packages of Mercurial."
2627 "Solaris packages for 32 and 64 bit Intel and Sparc architectures, including "
2628 "current versions of Mercurial."
2629 msgstr "" 2670 msgstr ""
2630 "位于 <ulink url=\"http://www.sunfreeware.com\">http://www.sunfreeware.com</" 2671 "位于 <ulink url=\"http://www.sunfreeware.com\">http://www.sunfreeware.com</"
2631 "ulink> 的 SunFreeWare 是很好的二进制安装源,它包含 Intel 和 Sparc 架构的 32 位" 2672 "ulink> 的 SunFreeWare 是很好的二进制安装源,它包含 Intel 和 Sparc 架构的 32 位"
2632 "和 64 位包,包含 Mercurial 的当前版本。" 2673 "和 64 位包,包含 Mercurial 的当前版本。"
2633 2674
2634 #. type: Content of: <book><chapter><sect1><sect2><title>
2635 #: ../en/ch01-tour-basic.xml:58
2636 msgid "Mac OS X"
2637 msgstr "Mac OS X"
2638
2639 #. type: Content of: <book><chapter><sect1><sect2><para>
2640 #: ../en/ch01-tour-basic.xml:60
2641 msgid ""
2642 "Lee Cantey publishes an installer of Mercurial for Mac OS X at <ulink url="
2643 "\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink>. "
2644 "This package works on both Intel- and Power-based Macs. Before you can use "
2645 "it, you must install a compatible version of Universal MacPython "
2646 "<citation>web:macpython</citation>. This is easy to do; simply follow the "
2647 "instructions on Lee's site."
2648 msgstr ""
2649
2650 #. type: Content of: <book><chapter><sect1><sect2><para>
2651 #: ../en/ch01-tour-basic.xml:69
2652 msgid ""
2653 "It's also possible to install Mercurial using Fink or MacPorts, two popular "
2654 "free package managers for Mac OS X. If you have Fink, use <command>sudo apt-"
2655 "get install mercurial-py25</command>. If MacPorts, <command>sudo port "
2656 "install mercurial</command>."
2657 msgstr ""
2658
2659 #. type: Content of: <book><chapter><sect1><sect2><title>
2660 #: ../en/ch01-tour-basic.xml:77
2661 msgid "Windows"
2662 msgstr ""
2663
2664 #. type: Content of: <book><chapter><sect1><sect2><para>
2665 #: ../en/ch01-tour-basic.xml:79
2666 msgid ""
2667 "Lee Cantey publishes an installer of Mercurial for Windows at <ulink url="
2668 "\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink>. "
2669 "This package has no external dependencies; it <quote>just works</quote>."
2670 msgstr ""
2671
2672 #. type: Content of: <book><chapter><sect1><sect2><note><para>
2673 #: ../en/ch01-tour-basic.xml:86
2674 msgid ""
2675 "The Windows version of Mercurial does not automatically convert line endings "
2676 "between Windows and Unix styles. If you want to share work with Unix users, "
2677 "you must do a little additional configuration work. XXX Flesh this out."
2678 msgstr ""
2679
2680 #. type: Content of: <book><chapter><sect1><title> 2675 #. type: Content of: <book><chapter><sect1><title>
2681 #: ../en/ch01-tour-basic.xml:96 2676 #: ../en/ch01-tour-basic.xml:73
2682 msgid "Getting started" 2677 msgid "Getting started"
2683 msgstr "开始" 2678 msgstr "开始"
2684 2679
2685 #. type: Content of: <book><chapter><sect1><para> 2680 #. type: Content of: <book><chapter><sect1><para>
2686 #: ../en/ch01-tour-basic.xml:98 2681 #: ../en/ch01-tour-basic.xml:75
2687 msgid "" 2682 msgid ""
2688 "To begin, we'll use the <command role=\"hg-cmd\">hg version</command> command " 2683 "To begin, we'll use the <command role=\"hg-cmd\">hg version</command> command "
2689 "to find out whether Mercurial is actually installed properly. The actual " 2684 "to find out whether Mercurial is actually installed properly. The actual "
2690 "version information that it prints isn't so important; it's whether it prints " 2685 "version information that it prints isn't so important; it's whether it prints "
2691 "anything at all that we care about." 2686 "anything at all that we care about."
2692 msgstr "" 2687 msgstr ""
2693 2688
2694 #. type: Content of: <book><chapter><sect1><sect2><title> 2689 #. type: Content of: <book><chapter><sect1><sect2><title>
2695 #: ../en/ch01-tour-basic.xml:107 2690 #: ../en/ch01-tour-basic.xml:84
2696 msgid "Built-in help" 2691 msgid "Built-in help"
2697 msgstr "内置帮助" 2692 msgstr "内置帮助"
2698 2693
2699 #. type: Content of: <book><chapter><sect1><sect2><para> 2694 #. type: Content of: <book><chapter><sect1><sect2><para>
2700 #: ../en/ch01-tour-basic.xml:109 2695 #: ../en/ch01-tour-basic.xml:86
2701 msgid "" 2696 msgid ""
2702 "Mercurial provides a built-in help system. This is invaluable for those " 2697 "Mercurial provides a built-in help system. This is invaluable for those "
2703 "times when you find yourself stuck trying to remember how to run a command. " 2698 "times when you find yourself stuck trying to remember how to run a command. "
2704 "If you are completely stuck, simply run <command role=\"hg-cmd\">hg help</" 2699 "If you are completely stuck, simply run <command role=\"hg-cmd\">hg help</"
2705 "command>; it will print a brief list of commands, along with a description of " 2700 "command>; it will print a brief list of commands, along with a description of "
2706 "what each does. If you ask for help on a specific command (as below), it " 2701 "what each does. If you ask for help on a specific command (as below), it "
2707 "prints more detailed information." 2702 "prints more detailed information."
2708 msgstr "" 2703 msgstr ""
2709 2704
2710 #. type: Content of: <book><chapter><sect1><sect2><para> 2705 #. type: Content of: <book><chapter><sect1><sect2><para>
2711 #: ../en/ch01-tour-basic.xml:120 2706 #: ../en/ch01-tour-basic.xml:97
2712 msgid "" 2707 msgid ""
2713 "For a more impressive level of detail (which you won't usually need) run " 2708 "For a more impressive level of detail (which you won't usually need) run "
2714 "<command role=\"hg-cmd\">hg help <option role=\"hg-opt-global\">-v</option></" 2709 "<command role=\"hg-cmd\">hg help <option role=\"hg-opt-global\">-v</option></"
2715 "command>. The <option role=\"hg-opt-global\">-v</option> option is short for " 2710 "command>. The <option role=\"hg-opt-global\">-v</option> option is short for "
2716 "<option role=\"hg-opt-global\">--verbose</option>, and tells Mercurial to " 2711 "<option role=\"hg-opt-global\">--verbose</option>, and tells Mercurial to "
2717 "print more information than it usually would." 2712 "print more information than it usually would."
2718 msgstr "" 2713 msgstr ""
2719 2714
2720 #. type: Content of: <book><chapter><sect1><title> 2715 #. type: Content of: <book><chapter><sect1><title>
2721 #: ../en/ch01-tour-basic.xml:131 2716 #: ../en/ch01-tour-basic.xml:108
2722 msgid "Working with a repository" 2717 msgid "Working with a repository"
2723 msgstr "使用版本库" 2718 msgstr "使用版本库"
2724 2719
2725 #. type: Content of: <book><chapter><sect1><para> 2720 #. type: Content of: <book><chapter><sect1><para>
2726 #: ../en/ch01-tour-basic.xml:133 2721 #: ../en/ch01-tour-basic.xml:110
2727 msgid "" 2722 msgid ""
2728 "In Mercurial, everything happens inside a <emphasis>repository</emphasis>. " 2723 "In Mercurial, everything happens inside a <emphasis>repository</emphasis>. "
2729 "The repository for a project contains all of the files that <quote>belong to</" 2724 "The repository for a project contains all of the files that <quote>belong to</"
2730 "quote> that project, along with a historical record of the project's files." 2725 "quote> that project, along with a historical record of the project's files."
2731 msgstr "" 2726 msgstr ""
2732 2727
2733 #. type: Content of: <book><chapter><sect1><para> 2728 #. type: Content of: <book><chapter><sect1><para>
2734 #: ../en/ch01-tour-basic.xml:139 2729 #: ../en/ch01-tour-basic.xml:116
2735 msgid "" 2730 msgid ""
2736 "There's nothing particularly magical about a repository; it is simply a " 2731 "There's nothing particularly magical about a repository; it is simply a "
2737 "directory tree in your filesystem that Mercurial treats as special. You can " 2732 "directory tree in your filesystem that Mercurial treats as special. You can "
2738 "rename or delete a repository any time you like, using either the command " 2733 "rename or delete a repository any time you like, using either the command "
2739 "line or your file browser." 2734 "line or your file browser."
2740 msgstr "" 2735 msgstr ""
2741 2736
2742 #. type: Content of: <book><chapter><sect1><sect2><title> 2737 #. type: Content of: <book><chapter><sect1><sect2><title>
2743 #: ../en/ch01-tour-basic.xml:146 2738 #: ../en/ch01-tour-basic.xml:123
2744 msgid "Making a local copy of a repository" 2739 msgid "Making a local copy of a repository"
2745 msgstr "创建版本库的工作副本" 2740 msgstr "创建版本库的工作副本"
2746 2741
2747 #. type: Content of: <book><chapter><sect1><sect2><para> 2742 #. type: Content of: <book><chapter><sect1><sect2><para>
2748 #: ../en/ch01-tour-basic.xml:148 2743 #: ../en/ch01-tour-basic.xml:125
2749 msgid "" 2744 msgid ""
2750 "<emphasis>Copying</emphasis> a repository is just a little bit special. " 2745 "<emphasis>Copying</emphasis> a repository is just a little bit special. "
2751 "While you could use a normal file copying command to make a copy of a " 2746 "While you could use a normal file copying command to make a copy of a "
2752 "repository, it's best to use a built-in command that Mercurial provides. " 2747 "repository, it's best to use a built-in command that Mercurial provides. "
2753 "This command is called <command role=\"hg-cmd\">hg clone</command>, because " 2748 "This command is called <command role=\"hg-cmd\">hg clone</command>, because "
2754 "it creates an identical copy of an existing repository." 2749 "it makes an identical copy of an existing repository."
2755 msgstr "" 2750 msgstr ""
2756 2751
2757 #. type: Content of: <book><chapter><sect1><sect2><para> 2752 #. type: Content of: <book><chapter><sect1><sect2><para>
2758 #: ../en/ch01-tour-basic.xml:157 2753 #: ../en/ch01-tour-basic.xml:134
2754 msgid ""
2755 "One advantage of using <command role=\"hg-cmd\">hg clone</command> is that, "
2756 "as we can see above, it lets us clone repositories over the network. Another "
2757 "is that it remembers where we cloned from, which we'll find useful soon when "
2758 "we want to fetch new changes from another repository."
2759 msgstr ""
2760
2761 #. type: Content of: <book><chapter><sect1><sect2><para>
2762 #: ../en/ch01-tour-basic.xml:140
2759 msgid "" 2763 msgid ""
2760 "If our clone succeeded, we should now have a local directory called <filename " 2764 "If our clone succeeded, we should now have a local directory called <filename "
2761 "class=\"directory\">hello</filename>. This directory will contain some files." 2765 "class=\"directory\">hello</filename>. This directory will contain some files."
2762 msgstr "" 2766 msgstr ""
2763 2767
2764 #. type: Content of: <book><chapter><sect1><sect2><para> 2768 #. type: Content of: <book><chapter><sect1><sect2><para>
2765 #: ../en/ch01-tour-basic.xml:163 2769 #: ../en/ch01-tour-basic.xml:146
2766 msgid "" 2770 msgid ""
2767 "These files have the same contents and history in our repository as they do " 2771 "These files have the same contents and history in our repository as they do "
2768 "in the repository we cloned." 2772 "in the repository we cloned."
2769 msgstr "" 2773 msgstr ""
2770 2774
2771 #. type: Content of: <book><chapter><sect1><sect2><para> 2775 #. type: Content of: <book><chapter><sect1><sect2><para>
2772 #: ../en/ch01-tour-basic.xml:166 2776 #: ../en/ch01-tour-basic.xml:149
2773 msgid "" 2777 msgid ""
2774 "Every Mercurial repository is complete, self-contained, and independent. It " 2778 "Every Mercurial repository is complete, self-contained, and independent. It "
2775 "contains its own private copy of a project's files and history. A cloned " 2779 "contains its own private copy of a project's files and history. As we just "
2776 "repository remembers the location of the repository it was cloned from, but " 2780 "mentioned, a cloned repository remembers the location of the repository it "
2777 "it does not communicate with that repository, or any other, unless you tell " 2781 "was cloned from, but Mercurial will not communicate with that repository, or "
2778 "it to." 2782 "any other, unless you tell it to."
2779 msgstr "" 2783 msgstr ""
2780 2784
2781 #. type: Content of: <book><chapter><sect1><sect2><para> 2785 #. type: Content of: <book><chapter><sect1><sect2><para>
2782 #: ../en/ch01-tour-basic.xml:173 2786 #: ../en/ch01-tour-basic.xml:156
2783 msgid "" 2787 msgid ""
2784 "What this means for now is that we're free to experiment with our repository, " 2788 "What this means for now is that we're free to experiment with our repository, "
2785 "safe in the knowledge that it's a private <quote>sandbox</quote> that won't " 2789 "safe in the knowledge that it's a private <quote>sandbox</quote> that won't "
2786 "affect anyone else." 2790 "affect anyone else."
2787 msgstr "" 2791 msgstr ""
2788 2792
2789 #. type: Content of: <book><chapter><sect1><sect2><title> 2793 #. type: Content of: <book><chapter><sect1><sect2><title>
2790 #: ../en/ch01-tour-basic.xml:179 2794 #: ../en/ch01-tour-basic.xml:162
2791 msgid "What's in a repository?" 2795 msgid "What's in a repository?"
2792 msgstr "什么是版本库?" 2796 msgstr "什么是版本库?"
2793 2797
2794 #. type: Content of: <book><chapter><sect1><sect2><para> 2798 #. type: Content of: <book><chapter><sect1><sect2><para>
2795 #: ../en/ch01-tour-basic.xml:181 2799 #: ../en/ch01-tour-basic.xml:164
2796 msgid "" 2800 msgid ""
2797 "When we take a more detailed look inside a repository, we can see that it " 2801 "When we take a more detailed look inside a repository, we can see that it "
2798 "contains a directory named <filename class=\"directory\">.hg</filename>. " 2802 "contains a directory named <filename class=\"directory\">.hg</filename>. "
2799 "This is where Mercurial keeps all of its metadata for the repository." 2803 "This is where Mercurial keeps all of its metadata for the repository."
2800 msgstr "" 2804 msgstr ""
2801 2805
2802 #. type: Content of: <book><chapter><sect1><sect2><para> 2806 #. type: Content of: <book><chapter><sect1><sect2><para>
2803 #: ../en/ch01-tour-basic.xml:188 2807 #: ../en/ch01-tour-basic.xml:171
2804 msgid "" 2808 msgid ""
2805 "The contents of the <filename class=\"directory\">.hg</filename> directory " 2809 "The contents of the <filename class=\"directory\">.hg</filename> directory "
2806 "and its subdirectories are private to Mercurial. Every other file and " 2810 "and its subdirectories are private to Mercurial. Every other file and "
2807 "directory in the repository is yours to do with as you please." 2811 "directory in the repository is yours to do with as you please."
2808 msgstr "" 2812 msgstr ""
2809 2813
2810 #. type: Content of: <book><chapter><sect1><sect2><para> 2814 #. type: Content of: <book><chapter><sect1><sect2><para>
2811 #: ../en/ch01-tour-basic.xml:194 2815 #: ../en/ch01-tour-basic.xml:177
2812 msgid "" 2816 msgid ""
2813 "To introduce a little terminology, the <filename class=\"directory\">.hg</" 2817 "To introduce a little terminology, the <filename class=\"directory\">.hg</"
2814 "filename> directory is the <quote>real</quote> repository, and all of the " 2818 "filename> directory is the <quote>real</quote> repository, and all of the "
2815 "files and directories that coexist with it are said to live in the " 2819 "files and directories that coexist with it are said to live in the "
2816 "<emphasis>working directory</emphasis>. An easy way to remember the " 2820 "<emphasis>working directory</emphasis>. An easy way to remember the "
2819 "directory</emphasis> contains a <emphasis>snapshot</emphasis> of your project " 2823 "directory</emphasis> contains a <emphasis>snapshot</emphasis> of your project "
2820 "at a particular point in history." 2824 "at a particular point in history."
2821 msgstr "" 2825 msgstr ""
2822 2826
2823 #. type: Content of: <book><chapter><sect1><title> 2827 #. type: Content of: <book><chapter><sect1><title>
2824 #: ../en/ch01-tour-basic.xml:209 2828 #: ../en/ch01-tour-basic.xml:192
2825 msgid "A tour through history" 2829 msgid "A tour through history"
2826 msgstr "回溯历史" 2830 msgstr "回溯历史"
2827 2831
2828 #. type: Content of: <book><chapter><sect1><para> 2832 #. type: Content of: <book><chapter><sect1><para>
2829 #: ../en/ch01-tour-basic.xml:211 2833 #: ../en/ch01-tour-basic.xml:194
2830 msgid "" 2834 msgid ""
2831 "One of the first things we might want to do with a new, unfamiliar repository " 2835 "One of the first things we might want to do with a new, unfamiliar repository "
2832 "is understand its history. The <command role=\"hg-cmd\">hg log</command> " 2836 "is understand its history. The <command role=\"hg-cmd\">hg log</command> "
2833 "command gives us a view of history." 2837 "command gives us a view of the history of changes in the repository."
2834 msgstr "" 2838 msgstr ""
2835 2839
2836 #. type: Content of: <book><chapter><sect1><para> 2840 #. type: Content of: <book><chapter><sect1><para>
2837 #: ../en/ch01-tour-basic.xml:218 2841 #: ../en/ch01-tour-basic.xml:201
2838 msgid "" 2842 msgid ""
2839 "By default, this command prints a brief paragraph of output for each change " 2843 "By default, this command prints a brief paragraph of output for each change "
2840 "to the project that was recorded. In Mercurial terminology, we call each of " 2844 "to the project that was recorded. In Mercurial terminology, we call each of "
2841 "these recorded events a <emphasis>changeset</emphasis>, because it can " 2845 "these recorded events a <emphasis>changeset</emphasis>, because it can "
2842 "contain a record of changes to several files." 2846 "contain a record of changes to several files."
2843 msgstr "" 2847 msgstr ""
2844 2848
2845 #. type: Content of: <book><chapter><sect1><para> 2849 #. type: Content of: <book><chapter><sect1><para>
2846 #: ../en/ch01-tour-basic.xml:224 2850 #: ../en/ch01-tour-basic.xml:207
2847 msgid "" 2851 msgid ""
2848 "The fields in a record of output from <command role=\"hg-cmd\">hg log</" 2852 "The fields in a record of output from <command role=\"hg-cmd\">hg log</"
2849 "command> are as follows." 2853 "command> are as follows."
2850 msgstr "" 2854 msgstr ""
2851 2855
2852 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 2856 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
2853 #: ../en/ch01-tour-basic.xml:227 2857 #: ../en/ch01-tour-basic.xml:211
2854 msgid "" 2858 msgid ""
2855 "<literal>changeset</literal>: This field has the format of a number, followed " 2859 "<literal>changeset</literal>: This field has the format of a number, followed "
2856 "by a colon, followed by a hexadecimal string. These are " 2860 "by a colon, followed by a hexadecimal (or <emphasis>hex</emphasis>) string. "
2857 "<emphasis>identifiers</emphasis> for the changeset. There are two " 2861 "These are <emphasis>identifiers</emphasis> for the changeset. The hex string "
2858 "identifiers because the number is shorter and easier to type than the hex " 2862 "is a unique identifier: the same hex string will always refer to the same "
2859 "string." 2863 "changeset. The number is shorter and easier to type than the hex string, but "
2864 "it isn't unique: the same number in two different clones of a repository may "
2865 "identify different changesets. Why provide the number at all, then? For "
2866 "local convenience."
2860 msgstr "" 2867 msgstr ""
2861 2868
2862 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 2869 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
2863 #: ../en/ch01-tour-basic.xml:233 2870 #: ../en/ch01-tour-basic.xml:223
2864 msgid "" 2871 msgid ""
2865 "<literal>user</literal>: The identity of the person who created the " 2872 "<literal>user</literal>: The identity of the person who created the "
2866 "changeset. This is a free-form field, but it most often contains a person's " 2873 "changeset. This is a free-form field, but it most often contains a person's "
2867 "name and email address." 2874 "name and email address."
2868 msgstr "" 2875 msgstr ""
2869 2876
2870 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 2877 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
2871 #: ../en/ch01-tour-basic.xml:237 2878 #: ../en/ch01-tour-basic.xml:227
2872 msgid "" 2879 msgid ""
2873 "<literal>date</literal>: The date and time on which the changeset was " 2880 "<literal>date</literal>: The date and time on which the changeset was "
2874 "created, and the timezone in which it was created. (The date and time are " 2881 "created, and the timezone in which it was created. (The date and time are "
2875 "local to that timezone; they display what time and date it was for the person " 2882 "local to that timezone; they display what time and date it was for the person "
2876 "who created the changeset.)" 2883 "who created the changeset.)"
2877 msgstr "" 2884 msgstr ""
2878 2885
2879 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 2886 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
2880 #: ../en/ch01-tour-basic.xml:242 2887 #: ../en/ch01-tour-basic.xml:232
2881 msgid "" 2888 msgid ""
2882 "<literal>summary</literal>: The first line of the text message that the " 2889 "<literal>summary</literal>: The first line of the text message that the "
2883 "creator of the changeset entered to describe the changeset." 2890 "creator of the changeset entered to describe the changeset."
2884 msgstr "" 2891 msgstr ""
2885 2892
2886 #. type: Content of: <book><chapter><sect1><para> 2893 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
2887 #: ../en/ch01-tour-basic.xml:245 2894 #: ../en/ch01-tour-basic.xml:236
2895 msgid ""
2896 "Some changesets, such as the first in the list above, have a <literal>tag</"
2897 "literal> field. A tag is another way to identify a changeset, by giving it "
2898 "an easy-to-remember name. (The tag named <literal>tip</literal> is special: "
2899 "it always refers to the newest change in a repository.)"
2900 msgstr ""
2901
2902 #. type: Content of: <book><chapter><sect1><para>
2903 #: ../en/ch01-tour-basic.xml:244
2888 msgid "" 2904 msgid ""
2889 "The default output printed by <command role=\"hg-cmd\">hg log</command> is " 2905 "The default output printed by <command role=\"hg-cmd\">hg log</command> is "
2890 "purely a summary; it is missing a lot of detail." 2906 "purely a summary; it is missing a lot of detail."
2891 msgstr "" 2907 msgstr ""
2892 2908
2893 #. type: Content of: <book><chapter><sect1><para> 2909 #. type: Content of: <book><chapter><sect1><para>
2894 #: ../en/ch01-tour-basic.xml:249 2910 #: ../en/ch01-tour-basic.xml:248
2895 msgid "" 2911 msgid ""
2896 "<xref linkend=\"fig:tour-basic:history\"/> provides a graphical " 2912 "<xref linkend=\"fig:tour-basic:history\"/> provides a graphical "
2897 "representation of the history of the <filename class=\"directory\">hello</" 2913 "representation of the history of the <filename class=\"directory\">hello</"
2898 "filename> repository, to make it a little easier to see which direction " 2914 "filename> repository, to make it a little easier to see which direction "
2899 "history is <quote>flowing</quote> in. We'll be returning to this figure " 2915 "history is <quote>flowing</quote> in. We'll be returning to this figure "
2900 "several times in this chapter and the chapter that follows." 2916 "several times in this chapter and the chapter that follows."
2901 msgstr "" 2917 msgstr ""
2902 2918
2903 #. type: Content of: <book><chapter><sect1><figure><title> 2919 #. type: Content of: <book><chapter><sect1><figure><title>
2904 #: ../en/ch01-tour-basic.xml:258 2920 #: ../en/ch01-tour-basic.xml:257
2905 msgid "" 2921 msgid ""
2906 "Graphical history of the <filename class=\"directory\">hello</filename> " 2922 "Graphical history of the <filename class=\"directory\">hello</filename> "
2907 "repository" 2923 "repository"
2908 msgstr "版本库 <filename class=\"directory\">hello</filename> 的历史图" 2924 msgstr "版本库 <filename class=\"directory\">hello</filename> 的历史图"
2909 2925
2910 #. type: Content of: <book><chapter><sect1><figure> 2926 #. type: Content of: <book><chapter><sect1><figure>
2911 #: ../en/ch01-tour-basic.xml:260 ../en/ch02-tour-merge.xml:50 2927 #: ../en/ch01-tour-basic.xml:259 ../en/ch02-tour-merge.xml:50
2912 #: ../en/ch02-tour-merge.xml:181 ../en/ch03-concepts.xml:293 2928 #: ../en/ch02-tour-merge.xml:181 ../en/ch03-concepts.xml:293
2913 msgid "<placeholder type=\"mediaobject\" id=\"0\"/>" 2929 msgid "<placeholder type=\"mediaobject\" id=\"0\"/>"
2914 msgstr "" 2930 msgstr ""
2915 2931
2916 #. type: Content of: <book><chapter><sect1><figure><mediaobject> 2932 #. type: Content of: <book><chapter><sect1><figure><mediaobject>
2917 #: ../en/ch01-tour-basic.xml:261 2933 #: ../en/ch01-tour-basic.xml:260
2918 msgid "" 2934 msgid ""
2919 "<imageobject><imagedata fileref=\"figs/tour-history.png\"/></imageobject>" 2935 "<imageobject><imagedata fileref=\"figs/tour-history.png\"/></imageobject>"
2920 msgstr "" 2936 msgstr ""
2921 2937
2922 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject><textobject><phrase> 2938 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject><textobject><phrase>
2923 #: ../en/ch01-tour-basic.xml:262 ../en/ch02-tour-merge.xml:52 2939 #: ../en/ch01-tour-basic.xml:261 ../en/ch02-tour-merge.xml:52
2924 #: ../en/ch02-tour-merge.xml:82 ../en/ch02-tour-merge.xml:129 2940 #: ../en/ch02-tour-merge.xml:82 ../en/ch02-tour-merge.xml:129
2925 #: ../en/ch02-tour-merge.xml:183 ../en/ch02-tour-merge.xml:254 2941 #: ../en/ch02-tour-merge.xml:183 ../en/ch02-tour-merge.xml:254
2926 #: ../en/ch03-concepts.xml:57 ../en/ch03-concepts.xml:106 2942 #: ../en/ch03-concepts.xml:57 ../en/ch03-concepts.xml:106
2927 #: ../en/ch03-concepts.xml:191 ../en/ch03-concepts.xml:295 2943 #: ../en/ch03-concepts.xml:191 ../en/ch03-concepts.xml:295
2928 #: ../en/ch03-concepts.xml:346 ../en/ch03-concepts.xml:361 2944 #: ../en/ch03-concepts.xml:346 ../en/ch03-concepts.xml:361
2932 #: ../en/ch08-undo.xml:515 ../en/ch11-mq.xml:412 2948 #: ../en/ch08-undo.xml:515 ../en/ch11-mq.xml:412
2933 msgid "XXX add text" 2949 msgid "XXX add text"
2934 msgstr "" 2950 msgstr ""
2935 2951
2936 #. type: Content of: <book><chapter><sect1><sect2><title> 2952 #. type: Content of: <book><chapter><sect1><sect2><title>
2937 #: ../en/ch01-tour-basic.xml:267 2953 #: ../en/ch01-tour-basic.xml:266
2938 msgid "Changesets, revisions, and talking to other people" 2954 msgid "Changesets, revisions, and talking to other people"
2939 msgstr "修改集,版本,与其它用户交互" 2955 msgstr "修改集,版本,与其它用户交互"
2940 2956
2941 #. type: Content of: <book><chapter><sect1><sect2><para> 2957 #. type: Content of: <book><chapter><sect1><sect2><para>
2942 #: ../en/ch01-tour-basic.xml:270 2958 #: ../en/ch01-tour-basic.xml:269
2943 msgid "" 2959 msgid ""
2944 "As English is a notoriously sloppy language, and computer science has a " 2960 "As English is a notoriously sloppy language, and computer science has a "
2945 "hallowed history of terminological confusion (why use one term when four will " 2961 "hallowed history of terminological confusion (why use one term when four will "
2946 "do?), revision control has a variety of words and phrases that mean the same " 2962 "do?), revision control has a variety of words and phrases that mean the same "
2947 "thing. If you are talking about Mercurial history with other people, you " 2963 "thing. If you are talking about Mercurial history with other people, you "
2949 "<quote>change</quote> or (when written) <quote>cset</quote>, and sometimes a " 2965 "<quote>change</quote> or (when written) <quote>cset</quote>, and sometimes a "
2950 "changeset is referred to as a <quote>revision</quote> or a <quote>rev</quote>." 2966 "changeset is referred to as a <quote>revision</quote> or a <quote>rev</quote>."
2951 msgstr "" 2967 msgstr ""
2952 2968
2953 #. type: Content of: <book><chapter><sect1><sect2><para> 2969 #. type: Content of: <book><chapter><sect1><sect2><para>
2954 #: ../en/ch01-tour-basic.xml:280 2970 #: ../en/ch01-tour-basic.xml:279
2955 msgid "" 2971 msgid ""
2956 "While it doesn't matter what <emphasis>word</emphasis> you use to refer to " 2972 "While it doesn't matter what <emphasis>word</emphasis> you use to refer to "
2957 "the concept of <quote>a changeset</quote>, the <emphasis>identifier</" 2973 "the concept of <quote>a changeset</quote>, the <emphasis>identifier</"
2958 "emphasis> that you use to refer to <quote>a <emphasis>specific</emphasis> " 2974 "emphasis> that you use to refer to <quote>a <emphasis>specific</emphasis> "
2959 "changeset</quote> is of great importance. Recall that the <literal>changeset</" 2975 "changeset</quote> is of great importance. Recall that the <literal>changeset</"
2960 "literal> field in the output from <command role=\"hg-cmd\">hg log</command> " 2976 "literal> field in the output from <command role=\"hg-cmd\">hg log</command> "
2961 "identifies a changeset using both a number and a hexadecimal string." 2977 "identifies a changeset using both a number and a hexadecimal string."
2962 msgstr "" 2978 msgstr ""
2963 2979
2964 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 2980 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
2965 #: ../en/ch01-tour-basic.xml:289 2981 #: ../en/ch01-tour-basic.xml:288
2966 msgid "" 2982 msgid ""
2967 "The revision number is <emphasis>only valid in that repository</emphasis>," 2983 "The revision number is a handy notation that is <emphasis>only valid in that "
2984 "repository</emphasis>."
2968 msgstr "" 2985 msgstr ""
2969 2986
2970 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para> 2987 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
2971 #: ../en/ch01-tour-basic.xml:291 2988 #: ../en/ch01-tour-basic.xml:291
2972 msgid "" 2989 msgid ""
2973 "while the hex string is the <emphasis>permanent, unchanging identifier</" 2990 "The hexadecimal string is the <emphasis>permanent, unchanging identifier</"
2974 "emphasis> that will always identify that exact changeset in <emphasis>every</" 2991 "emphasis> that will always identify that exact changeset in <emphasis>every</"
2975 "emphasis> copy of the repository." 2992 "emphasis> copy of the repository."
2976 msgstr "" 2993 msgstr ""
2977 2994
2978 #. type: Content of: <book><chapter><sect1><sect2><para> 2995 #. type: Content of: <book><chapter><sect1><sect2><para>
2979 #: ../en/ch01-tour-basic.xml:296 2996 #: ../en/ch01-tour-basic.xml:297
2980 msgid "" 2997 msgid ""
2981 "This distinction is important. If you send someone an email talking about " 2998 "This distinction is important. If you send someone an email talking about "
2982 "<quote>revision 33</quote>, there's a high likelihood that their revision 33 " 2999 "<quote>revision 33</quote>, there's a high likelihood that their revision 33 "
2983 "will <emphasis>not be the same</emphasis> as yours. The reason for this is " 3000 "will <emphasis>not be the same</emphasis> as yours. The reason for this is "
2984 "that a revision number depends on the order in which changes arrived in a " 3001 "that a revision number depends on the order in which changes arrived in a "
2985 "repository, and there is no guarantee that the same changes will happen in " 3002 "repository, and there is no guarantee that the same changes will happen in "
2986 "the same order in different repositories. Three changes $a,b,c$ can easily " 3003 "the same order in different repositories. Three changes <literal>a,b,c</"
2987 "appear in one repository as $0,1,2$, while in another as $1,0,2$." 3004 "literal> can easily appear in one repository as <literal>0,1,2</literal>, "
2988 msgstr "" 3005 "while in another as <literal>0,2,1</literal>."
2989 3006 msgstr ""
2990 #. type: Content of: <book><chapter><sect1><sect2><para> 3007
2991 #: ../en/ch01-tour-basic.xml:306 3008 #. type: Content of: <book><chapter><sect1><sect2><para>
3009 #: ../en/ch01-tour-basic.xml:309
2992 msgid "" 3010 msgid ""
2993 "Mercurial uses revision numbers purely as a convenient shorthand. If you " 3011 "Mercurial uses revision numbers purely as a convenient shorthand. If you "
2994 "need to discuss a changeset with someone, or make a record of a changeset for " 3012 "need to discuss a changeset with someone, or make a record of a changeset for "
2995 "some other reason (for example, in a bug report), use the hexadecimal " 3013 "some other reason (for example, in a bug report), use the hexadecimal "
2996 "identifier." 3014 "identifier."
2997 msgstr "" 3015 msgstr ""
2998 3016
2999 #. type: Content of: <book><chapter><sect1><sect2><title> 3017 #. type: Content of: <book><chapter><sect1><sect2><title>
3000 #: ../en/ch01-tour-basic.xml:314 3018 #: ../en/ch01-tour-basic.xml:317
3001 msgid "Viewing specific revisions" 3019 msgid "Viewing specific revisions"
3002 msgstr "察看指定版本" 3020 msgstr "察看指定版本"
3003 3021
3004 #. type: Content of: <book><chapter><sect1><sect2><para> 3022 #. type: Content of: <book><chapter><sect1><sect2><para>
3005 #: ../en/ch01-tour-basic.xml:316 3023 #: ../en/ch01-tour-basic.xml:319
3006 msgid "" 3024 msgid ""
3007 "To narrow the output of <command role=\"hg-cmd\">hg log</command> down to a " 3025 "To narrow the output of <command role=\"hg-cmd\">hg log</command> down to a "
3008 "single revision, use the <option role=\"hg-opt-log\">-r</option> (or <option " 3026 "single revision, use the <option role=\"hg-opt-log\">-r</option> (or <option "
3009 "role=\"hg-opt-log\">--rev</option>) option. You can use either a revision " 3027 "role=\"hg-opt-log\">--rev</option>) option. You can use either a revision "
3010 "number or a long-form changeset identifier, and you can provide as many " 3028 "number or a hexadecimal identifier, and you can provide as many revisions as "
3011 "revisions as you want." 3029 "you want."
3012 msgstr "" 3030 msgstr ""
3013 3031
3014 #. type: Content of: <book><chapter><sect1><sect2><para> 3032 #. type: Content of: <book><chapter><sect1><sect2><para>
3015 #: ../en/ch01-tour-basic.xml:325 3033 #: ../en/ch01-tour-basic.xml:328
3016 msgid "" 3034 msgid ""
3017 "If you want to see the history of several revisions without having to list " 3035 "If you want to see the history of several revisions without having to list "
3018 "each one, you can use <emphasis>range notation</emphasis>; this lets you " 3036 "each one, you can use <emphasis>range notation</emphasis>; this lets you "
3019 "express the idea <quote>I want all revisions between <literal>abc</literal> " 3037 "express the idea <quote>I want all revisions between <literal>abc</literal> "
3020 "and <literal>def</literal>, inclusive</quote>." 3038 "and <literal>def</literal>, inclusive</quote>."
3021 msgstr "" 3039 msgstr ""
3022 3040
3023 #. type: Content of: <book><chapter><sect1><sect2><para> 3041 #. type: Content of: <book><chapter><sect1><sect2><para>
3024 #: ../en/ch01-tour-basic.xml:333 3042 #: ../en/ch01-tour-basic.xml:336
3025 msgid "" 3043 msgid ""
3026 "Mercurial also honours the order in which you specify revisions, so <command " 3044 "Mercurial also honours the order in which you specify revisions, so <command "
3027 "role=\"hg-cmd\">hg log -r 2:4</command> prints 2, 3, and 4. while <command " 3045 "role=\"hg-cmd\">hg log -r 2:4</command> prints 2, 3, and 4. while <command "
3028 "role=\"hg-cmd\">hg log -r 4:2</command> prints 4, 3, and 2." 3046 "role=\"hg-cmd\">hg log -r 4:2</command> prints 4, 3, and 2."
3029 msgstr "" 3047 msgstr ""
3030 3048
3031 #. type: Content of: <book><chapter><sect1><sect2><title> 3049 #. type: Content of: <book><chapter><sect1><sect2><title>
3032 #: ../en/ch01-tour-basic.xml:340 3050 #: ../en/ch01-tour-basic.xml:343
3033 msgid "More detailed information" 3051 msgid "More detailed information"
3034 msgstr "更详细的信息" 3052 msgstr "更详细的信息"
3035 3053
3036 #. type: Content of: <book><chapter><sect1><sect2><para> 3054 #. type: Content of: <book><chapter><sect1><sect2><para>
3037 #: ../en/ch01-tour-basic.xml:342 3055 #: ../en/ch01-tour-basic.xml:345
3038 msgid "" 3056 msgid ""
3039 "While the summary information printed by <command role=\"hg-cmd\">hg log</" 3057 "While the summary information printed by <command role=\"hg-cmd\">hg log</"
3040 "command> is useful if you already know what you're looking for, you may need " 3058 "command> is useful if you already know what you're looking for, you may need "
3041 "to see a complete description of the change, or a list of the files changed, " 3059 "to see a complete description of the change, or a list of the files changed, "
3042 "if you're trying to decide whether a changeset is the one you're looking for. " 3060 "if you're trying to decide whether a changeset is the one you're looking for. "
3044 "global\">-v</option> (or <option role=\"hg-opt-global\">--verbose</option>) " 3062 "global\">-v</option> (or <option role=\"hg-opt-global\">--verbose</option>) "
3045 "option gives you this extra detail." 3063 "option gives you this extra detail."
3046 msgstr "" 3064 msgstr ""
3047 3065
3048 #. type: Content of: <book><chapter><sect1><sect2><para> 3066 #. type: Content of: <book><chapter><sect1><sect2><para>
3049 #: ../en/ch01-tour-basic.xml:354 3067 #: ../en/ch01-tour-basic.xml:357
3050 msgid "" 3068 msgid ""
3051 "If you want to see both the description and content of a change, add the " 3069 "If you want to see both the description and content of a change, add the "
3052 "<option role=\"hg-opt-log\">-p</option> (or <option role=\"hg-opt-log\">--" 3070 "<option role=\"hg-opt-log\">-p</option> (or <option role=\"hg-opt-log\">--"
3053 "patch</option>) option. This displays the content of a change as a " 3071 "patch</option>) option. This displays the content of a change as a "
3054 "<emphasis>unified diff</emphasis> (if you've never seen a unified diff " 3072 "<emphasis>unified diff</emphasis> (if you've never seen a unified diff "
3055 "before, see <xref linkend=\"sec:mq:patch\"/> for an overview)." 3073 "before, see <xref linkend=\"sec:mq:patch\"/> for an overview)."
3056 msgstr "" 3074 msgstr ""
3057 3075
3076 #. type: Content of: <book><chapter><sect1><sect2><para>
3077 #: ../en/ch01-tour-basic.xml:367
3078 msgid ""
3079 "The <option role=\"hg-opt-log\">-p</option> option is tremendously useful, so "
3080 "it's well worth remembering."
3081 msgstr ""
3082
3058 #. type: Content of: <book><chapter><sect1><title> 3083 #. type: Content of: <book><chapter><sect1><title>
3059 #: ../en/ch01-tour-basic.xml:367 3084 #: ../en/ch01-tour-basic.xml:374
3060 msgid "All about command options" 3085 msgid "All about command options"
3061 msgstr "命令选项" 3086 msgstr "命令选项"
3062 3087
3063 #. type: Content of: <book><chapter><sect1><para> 3088 #. type: Content of: <book><chapter><sect1><para>
3064 #: ../en/ch01-tour-basic.xml:369 3089 #: ../en/ch01-tour-basic.xml:376
3065 msgid "" 3090 msgid ""
3066 "Let's take a brief break from exploring Mercurial commands to discuss a " 3091 "Let's take a brief break from exploring Mercurial commands to discuss a "
3067 "pattern in the way that they work; you may find this useful to keep in mind " 3092 "pattern in the way that they work; you may find this useful to keep in mind "
3068 "as we continue our tour." 3093 "as we continue our tour."
3069 msgstr "" 3094 msgstr ""
3070 3095
3071 #. type: Content of: <book><chapter><sect1><para> 3096 #. type: Content of: <book><chapter><sect1><para>
3072 #: ../en/ch01-tour-basic.xml:373 3097 #: ../en/ch01-tour-basic.xml:380
3073 msgid "" 3098 msgid ""
3074 "Mercurial has a consistent and straightforward approach to dealing with the " 3099 "Mercurial has a consistent and straightforward approach to dealing with the "
3075 "options that you can pass to commands. It follows the conventions for " 3100 "options that you can pass to commands. It follows the conventions for "
3076 "options that are common to modern Linux and Unix systems." 3101 "options that are common to modern Linux and Unix systems."
3077 msgstr "" 3102 msgstr ""
3078 3103
3079 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 3104 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
3080 #: ../en/ch01-tour-basic.xml:378 3105 #: ../en/ch01-tour-basic.xml:387
3081 msgid "" 3106 msgid ""
3082 "Every option has a long name. For example, as we've already seen, the " 3107 "Every option has a long name. For example, as we've already seen, the "
3083 "<command role=\"hg-cmd\">hg log</command> command accepts a <option role=\"hg-" 3108 "<command role=\"hg-cmd\">hg log</command> command accepts a <option role=\"hg-"
3084 "opt-log\">--rev</option> option." 3109 "opt-log\">--rev</option> option."
3085 msgstr "" 3110 msgstr ""
3086 3111
3087 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 3112 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
3088 #: ../en/ch01-tour-basic.xml:382 3113 #: ../en/ch01-tour-basic.xml:393
3089 msgid "" 3114 msgid ""
3090 "Most options have short names, too. Instead of <option role=\"hg-opt-log\">--" 3115 "Most options have short names, too. Instead of <option role=\"hg-opt-log\">--"
3091 "rev</option>, we can use <option role=\"hg-opt-log\">-r</option>. (The " 3116 "rev</option>, we can use <option role=\"hg-opt-log\">-r</option>. (The "
3092 "reason that some options don't have short names is that the options in " 3117 "reason that some options don't have short names is that the options in "
3093 "question are rarely used.)" 3118 "question are rarely used.)"
3094 msgstr "" 3119 msgstr ""
3095 3120
3096 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 3121 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
3097 #: ../en/ch01-tour-basic.xml:387 3122 #: ../en/ch01-tour-basic.xml:400
3098 msgid "" 3123 msgid ""
3099 "Long options start with two dashes (e.g. <option role=\"hg-opt-log\">--rev</" 3124 "Long options start with two dashes (e.g. <option role=\"hg-opt-log\">--rev</"
3100 "option>), while short options start with one (e.g. <option role=\"hg-opt-log" 3125 "option>), while short options start with one (e.g. <option role=\"hg-opt-log"
3101 "\">-r</option>)." 3126 "\">-r</option>)."
3102 msgstr "" 3127 msgstr ""
3103 3128
3104 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para> 3129 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
3105 #: ../en/ch01-tour-basic.xml:391 3130 #: ../en/ch01-tour-basic.xml:406
3106 msgid "" 3131 msgid ""
3107 "Option naming and usage is consistent across commands. For example, every " 3132 "Option naming and usage is consistent across commands. For example, every "
3108 "command that lets you specify a changeset ID or revision number accepts both " 3133 "command that lets you specify a changeset ID or revision number accepts both "
3109 "<option role=\"hg-opt-log\">-r</option> and <option role=\"hg-opt-log\">--" 3134 "<option role=\"hg-opt-log\">-r</option> and <option role=\"hg-opt-log\">--"
3110 "rev</option> arguments." 3135 "rev</option> arguments."
3111 msgstr "" 3136 msgstr ""
3112 3137
3113 #. type: Content of: <book><chapter><sect1><para> 3138 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
3114 #: ../en/ch01-tour-basic.xml:397 3139 #: ../en/ch01-tour-basic.xml:413
3140 msgid ""
3141 "If you are using short options, you can save typing by running them together. "
3142 "For example, the command <command role=\"hg-cmd\">hg log -v -p -r 2</command> "
3143 "can be written as <command role=\"hg-cmd\">hg log -vpr2</command>."
3144 msgstr ""
3145
3146 #. type: Content of: <book><chapter><sect1><para>
3147 #: ../en/ch01-tour-basic.xml:420
3115 msgid "" 3148 msgid ""
3116 "In the examples throughout this book, I use short options instead of long. " 3149 "In the examples throughout this book, I use short options instead of long. "
3117 "This just reflects my own preference, so don't read anything significant into " 3150 "This just reflects my own preference, so don't read anything significant into "
3118 "it." 3151 "it."
3119 msgstr "" 3152 msgstr ""
3120 3153
3121 #. type: Content of: <book><chapter><sect1><para> 3154 #. type: Content of: <book><chapter><sect1><para>
3122 #: ../en/ch01-tour-basic.xml:401 3155 #: ../en/ch01-tour-basic.xml:424
3123 msgid "" 3156 msgid ""
3124 "Most commands that print output of some kind will print more output when " 3157 "Most commands that print output of some kind will print more output when "
3125 "passed a <option role=\"hg-opt-global\">-v</option> (or <option role=\"hg-opt-" 3158 "passed a <option role=\"hg-opt-global\">-v</option> (or <option role=\"hg-opt-"
3126 "global\">--verbose</option>) option, and less when passed <option role=\"hg-" 3159 "global\">--verbose</option>) option, and less when passed <option role=\"hg-"
3127 "opt-global\">-q</option> (or <option role=\"hg-opt-global\">--quiet</option>)." 3160 "opt-global\">-q</option> (or <option role=\"hg-opt-global\">--quiet</option>)."
3128 msgstr "" 3161 msgstr ""
3129 3162
3163 #. type: Content of: <book><chapter><sect1><note><title>
3164 #: ../en/ch01-tour-basic.xml:431
3165 msgid "Option naming consistency"
3166 msgstr ""
3167
3168 #. type: Content of: <book><chapter><sect1><note><para>
3169 #: ../en/ch01-tour-basic.xml:433
3170 msgid ""
3171 "Almost always, Mercurial commands use consistent option names to refer to the "
3172 "same concepts. For instance, if a command deals with changesets, you'll "
3173 "always identify them with <option role=\"hg-opt-log\">--rev</option> or "
3174 "<option role=\"hg-opt-log\">-r</option>. This consistent use of option names "
3175 "makes it easier to remember what options a particular command takes."
3176 msgstr ""
3177
3130 #. type: Content of: <book><chapter><sect1><title> 3178 #. type: Content of: <book><chapter><sect1><title>
3131 #: ../en/ch01-tour-basic.xml:409 3179 #: ../en/ch01-tour-basic.xml:444
3132 msgid "Making and reviewing changes" 3180 msgid "Making and reviewing changes"
3133 msgstr "创建和复审修改" 3181 msgstr "创建和复审修改"
3134 3182
3135 #. type: Content of: <book><chapter><sect1><para> 3183 #. type: Content of: <book><chapter><sect1><para>
3136 #: ../en/ch01-tour-basic.xml:411 3184 #: ../en/ch01-tour-basic.xml:446
3137 msgid "" 3185 msgid ""
3138 "Now that we have a grasp of viewing history in Mercurial, let's take a look " 3186 "Now that we have a grasp of viewing history in Mercurial, let's take a look "
3139 "at making some changes and examining them." 3187 "at making some changes and examining them."
3140 msgstr "" 3188 msgstr ""
3141 3189
3142 #. type: Content of: <book><chapter><sect1><para> 3190 #. type: Content of: <book><chapter><sect1><para>
3143 #: ../en/ch01-tour-basic.xml:415 3191 #: ../en/ch01-tour-basic.xml:450
3144 msgid "" 3192 msgid ""
3145 "The first thing we'll do is isolate our experiment in a repository of its " 3193 "The first thing we'll do is isolate our experiment in a repository of its "
3146 "own. We use the <command role=\"hg-cmd\">hg clone</command> command, but we " 3194 "own. We use the <command role=\"hg-cmd\">hg clone</command> command, but we "
3147 "don't need to clone a copy of the remote repository. Since we already have a " 3195 "don't need to clone a copy of the remote repository. Since we already have a "
3148 "copy of it locally, we can just clone that instead. This is much faster than " 3196 "copy of it locally, we can just clone that instead. This is much faster than "
3149 "cloning over the network, and cloning a local repository uses less disk space " 3197 "cloning over the network, and cloning a local repository uses less disk space "
3150 "in most cases, too." 3198 "in most cases, too<placeholder type=\"footnote\" id=\"0\"/>."
3151 msgstr "" 3199 msgstr ""
3152 3200
3153 #. type: Content of: <book><chapter><sect1><para> 3201 #. type: Content of: <book><chapter><sect1><para><footnote><para>
3154 #: ../en/ch01-tour-basic.xml:425 3202 #: ../en/ch01-tour-basic.xml:457
3203 msgid ""
3204 "The saving of space arises when source and destination repositories are on "
3205 "the same filesystem, in which case Mercurial will use hardlinks to do copy-on-"
3206 "write sharing of its internal metadata. If that explanation meant nothing to "
3207 "you, don't worry: everything happens transparently and automatically, and you "
3208 "don't need to understand it."
3209 msgstr ""
3210
3211 #. type: Content of: <book><chapter><sect1><para>
3212 #: ../en/ch01-tour-basic.xml:467
3155 msgid "" 3213 msgid ""
3156 "As an aside, it's often good practice to keep a <quote>pristine</quote> copy " 3214 "As an aside, it's often good practice to keep a <quote>pristine</quote> copy "
3157 "of a remote repository around, which you can then make temporary clones of to " 3215 "of a remote repository around, which you can then make temporary clones of to "
3158 "create sandboxes for each task you want to work on. This lets you work on " 3216 "create sandboxes for each task you want to work on. This lets you work on "
3159 "multiple tasks in parallel, each isolated from the others until it's complete " 3217 "multiple tasks in parallel, each isolated from the others until it's complete "
3161 "there's almost no overhead to cloning and destroying repositories whenever " 3219 "there's almost no overhead to cloning and destroying repositories whenever "
3162 "you want." 3220 "you want."
3163 msgstr "" 3221 msgstr ""
3164 3222
3165 #. type: Content of: <book><chapter><sect1><para> 3223 #. type: Content of: <book><chapter><sect1><para>
3166 #: ../en/ch01-tour-basic.xml:434 3224 #: ../en/ch01-tour-basic.xml:476
3167 msgid "" 3225 msgid ""
3168 "In our <filename class=\"directory\">my-hello</filename> repository, we have " 3226 "In our <filename class=\"directory\">my-hello</filename> repository, we have "
3169 "a file <filename>hello.c</filename> that contains the classic <quote>hello, " 3227 "a file <filename>hello.c</filename> that contains the classic <quote>hello, "
3170 "world</quote> program. Let's use the ancient and venerable <command>sed</" 3228 "world</quote> program."
3171 "command> command to edit this file so that it prints a second line of " 3229 msgstr ""
3172 "output. (I'm only using <command>sed</command> to do this because it's easy " 3230
3173 "to write a scripted example this way. Since you're not under the same " 3231 #. type: Content of: <book><chapter><sect1><para>
3174 "constraint, you probably won't want to use <command>sed</command>; simply use " 3232 #: ../en/ch01-tour-basic.xml:482
3175 "your preferred text editor to do the same thing.)" 3233 msgid "Let's edit this file so that it prints a second line of output."
3176 msgstr "" 3234 msgstr ""
3177 3235
3178 #. type: Content of: <book><chapter><sect1><para> 3236 #. type: Content of: <book><chapter><sect1><para>
3179 #: ../en/ch01-tour-basic.xml:447 3237 #: ../en/ch01-tour-basic.xml:487
3180 msgid "" 3238 msgid ""
3181 "Mercurial's <command role=\"hg-cmd\">hg status</command> command will tell us " 3239 "Mercurial's <command role=\"hg-cmd\">hg status</command> command will tell us "
3182 "what Mercurial knows about the files in the repository." 3240 "what Mercurial knows about the files in the repository."
3183 msgstr "" 3241 msgstr ""
3184 3242
3185 #. type: Content of: <book><chapter><sect1><para> 3243 #. type: Content of: <book><chapter><sect1><para>
3186 #: ../en/ch01-tour-basic.xml:453 3244 #: ../en/ch01-tour-basic.xml:493
3187 msgid "" 3245 msgid ""
3188 "The <command role=\"hg-cmd\">hg status</command> command prints no output for " 3246 "The <command role=\"hg-cmd\">hg status</command> command prints no output for "
3189 "some files, but a line starting with <quote><literal>M</literal></quote> for " 3247 "some files, but a line starting with <quote><literal>M</literal></quote> for "
3190 "<filename>hello.c</filename>. Unless you tell it to, <command role=\"hg-cmd" 3248 "<filename>hello.c</filename>. Unless you tell it to, <command role=\"hg-cmd"
3191 "\">hg status</command> will not print any output for files that have not been " 3249 "\">hg status</command> will not print any output for files that have not been "
3192 "modified." 3250 "modified."
3193 msgstr "" 3251 msgstr ""
3194 3252
3195 #. type: Content of: <book><chapter><sect1><para> 3253 #. type: Content of: <book><chapter><sect1><para>
3196 #: ../en/ch01-tour-basic.xml:460 3254 #: ../en/ch01-tour-basic.xml:500
3197 msgid "" 3255 msgid ""
3198 "The <quote><literal>M</literal></quote> indicates that Mercurial has noticed " 3256 "The <quote><literal>M</literal></quote> indicates that Mercurial has noticed "
3199 "that we modified <filename>hello.c</filename>. We didn't need to " 3257 "that we modified <filename>hello.c</filename>. We didn't need to "
3200 "<emphasis>inform</emphasis> Mercurial that we were going to modify the file " 3258 "<emphasis>inform</emphasis> Mercurial that we were going to modify the file "
3201 "before we started, or that we had modified the file after we were done; it " 3259 "before we started, or that we had modified the file after we were done; it "
3202 "was able to figure this out itself." 3260 "was able to figure this out itself."
3203 msgstr "" 3261 msgstr ""
3204 3262
3205 #. type: Content of: <book><chapter><sect1><para> 3263 #. type: Content of: <book><chapter><sect1><para>
3206 #: ../en/ch01-tour-basic.xml:468 3264 #: ../en/ch01-tour-basic.xml:508
3207 msgid "" 3265 msgid ""
3208 "It's a little bit helpful to know that we've modified <filename>hello.c</" 3266 "It's somewhat helpful to know that we've modified <filename>hello.c</"
3209 "filename>, but we might prefer to know exactly <emphasis>what</emphasis> " 3267 "filename>, but we might prefer to know exactly <emphasis>what</emphasis> "
3210 "changes we've made to it. To do this, we use the <command role=\"hg-cmd\">hg " 3268 "changes we've made to it. To do this, we use the <command role=\"hg-cmd\">hg "
3211 "diff</command> command." 3269 "diff</command> command."
3212 msgstr "" 3270 msgstr ""
3213 3271
3214 #. type: Content of: <book><chapter><sect1><title> 3272 #. type: Content of: <book><chapter><sect1><title>
3215 #: ../en/ch01-tour-basic.xml:478 3273 #: ../en/ch01-tour-basic.xml:517 ../en/ch11-mq.xml:187
3274 msgid "Understanding patches"
3275 msgstr "理解补丁"
3276
3277 #. type: Content of: <book><chapter><sect1><tip><para>
3278 #: ../en/ch01-tour-basic.xml:519
3279 msgid ""
3280 "Remember to take a look at <xref linkend=\"sec:mq:patch\"/> if you don't know "
3281 "how to read output above."
3282 msgstr ""
3283
3284 #. type: Content of: <book><chapter><sect1><title>
3285 #: ../en/ch01-tour-basic.xml:525
3216 msgid "Recording changes in a new changeset" 3286 msgid "Recording changes in a new changeset"
3217 msgstr "在新修改集中记录修改" 3287 msgstr "在新修改集中记录修改"
3218 3288
3219 #. type: Content of: <book><chapter><sect1><para> 3289 #. type: Content of: <book><chapter><sect1><para>
3220 #: ../en/ch01-tour-basic.xml:480 3290 #: ../en/ch01-tour-basic.xml:527
3221 msgid "" 3291 msgid ""
3222 "We can modify files, build and test our changes, and use <command role=\"hg-" 3292 "We can modify files, build and test our changes, and use <command role=\"hg-"
3223 "cmd\">hg status</command> and <command role=\"hg-cmd\">hg diff</command> to " 3293 "cmd\">hg status</command> and <command role=\"hg-cmd\">hg diff</command> to "
3224 "review our changes, until we're satisfied with what we've done and arrive at " 3294 "review our changes, until we're satisfied with what we've done and arrive at "
3225 "a natural stopping point where we want to record our work in a new changeset." 3295 "a natural stopping point where we want to record our work in a new changeset."
3226 msgstr "" 3296 msgstr ""
3227 3297
3228 #. type: Content of: <book><chapter><sect1><para> 3298 #. type: Content of: <book><chapter><sect1><para>
3229 #: ../en/ch01-tour-basic.xml:487 3299 #: ../en/ch01-tour-basic.xml:534
3230 msgid "" 3300 msgid ""
3231 "The <command role=\"hg-cmd\">hg commit</command> command lets us create a new " 3301 "The <command role=\"hg-cmd\">hg commit</command> command lets us create a new "
3232 "changeset; we'll usually refer to this as <quote>making a commit</quote> or " 3302 "changeset; we'll usually refer to this as <quote>making a commit</quote> or "
3233 "<quote>committing</quote>." 3303 "<quote>committing</quote>."
3234 msgstr "" 3304 msgstr ""
3235 3305
3236 #. type: Content of: <book><chapter><sect1><sect2><title> 3306 #. type: Content of: <book><chapter><sect1><sect2><title>
3237 #: ../en/ch01-tour-basic.xml:493 3307 #: ../en/ch01-tour-basic.xml:540
3238 msgid "Setting up a username" 3308 msgid "Setting up a username"
3239 msgstr "配置用户名称" 3309 msgstr "配置用户名称"
3240 3310
3241 #. type: Content of: <book><chapter><sect1><sect2><para> 3311 #. type: Content of: <book><chapter><sect1><sect2><para>
3242 #: ../en/ch01-tour-basic.xml:495 3312 #: ../en/ch01-tour-basic.xml:542
3243 msgid "" 3313 msgid ""
3244 "When you try to run <command role=\"hg-cmd\">hg commit</command> for the " 3314 "When you try to run <command role=\"hg-cmd\">hg commit</command> for the "
3245 "first time, it is not guaranteed to succeed. Mercurial records your name and " 3315 "first time, it is not guaranteed to succeed. Mercurial records your name and "
3246 "address with each change that you commit, so that you and others will later " 3316 "address with each change that you commit, so that you and others will later "
3247 "be able to tell who made each change. Mercurial tries to automatically " 3317 "be able to tell who made each change. Mercurial tries to automatically "
3248 "figure out a sensible username to commit the change with. It will attempt " 3318 "figure out a sensible username to commit the change with. It will attempt "
3249 "each of the following methods, in order:" 3319 "each of the following methods, in order:"
3250 msgstr "" 3320 msgstr ""
3251 3321
3252 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 3322 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
3253 #: ../en/ch01-tour-basic.xml:504 3323 #: ../en/ch01-tour-basic.xml:551
3254 msgid "" 3324 msgid ""
3255 "If you specify a <option role=\"hg-opt-commit\">-u</option> option to the " 3325 "If you specify a <option role=\"hg-opt-commit\">-u</option> option to the "
3256 "<command role=\"hg-cmd\">hg commit</command> command on the command line, " 3326 "<command role=\"hg-cmd\">hg commit</command> command on the command line, "
3257 "followed by a username, this is always given the highest precedence." 3327 "followed by a username, this is always given the highest precedence."
3258 msgstr "" 3328 msgstr ""
3259 3329
3260 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 3330 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
3261 #: ../en/ch01-tour-basic.xml:509 3331 #: ../en/ch01-tour-basic.xml:556
3262 msgid "" 3332 msgid ""
3263 "If you have set the <envar>HGUSER</envar> environment variable, this is " 3333 "If you have set the <envar>HGUSER</envar> environment variable, this is "
3264 "checked next." 3334 "checked next."
3265 msgstr "" 3335 msgstr ""
3266 3336
3267 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 3337 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
3268 #: ../en/ch01-tour-basic.xml:512 3338 #: ../en/ch01-tour-basic.xml:559
3269 msgid "" 3339 msgid ""
3270 "If you create a file in your home directory called <filename role=\"special" 3340 "If you create a file in your home directory called <filename role=\"special"
3271 "\">.hgrc</filename>, with a <envar role=\"rc-item-ui\">username</envar> " 3341 "\">.hgrc</filename>, with a <envar role=\"rc-item-ui\">username</envar> "
3272 "entry, that will be used next. To see what the contents of this file should " 3342 "entry, that will be used next. To see what the contents of this file should "
3273 "look like, refer to <xref linkend=\"sec:tour-basic:username\"/> below." 3343 "look like, refer to <xref linkend=\"sec:tour-basic:username\"/> below."
3274 msgstr "" 3344 msgstr ""
3275 3345
3276 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 3346 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
3277 #: ../en/ch01-tour-basic.xml:520 3347 #: ../en/ch01-tour-basic.xml:567
3278 msgid "" 3348 msgid ""
3279 "If you have set the <envar>EMAIL</envar> environment variable, this will be " 3349 "If you have set the <envar>EMAIL</envar> environment variable, this will be "
3280 "used next." 3350 "used next."
3281 msgstr "" 3351 msgstr ""
3282 3352
3283 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para> 3353 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
3284 #: ../en/ch01-tour-basic.xml:523 3354 #: ../en/ch01-tour-basic.xml:570
3285 msgid "" 3355 msgid ""
3286 "Mercurial will query your system to find out your local user name and host " 3356 "Mercurial will query your system to find out your local user name and host "
3287 "name, and construct a username from these components. Since this often " 3357 "name, and construct a username from these components. Since this often "
3288 "results in a username that is not very useful, it will print a warning if it " 3358 "results in a username that is not very useful, it will print a warning if it "
3289 "has to do this." 3359 "has to do this."
3290 msgstr "" 3360 msgstr ""
3291 3361
3292 #. type: Content of: <book><chapter><sect1><sect2><para> 3362 #. type: Content of: <book><chapter><sect1><sect2><para>
3293 #: ../en/ch01-tour-basic.xml:530 3363 #: ../en/ch01-tour-basic.xml:577
3294 msgid "" 3364 msgid ""
3295 "If all of these mechanisms fail, Mercurial will fail, printing an error " 3365 "If all of these mechanisms fail, Mercurial will fail, printing an error "
3296 "message. In this case, it will not let you commit until you set up a " 3366 "message. In this case, it will not let you commit until you set up a "
3297 "username." 3367 "username."
3298 msgstr "" 3368 msgstr ""
3299 3369
3300 #. type: Content of: <book><chapter><sect1><sect2><para> 3370 #. type: Content of: <book><chapter><sect1><sect2><para>
3301 #: ../en/ch01-tour-basic.xml:534 3371 #: ../en/ch01-tour-basic.xml:581
3302 msgid "" 3372 msgid ""
3303 "You should think of the <envar>HGUSER</envar> environment variable and the " 3373 "You should think of the <envar>HGUSER</envar> environment variable and the "
3304 "<option role=\"hg-opt-commit\">-u</option> option to the <command role=\"hg-" 3374 "<option role=\"hg-opt-commit\">-u</option> option to the <command role=\"hg-"
3305 "cmd\">hg commit</command> command as ways to <emphasis>override</emphasis> " 3375 "cmd\">hg commit</command> command as ways to <emphasis>override</emphasis> "
3306 "Mercurial's default selection of username. For normal use, the simplest and " 3376 "Mercurial's default selection of username. For normal use, the simplest and "
3307 "most robust way to set a username for yourself is by creating a <filename " 3377 "most robust way to set a username for yourself is by creating a <filename "
3308 "role=\"special\">.hgrc</filename> file; see below for details." 3378 "role=\"special\">.hgrc</filename> file; see below for details."
3309 msgstr "" 3379 msgstr ""
3310 3380
3311 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 3381 #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
3312 #: ../en/ch01-tour-basic.xml:543 3382 #: ../en/ch01-tour-basic.xml:590
3313 msgid "Creating a Mercurial configuration file" 3383 msgid "Creating a Mercurial configuration file"
3314 msgstr "创建 Mercurial 的配置文件" 3384 msgstr "创建 Mercurial 的配置文件"
3315 3385
3316 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 3386 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
3317 #: ../en/ch01-tour-basic.xml:545 3387 #: ../en/ch01-tour-basic.xml:592
3318 msgid "" 3388 msgid ""
3319 "To set a user name, use your favourite editor to create a file called " 3389 "To set a user name, use your favourite editor to create a file called "
3320 "<filename role=\"special\">.hgrc</filename> in your home directory. " 3390 "<filename role=\"special\">.hgrc</filename> in your home directory. "
3321 "Mercurial will use this file to look up your personalised configuration " 3391 "Mercurial will use this file to look up your personalised configuration "
3322 "settings. The initial contents of your <filename role=\"special\">.hgrc</" 3392 "settings. The initial contents of your <filename role=\"special\">.hgrc</"
3323 "filename> should look like this." 3393 "filename> should look like this."
3324 msgstr "" 3394 msgstr ""
3325 3395
3396 #. type: Content of: <book><chapter><sect1><sect2><sect3><remark>
3397 #: ../en/ch01-tour-basic.xml:600
3398 msgid "Figure out what the appropriate directory is on Windows."
3399 msgstr ""
3400
3326 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 3401 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
3327 #: ../en/ch01-tour-basic.xml:557 3402 #: ../en/ch01-tour-basic.xml:607
3328 msgid "" 3403 msgid ""
3329 "The <quote><literal>[ui]</literal></quote> line begins a <emphasis>section</" 3404 "The <quote><literal>[ui]</literal></quote> line begins a <emphasis>section</"
3330 "emphasis> of the config file, so you can read the <quote><literal>username " 3405 "emphasis> of the config file, so you can read the <quote><literal>username "
3331 "= ...</literal></quote> line as meaning <quote>set the value of the " 3406 "= ...</literal></quote> line as meaning <quote>set the value of the "
3332 "<literal>username</literal> item in the <literal>ui</literal> section</" 3407 "<literal>username</literal> item in the <literal>ui</literal> section</"
3334 "file. Mercurial ignores empty lines and treats any text from " 3409 "file. Mercurial ignores empty lines and treats any text from "
3335 "<quote><literal>#</literal></quote> to the end of a line as a comment." 3410 "<quote><literal>#</literal></quote> to the end of a line as a comment."
3336 msgstr "" 3411 msgstr ""
3337 3412
3338 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 3413 #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
3339 #: ../en/ch01-tour-basic.xml:570 3414 #: ../en/ch01-tour-basic.xml:620
3340 msgid "Choosing a user name" 3415 msgid "Choosing a user name"
3341 msgstr "选择用户名称" 3416 msgstr "选择用户名称"
3342 3417
3343 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 3418 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
3344 #: ../en/ch01-tour-basic.xml:572 3419 #: ../en/ch01-tour-basic.xml:622
3345 msgid "" 3420 msgid ""
3346 "You can use any text you like as the value of the <literal>username</literal> " 3421 "You can use any text you like as the value of the <literal>username</literal> "
3347 "config item, since this information is for reading by other people, but for " 3422 "config item, since this information is for reading by other people, but will "
3348 "interpreting by Mercurial. The convention that most people follow is to use " 3423 "not be interpreted by Mercurial. The convention that most people follow is "
3349 "their name and email address, as in the example above." 3424 "to use their name and email address, as in the example above."
3350 msgstr "" 3425 msgstr ""
3351 3426
3352 #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para> 3427 #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para>
3353 #: ../en/ch01-tour-basic.xml:579 3428 #: ../en/ch01-tour-basic.xml:629
3354 msgid "" 3429 msgid ""
3355 "Mercurial's built-in web server obfuscates email addresses, to make it more " 3430 "Mercurial's built-in web server obfuscates email addresses, to make it more "
3356 "difficult for the email harvesting tools that spammers use. This reduces the " 3431 "difficult for the email harvesting tools that spammers use. This reduces the "
3357 "likelihood that you'll start receiving more junk email if you publish a " 3432 "likelihood that you'll start receiving more junk email if you publish a "
3358 "Mercurial repository on the web." 3433 "Mercurial repository on the web."
3359 msgstr "" 3434 msgstr ""
3360 3435
3361 #. type: Content of: <book><chapter><sect1><sect2><title> 3436 #. type: Content of: <book><chapter><sect1><sect2><title>
3362 #: ../en/ch01-tour-basic.xml:589 3437 #: ../en/ch01-tour-basic.xml:639
3363 msgid "Writing a commit message" 3438 msgid "Writing a commit message"
3364 msgstr "写提交日志" 3439 msgstr "写提交日志"
3365 3440
3366 #. type: Content of: <book><chapter><sect1><sect2><para> 3441 #. type: Content of: <book><chapter><sect1><sect2><para>
3367 #: ../en/ch01-tour-basic.xml:591 3442 #: ../en/ch01-tour-basic.xml:641
3368 msgid "" 3443 msgid ""
3369 "When we commit a change, Mercurial drops us into a text editor, to enter a " 3444 "When we commit a change, Mercurial drops us into a text editor, to enter a "
3370 "message that will describe the modifications we've made in this changeset. " 3445 "message that will describe the modifications we've made in this changeset. "
3371 "This is called the <emphasis>commit message</emphasis>. It will be a record " 3446 "This is called the <emphasis>commit message</emphasis>. It will be a record "
3372 "for readers of what we did and why, and it will be printed by <command role=" 3447 "for readers of what we did and why, and it will be printed by <command role="
3373 "\"hg-cmd\">hg log</command> after we've finished committing." 3448 "\"hg-cmd\">hg log</command> after we've finished committing."
3374 msgstr "" 3449 msgstr ""
3375 3450
3376 #. type: Content of: <book><chapter><sect1><sect2><para> 3451 #. type: Content of: <book><chapter><sect1><sect2><para>
3377 #: ../en/ch01-tour-basic.xml:601 3452 #: ../en/ch01-tour-basic.xml:651
3378 msgid "" 3453 msgid ""
3379 "The editor that the <command role=\"hg-cmd\">hg commit</command> command " 3454 "The editor that the <command role=\"hg-cmd\">hg commit</command> command "
3380 "drops us into will contain an empty line, followed by a number of lines " 3455 "drops us into will contain an empty line or two, followed by a number of "
3381 "starting with <quote><literal>HG:</literal></quote>." 3456 "lines starting with <quote><literal>HG:</literal></quote>."
3382 msgstr "" 3457 msgstr ""
3383 3458
3384 #. type: Content of: <book><chapter><sect1><sect2><para> 3459 #. type: Content of: <book><chapter><sect1><sect2><para>
3385 #: ../en/ch01-tour-basic.xml:608 3460 #: ../en/ch01-tour-basic.xml:665
3386 msgid "" 3461 msgid ""
3387 "Mercurial ignores the lines that start with <quote><literal>HG:</literal></" 3462 "Mercurial ignores the lines that start with <quote><literal>HG:</literal></"
3388 "quote>; it uses them only to tell us which files it's recording changes to. " 3463 "quote>; it uses them only to tell us which files it's recording changes to. "
3389 "Modifying or deleting these lines has no effect." 3464 "Modifying or deleting these lines has no effect."
3390 msgstr "" 3465 msgstr ""
3391 3466
3392 #. type: Content of: <book><chapter><sect1><sect2><title> 3467 #. type: Content of: <book><chapter><sect1><sect2><title>
3393 #: ../en/ch01-tour-basic.xml:614 3468 #: ../en/ch01-tour-basic.xml:671
3394 msgid "Writing a good commit message" 3469 msgid "Writing a good commit message"
3395 msgstr "写好提交日志" 3470 msgstr "写好提交日志"
3396 3471
3397 #. type: Content of: <book><chapter><sect1><sect2><para> 3472 #. type: Content of: <book><chapter><sect1><sect2><para>
3398 #: ../en/ch01-tour-basic.xml:616 3473 #: ../en/ch01-tour-basic.xml:673
3399 msgid "" 3474 msgid ""
3400 "Since <command role=\"hg-cmd\">hg log</command> only prints the first line of " 3475 "Since <command role=\"hg-cmd\">hg log</command> only prints the first line of "
3401 "a commit message by default, it's best to write a commit message whose first " 3476 "a commit message by default, it's best to write a commit message whose first "
3402 "line stands alone. Here's a real example of a commit message that " 3477 "line stands alone. Here's a real example of a commit message that "
3403 "<emphasis>doesn't</emphasis> follow this guideline, and hence has a summary " 3478 "<emphasis>doesn't</emphasis> follow this guideline, and hence has a summary "
3404 "that is not readable." 3479 "that is not readable."
3405 msgstr "" 3480 msgstr ""
3406 3481
3407 #. type: Content of: <book><chapter><sect1><sect2><para> 3482 #. type: Content of: <book><chapter><sect1><sect2><para>
3408 #: ../en/ch01-tour-basic.xml:630 3483 #: ../en/ch01-tour-basic.xml:687
3409 msgid "" 3484 msgid ""
3410 "As far as the remainder of the contents of the commit message are concerned, " 3485 "As far as the remainder of the contents of the commit message are concerned, "
3411 "there are no hard-and-fast rules. Mercurial itself doesn't interpret or care " 3486 "there are no hard-and-fast rules. Mercurial itself doesn't interpret or care "
3412 "about the contents of the commit message, though your project may have " 3487 "about the contents of the commit message, though your project may have "
3413 "policies that dictate a certain kind of formatting." 3488 "policies that dictate a certain kind of formatting."
3414 msgstr "" 3489 msgstr ""
3415 3490
3416 #. type: Content of: <book><chapter><sect1><sect2><para> 3491 #. type: Content of: <book><chapter><sect1><sect2><para>
3417 #: ../en/ch01-tour-basic.xml:636 3492 #: ../en/ch01-tour-basic.xml:693
3418 msgid "" 3493 msgid ""
3419 "My personal preference is for short, but informative, commit messages that " 3494 "My personal preference is for short, but informative, commit messages that "
3420 "tell me something that I can't figure out with a quick glance at the output " 3495 "tell me something that I can't figure out with a quick glance at the output "
3421 "of <command role=\"hg-cmd\">hg log --patch</command>." 3496 "of <command role=\"hg-cmd\">hg log --patch</command>."
3422 msgstr "" 3497 msgstr ""
3423 3498
3424 #. type: Content of: <book><chapter><sect1><sect2><title> 3499 #. type: Content of: <book><chapter><sect1><sect2><title>
3425 #: ../en/ch01-tour-basic.xml:643 3500 #: ../en/ch01-tour-basic.xml:700
3426 msgid "Aborting a commit" 3501 msgid "Aborting a commit"
3427 msgstr "终止提交" 3502 msgstr "终止提交"
3428 3503
3429 #. type: Content of: <book><chapter><sect1><sect2><para> 3504 #. type: Content of: <book><chapter><sect1><sect2><para>
3430 #: ../en/ch01-tour-basic.xml:645 3505 #: ../en/ch01-tour-basic.xml:702
3431 msgid "" 3506 msgid ""
3432 "If you decide that you don't want to commit while in the middle of editing a " 3507 "If you decide that you don't want to commit while in the middle of editing a "
3433 "commit message, simply exit from your editor without saving the file that " 3508 "commit message, simply exit from your editor without saving the file that "
3434 "it's editing. This will cause nothing to happen to either the repository or " 3509 "it's editing. This will cause nothing to happen to either the repository or "
3435 "the working directory." 3510 "the working directory."
3436 msgstr "" 3511 msgstr ""
3437 3512
3438 #. type: Content of: <book><chapter><sect1><sect2><para> 3513 #. type: Content of: <book><chapter><sect1><sect2><para>
3439 #: ../en/ch01-tour-basic.xml:650 3514 #: ../en/ch01-tour-basic.xml:707
3440 msgid "" 3515 msgid ""
3441 "If we run the <command role=\"hg-cmd\">hg commit</command> command without " 3516 "If we run the <command role=\"hg-cmd\">hg commit</command> command without "
3442 "any arguments, it records all of the changes we've made, as reported by " 3517 "any arguments, it records all of the changes we've made, as reported by "
3443 "<command role=\"hg-cmd\">hg status</command> and <command role=\"hg-cmd\">hg " 3518 "<command role=\"hg-cmd\">hg status</command> and <command role=\"hg-cmd\">hg "
3444 "diff</command>." 3519 "diff</command>."
3445 msgstr "" 3520 msgstr ""
3446 3521
3447 #. type: Content of: <book><chapter><sect1><sect2><title> 3522 #. type: Content of: <book><chapter><sect1><sect2><title>
3448 #: ../en/ch01-tour-basic.xml:657 3523 #: ../en/ch01-tour-basic.xml:714
3449 msgid "Admiring our new handiwork" 3524 msgid "Admiring our new handiwork"
3450 msgstr "欣赏我们的成果" 3525 msgstr "欣赏我们的成果"
3451 3526
3452 #. type: Content of: <book><chapter><sect1><sect2><para> 3527 #. type: Content of: <book><chapter><sect1><sect2><para>
3453 #: ../en/ch01-tour-basic.xml:659 3528 #: ../en/ch01-tour-basic.xml:716
3454 msgid "" 3529 msgid ""
3455 "Once we've finished the commit, we can use the <command role=\"hg-cmd\">hg " 3530 "Once we've finished the commit, we can use the <command role=\"hg-cmd\">hg "
3456 "tip</command> command to display the changeset we just created. This command " 3531 "tip</command> command to display the changeset we just created. This command "
3457 "produces output that is identical to <command role=\"hg-cmd\">hg log</" 3532 "produces output that is identical to <command role=\"hg-cmd\">hg log</"
3458 "command>, but it only displays the newest revision in the repository." 3533 "command>, but it only displays the newest revision in the repository."
3459 msgstr "" 3534 msgstr ""
3460 3535
3461 #. type: Content of: <book><chapter><sect1><sect2><para> 3536 #. type: Content of: <book><chapter><sect1><sect2><para>
3462 #: ../en/ch01-tour-basic.xml:668 3537 #: ../en/ch01-tour-basic.xml:725
3463 msgid "" 3538 msgid ""
3464 "We refer to the newest revision in the repository as the tip revision, or " 3539 "We refer to the newest revision in the repository as the <emphasis>tip "
3465 "simply the tip." 3540 "revision</emphasis>, or simply the <emphasis>tip</emphasis>."
3541 msgstr ""
3542
3543 #. type: Content of: <book><chapter><sect1><sect2><para>
3544 #: ../en/ch01-tour-basic.xml:729
3545 msgid ""
3546 "By the way, the <command role=\"hg-cmd\">hg tip</command> command accepts "
3547 "many of the same options as <command role=\"hg-cmd\">hg log</command>, so "
3548 "<option role=\"hg-opt-global\">-v</option> above indicates <quote>be verbose</"
3549 "quote>, <option role=\"hg-opt-tip\">-p</option> specifies <quote>print a "
3550 "patch</quote>. The use of <option role=\"hg-opt-tip\">-p</option> to print "
3551 "patches is another example of the consistent naming we mentioned earlier."
3466 msgstr "" 3552 msgstr ""
3467 3553
3468 #. type: Content of: <book><chapter><sect1><title> 3554 #. type: Content of: <book><chapter><sect1><title>
3469 #: ../en/ch01-tour-basic.xml:675 3555 #: ../en/ch01-tour-basic.xml:741
3470 msgid "Sharing changes" 3556 msgid "Sharing changes"
3471 msgstr "共享修改" 3557 msgstr "共享修改"
3472 3558
3473 #. type: Content of: <book><chapter><sect1><para> 3559 #. type: Content of: <book><chapter><sect1><para>
3474 #: ../en/ch01-tour-basic.xml:677 3560 #: ../en/ch01-tour-basic.xml:743
3475 msgid "" 3561 msgid ""
3476 "We mentioned earlier that repositories in Mercurial are self-contained. This " 3562 "We mentioned earlier that repositories in Mercurial are self-contained. This "
3477 "means that the changeset we just created exists only in our <filename class=" 3563 "means that the changeset we just created exists only in our <filename class="
3478 "\"directory\">my-hello</filename> repository. Let's look at a few ways that " 3564 "\"directory\">my-hello</filename> repository. Let's look at a few ways that "
3479 "we can propagate this change into other repositories." 3565 "we can propagate this change into other repositories."
3480 msgstr "" 3566 msgstr ""
3481 3567
3482 #. type: Content of: <book><chapter><sect1><sect2><title> 3568 #. type: Content of: <book><chapter><sect1><sect2><title>
3483 #: ../en/ch01-tour-basic.xml:685 3569 #: ../en/ch01-tour-basic.xml:751
3484 msgid "Pulling changes from another repository" 3570 msgid "Pulling changes from another repository"
3485 msgstr "从其它版本库取得修改" 3571 msgstr "从其它版本库取得修改"
3486 3572
3487 #. type: Content of: <book><chapter><sect1><sect2><para> 3573 #. type: Content of: <book><chapter><sect1><sect2><para>
3488 #: ../en/ch01-tour-basic.xml:686 3574 #: ../en/ch01-tour-basic.xml:752
3489 msgid "" 3575 msgid ""
3490 "To get started, let's clone our original <filename class=\"directory\">hello</" 3576 "To get started, let's clone our original <filename class=\"directory\">hello</"
3491 "filename> repository, which does not contain the change we just committed. " 3577 "filename> repository, which does not contain the change we just committed. "
3492 "We'll call our temporary repository <filename class=\"directory\">hello-pull</" 3578 "We'll call our temporary repository <filename class=\"directory\">hello-pull</"
3493 "filename>." 3579 "filename>."
3494 msgstr "" 3580 msgstr ""
3495 3581
3496 #. type: Content of: <book><chapter><sect1><sect2><para> 3582 #. type: Content of: <book><chapter><sect1><sect2><para>
3497 #: ../en/ch01-tour-basic.xml:694 3583 #: ../en/ch01-tour-basic.xml:760
3498 msgid "" 3584 msgid ""
3499 "We'll use the <command role=\"hg-cmd\">hg pull</command> command to bring " 3585 "We'll use the <command role=\"hg-cmd\">hg pull</command> command to bring "
3500 "changes from <filename class=\"directory\">my-hello</filename> into <filename " 3586 "changes from <filename class=\"directory\">my-hello</filename> into <filename "
3501 "class=\"directory\">hello-pull</filename>. However, blindly pulling unknown " 3587 "class=\"directory\">hello-pull</filename>. However, blindly pulling unknown "
3502 "changes into a repository is a somewhat scary prospect. Mercurial provides " 3588 "changes into a repository is a somewhat scary prospect. Mercurial provides "
3505 "<emphasis>would</emphasis> pull into the repository, without actually pulling " 3591 "<emphasis>would</emphasis> pull into the repository, without actually pulling "
3506 "the changes in." 3592 "the changes in."
3507 msgstr "" 3593 msgstr ""
3508 3594
3509 #. type: Content of: <book><chapter><sect1><sect2><para> 3595 #. type: Content of: <book><chapter><sect1><sect2><para>
3510 #: ../en/ch01-tour-basic.xml:707 3596 #: ../en/ch01-tour-basic.xml:773
3511 msgid "" 3597 msgid ""
3512 "(Of course, someone could cause more changesets to appear in the repository " 3598 "Suppose you're pulling changes from a repository on the network somewhere. "
3513 "that we ran <command role=\"hg-cmd\">hg incoming</command> in, before we get " 3599 "While you are looking at the <command role=\"hg-cmd\">hg incoming</command> "
3514 "a chance to <command role=\"hg-cmd\">hg pull</command> the changes, so that " 3600 "output, and before you pull those changes, someone might have committed "
3515 "we could end up pulling changes that we didn't expect.)" 3601 "something in the remote repository. This means that it's possible to pull "
3516 msgstr "" 3602 "more changes than you saw when using <command role=\"hg-cmd\">hg incoming</"
3517 3603 "command>."
3518 #. type: Content of: <book><chapter><sect1><sect2><para> 3604 msgstr ""
3519 #: ../en/ch01-tour-basic.xml:714 3605
3606 #. type: Content of: <book><chapter><sect1><sect2><para>
3607 #: ../en/ch01-tour-basic.xml:781
3520 msgid "" 3608 msgid ""
3521 "Bringing changes into a repository is a simple matter of running the <command " 3609 "Bringing changes into a repository is a simple matter of running the <command "
3522 "role=\"hg-cmd\">hg pull</command> command, and telling it which repository to " 3610 "role=\"hg-cmd\">hg pull</command> command, and telling it which repository to "
3523 "pull from." 3611 "pull from."
3524 msgstr "" 3612 msgstr ""
3525 3613
3526 #. type: Content of: <book><chapter><sect1><sect2><para> 3614 #. type: Content of: <book><chapter><sect1><sect2><para>
3527 #: ../en/ch01-tour-basic.xml:721 3615 #: ../en/ch01-tour-basic.xml:788
3528 msgid "" 3616 msgid ""
3529 "As you can see from the before-and-after output of <command role=\"hg-cmd" 3617 "As you can see from the before-and-after output of <command role=\"hg-cmd"
3530 "\">hg tip</command>, we have successfully pulled changes into our " 3618 "\">hg tip</command>, we have successfully pulled changes into our "
3531 "repository. There remains one step before we can see these changes in the " 3619 "repository. There remains one step before we can see these changes in the "
3532 "working directory." 3620 "working directory."
3533 msgstr "" 3621 msgstr ""
3534 3622
3535 #. type: Content of: <book><chapter><sect1><sect2><title> 3623 #. type: Content of: <book><chapter><sect1><sect2><title>
3536 #: ../en/ch01-tour-basic.xml:729 3624 #: ../en/ch01-tour-basic.xml:796
3537 msgid "Updating the working directory" 3625 msgid "Updating the working directory"
3538 msgstr "更新工作目录" 3626 msgstr "更新工作目录"
3539 3627
3540 #. type: Content of: <book><chapter><sect1><sect2><para> 3628 #. type: Content of: <book><chapter><sect1><sect2><para>
3541 #: ../en/ch01-tour-basic.xml:731 3629 #: ../en/ch01-tour-basic.xml:798
3542 msgid "" 3630 msgid ""
3543 "We have so far glossed over the relationship between a repository and its " 3631 "We have so far glossed over the relationship between a repository and its "
3544 "working directory. The <command role=\"hg-cmd\">hg pull</command> command " 3632 "working directory. The <command role=\"hg-cmd\">hg pull</command> command "
3545 "that we ran in <xref linkend=\"sec:tour:pull\"/> brought changes into the " 3633 "that we ran in <xref linkend=\"sec:tour:pull\"/> brought changes into the "
3546 "repository, but if we check, there's no sign of those changes in the working " 3634 "repository, but if we check, there's no sign of those changes in the working "
3548 "not (by default) touch the working directory. Instead, we use the <command " 3636 "not (by default) touch the working directory. Instead, we use the <command "
3549 "role=\"hg-cmd\">hg update</command> command to do this." 3637 "role=\"hg-cmd\">hg update</command> command to do this."
3550 msgstr "" 3638 msgstr ""
3551 3639
3552 #. type: Content of: <book><chapter><sect1><sect2><para> 3640 #. type: Content of: <book><chapter><sect1><sect2><para>
3553 #: ../en/ch01-tour-basic.xml:743 3641 #: ../en/ch01-tour-basic.xml:810
3554 msgid "" 3642 msgid ""
3555 "It might seem a bit strange that <command role=\"hg-cmd\">hg pull</command> " 3643 "It might seem a bit strange that <command role=\"hg-cmd\">hg pull</command> "
3556 "doesn't update the working directory automatically. There's actually a good " 3644 "doesn't update the working directory automatically. There's actually a good "
3557 "reason for this: you can use <command role=\"hg-cmd\">hg update</command> to " 3645 "reason for this: you can use <command role=\"hg-cmd\">hg update</command> to "
3558 "update the working directory to the state it was in at <emphasis>any " 3646 "update the working directory to the state it was in at <emphasis>any "
3559 "revision</emphasis> in the history of the repository. If you had the working " 3647 "revision</emphasis> in the history of the repository. If you had the working "
3560 "directory updated to an old revision---to hunt down the origin of a bug, " 3648 "directory updated to an old revision—to hunt down the origin of a bug, say—"
3561 "say---and ran a <command role=\"hg-cmd\">hg pull</command> which " 3649 "and ran a <command role=\"hg-cmd\">hg pull</command> which automatically "
3562 "automatically updated the working directory to a new revision, you might not " 3650 "updated the working directory to a new revision, you might not be terribly "
3563 "be terribly happy." 3651 "happy."
3564 msgstr "" 3652 msgstr ""
3565 3653
3566 #. type: Content of: <book><chapter><sect1><sect2><para> 3654 #. type: Content of: <book><chapter><sect1><sect2><para>
3567 #: ../en/ch01-tour-basic.xml:754 3655 #: ../en/ch01-tour-basic.xml:821
3568 msgid "" 3656 msgid ""
3569 "However, since pull-then-update is such a common thing to do, Mercurial lets " 3657 "However, since pull-then-update is such a common thing to do, Mercurial lets "
3570 "you combine the two by passing the <option role=\"hg-opt-pull\">-u</option> " 3658 "you combine the two by passing the <option role=\"hg-opt-pull\">-u</option> "
3571 "option to <command role=\"hg-cmd\">hg pull</command>." 3659 "option to <command role=\"hg-cmd\">hg pull</command>."
3572 msgstr "" 3660 msgstr ""
3573 3661
3574 #. type: Content of: <book><chapter><sect1><sect2><para> 3662 #. type: Content of: <book><chapter><sect1><sect2><para>
3575 #: ../en/ch01-tour-basic.xml:759 3663 #: ../en/ch01-tour-basic.xml:826
3576 msgid "" 3664 msgid ""
3577 "If you look back at the output of <command role=\"hg-cmd\">hg pull</command> " 3665 "If you look back at the output of <command role=\"hg-cmd\">hg pull</command> "
3578 "in <xref linkend=\"sec:tour:pull\"/> when we ran it without <option role=\"hg-" 3666 "in <xref linkend=\"sec:tour:pull\"/> when we ran it without <option role=\"hg-"
3579 "opt-pull\">-u</option>, you can see that it printed a helpful reminder that " 3667 "opt-pull\">-u</option>, you can see that it printed a helpful reminder that "
3580 "we'd have to take an explicit step to update the working directory:" 3668 "we'd have to take an explicit step to update the working directory:"
3581 msgstr "" 3669 msgstr ""
3582 3670
3583 #. type: Content of: <book><chapter><sect1><sect2><para> 3671 #. type: Content of: <book><chapter><sect1><sect2><para>
3584 #: ../en/ch01-tour-basic.xml:768 3672 #: ../en/ch01-tour-basic.xml:835
3585 msgid "" 3673 msgid ""
3586 "To find out what revision the working directory is at, use the <command role=" 3674 "To find out what revision the working directory is at, use the <command role="
3587 "\"hg-cmd\">hg parents</command> command." 3675 "\"hg-cmd\">hg parents</command> command."
3588 msgstr "" 3676 msgstr ""
3589 3677
3590 #. type: Content of: <book><chapter><sect1><sect2><para> 3678 #. type: Content of: <book><chapter><sect1><sect2><para>
3591 #: ../en/ch01-tour-basic.xml:774 3679 #: ../en/ch01-tour-basic.xml:841
3592 msgid "" 3680 msgid ""
3593 "If you look back at <xref linkend=\"fig:tour-basic:history\"/>, you'll see " 3681 "If you look back at <xref linkend=\"fig:tour-basic:history\"/>, you'll see "
3594 "arrows connecting each changeset. The node that the arrow leads " 3682 "arrows connecting each changeset. The node that the arrow leads "
3595 "<emphasis>from</emphasis> in each case is a parent, and the node that the " 3683 "<emphasis>from</emphasis> in each case is a parent, and the node that the "
3596 "arrow leads <emphasis>to</emphasis> is its child. The working directory has " 3684 "arrow leads <emphasis>to</emphasis> is its child. The working directory has "
3597 "a parent in just the same way; this is the changeset that the working " 3685 "a parent in just the same way; this is the changeset that the working "
3598 "directory currently contains." 3686 "directory currently contains."
3599 msgstr "" 3687 msgstr ""
3600 3688
3601 #. type: Content of: <book><chapter><sect1><sect2><para> 3689 #. type: Content of: <book><chapter><sect1><sect2><para>
3602 #: ../en/ch01-tour-basic.xml:783 3690 #: ../en/ch01-tour-basic.xml:850
3603 msgid "" 3691 msgid ""
3604 "To update the working directory to a particular revision, give a revision " 3692 "To update the working directory to a particular revision, give a revision "
3605 "number or changeset ID to the <command role=\"hg-cmd\">hg update</command> " 3693 "number or changeset ID to the <command role=\"hg-cmd\">hg update</command> "
3606 "command." 3694 "command."
3607 msgstr "" 3695 msgstr ""
3608 3696
3609 #. type: Content of: <book><chapter><sect1><sect2><para> 3697 #. type: Content of: <book><chapter><sect1><sect2><para>
3610 #: ../en/ch01-tour-basic.xml:790 3698 #: ../en/ch01-tour-basic.xml:857
3611 msgid "" 3699 msgid ""
3612 "If you omit an explicit revision, <command role=\"hg-cmd\">hg update</" 3700 "If you omit an explicit revision, <command role=\"hg-cmd\">hg update</"
3613 "command> will update to the tip revision, as shown by the second call to " 3701 "command> will update to the tip revision, as shown by the second call to "
3614 "<command role=\"hg-cmd\">hg update</command> in the example above." 3702 "<command role=\"hg-cmd\">hg update</command> in the example above."
3615 msgstr "" 3703 msgstr ""
3616 3704
3617 #. type: Content of: <book><chapter><sect1><sect2><title> 3705 #. type: Content of: <book><chapter><sect1><sect2><title>
3618 #: ../en/ch01-tour-basic.xml:798 3706 #: ../en/ch01-tour-basic.xml:865
3619 msgid "Pushing changes to another repository" 3707 msgid "Pushing changes to another repository"
3620 msgstr "发布修改到其它版本库" 3708 msgstr "发布修改到其它版本库"
3621 3709
3622 #. type: Content of: <book><chapter><sect1><sect2><para> 3710 #. type: Content of: <book><chapter><sect1><sect2><para>
3623 #: ../en/ch01-tour-basic.xml:800 3711 #: ../en/ch01-tour-basic.xml:867
3624 msgid "" 3712 msgid ""
3625 "Mercurial lets us push changes to another repository, from the repository " 3713 "Mercurial lets us push changes to another repository, from the repository "
3626 "we're currently visiting. As with the example of <command role=\"hg-cmd\">hg " 3714 "we're currently visiting. As with the example of <command role=\"hg-cmd\">hg "
3627 "pull</command> above, we'll create a temporary repository to push our changes " 3715 "pull</command> above, we'll create a temporary repository to push our changes "
3628 "into." 3716 "into."
3629 msgstr "" 3717 msgstr ""
3630 3718
3631 #. type: Content of: <book><chapter><sect1><sect2><para> 3719 #. type: Content of: <book><chapter><sect1><sect2><para>
3632 #: ../en/ch01-tour-basic.xml:808 3720 #: ../en/ch01-tour-basic.xml:875
3633 msgid "" 3721 msgid ""
3634 "The <command role=\"hg-cmd\">hg outgoing</command> command tells us what " 3722 "The <command role=\"hg-cmd\">hg outgoing</command> command tells us what "
3635 "changes would be pushed into another repository." 3723 "changes would be pushed into another repository."
3636 msgstr "" 3724 msgstr ""
3637 3725
3638 #. type: Content of: <book><chapter><sect1><sect2><para> 3726 #. type: Content of: <book><chapter><sect1><sect2><para>
3639 #: ../en/ch01-tour-basic.xml:814 3727 #: ../en/ch01-tour-basic.xml:881
3640 msgid "" 3728 msgid ""
3641 "And the <command role=\"hg-cmd\">hg push</command> command does the actual " 3729 "And the <command role=\"hg-cmd\">hg push</command> command does the actual "
3642 "push." 3730 "push."
3643 msgstr "" 3731 msgstr ""
3644 3732
3645 #. type: Content of: <book><chapter><sect1><sect2><para> 3733 #. type: Content of: <book><chapter><sect1><sect2><para>
3646 #: ../en/ch01-tour-basic.xml:820 3734 #: ../en/ch01-tour-basic.xml:887
3647 msgid "" 3735 msgid ""
3648 "As with <command role=\"hg-cmd\">hg pull</command>, the <command role=\"hg-cmd" 3736 "As with <command role=\"hg-cmd\">hg pull</command>, the <command role=\"hg-cmd"
3649 "\">hg push</command> command does not update the working directory in the " 3737 "\">hg push</command> command does not update the working directory in the "
3650 "repository that it's pushing changes into. (Unlike <command role=\"hg-cmd" 3738 "repository that it's pushing changes into. Unlike <command role=\"hg-cmd\">hg "
3651 "\">hg pull</command>, <command role=\"hg-cmd\">hg push</command> does not " 3739 "pull</command>, <command role=\"hg-cmd\">hg push</command> does not provide a "
3652 "provide a <literal>-u</literal> option that updates the other repository's " 3740 "<literal>-u</literal> option that updates the other repository's working "
3653 "working directory.)" 3741 "directory. This asymmetry is deliberate: the repository we're pushing to "
3654 msgstr "" 3742 "might be on a remote server and shared between several people. If we were to "
3655 3743 "update its working directory while someone was working in it, their work "
3656 #. type: Content of: <book><chapter><sect1><sect2><para> 3744 "would be disrupted."
3657 #: ../en/ch01-tour-basic.xml:829 3745 msgstr ""
3746
3747 #. type: Content of: <book><chapter><sect1><sect2><para>
3748 #: ../en/ch01-tour-basic.xml:899
3658 msgid "" 3749 msgid ""
3659 "What happens if we try to pull or push changes and the receiving repository " 3750 "What happens if we try to pull or push changes and the receiving repository "
3660 "already has those changes? Nothing too exciting." 3751 "already has those changes? Nothing too exciting."
3661 msgstr "" 3752 msgstr ""
3662 3753
3663 #. type: Content of: <book><chapter><sect1><sect2><title> 3754 #. type: Content of: <book><chapter><sect1><sect2><title>
3664 #: ../en/ch01-tour-basic.xml:836 3755 #: ../en/ch01-tour-basic.xml:906
3665 msgid "Sharing changes over a network" 3756 msgid "Sharing changes over a network"
3666 msgstr "通过网络共享修改" 3757 msgstr "通过网络共享修改"
3667 3758
3668 #. type: Content of: <book><chapter><sect1><sect2><para> 3759 #. type: Content of: <book><chapter><sect1><sect2><para>
3669 #: ../en/ch01-tour-basic.xml:838 3760 #: ../en/ch01-tour-basic.xml:908
3670 msgid "" 3761 msgid ""
3671 "The commands we have covered in the previous few sections are not limited to " 3762 "The commands we have covered in the previous few sections are not limited to "
3672 "working with local repositories. Each works in exactly the same fashion over " 3763 "working with local repositories. Each works in exactly the same fashion over "
3673 "a network connection; simply pass in a URL instead of a local path." 3764 "a network connection; simply pass in a URL instead of a local path."
3674 msgstr "" 3765 msgstr ""
3675 3766
3676 #. type: Content of: <book><chapter><sect1><sect2><para> 3767 #. type: Content of: <book><chapter><sect1><sect2><para>
3677 #: ../en/ch01-tour-basic.xml:846 3768 #: ../en/ch01-tour-basic.xml:916
3678 msgid "" 3769 msgid ""
3679 "In this example, we can see what changes we could push to the remote " 3770 "In this example, we can see what changes we could push to the remote "
3680 "repository, but the repository is understandably not set up to let anonymous " 3771 "repository, but the repository is understandably not set up to let anonymous "
3681 "users push to it." 3772 "users push to it."
3682 msgstr "" 3773 msgstr ""
5391 "accidentally remove a file without noticing." 5482 "accidentally remove a file without noticing."
5392 msgstr "" 5483 msgstr ""
5393 5484
5394 #. type: Content of: <book><chapter><sect1><sect2><title> 5485 #. type: Content of: <book><chapter><sect1><sect2><title>
5395 #: ../en/ch04-daily.xml:198 5486 #: ../en/ch04-daily.xml:198
5487 #, fuzzy
5396 msgid "Useful shorthand—adding and removing files in one step" 5488 msgid "Useful shorthand—adding and removing files in one step"
5397 msgstr "有用的速记—一个步骤添加和删除文件" 5489 msgstr "有用的速记—一个步骤添加和删除文件"
5398 5490
5399 #. type: Content of: <book><chapter><sect1><sect2><para> 5491 #. type: Content of: <book><chapter><sect1><sect2><para>
5400 #: ../en/ch04-daily.xml:201 5492 #: ../en/ch04-daily.xml:201
8519 "in." 8611 "in."
8520 msgstr "" 8612 msgstr ""
8521 8613
8522 #. type: Content of: <book><chapter><sect1><title> 8614 #. type: Content of: <book><chapter><sect1><title>
8523 #: ../en/ch07-branch.xml:228 8615 #: ../en/ch07-branch.xml:228
8616 #, fuzzy
8524 msgid "The flow of changes—big picture vs. little" 8617 msgid "The flow of changes—big picture vs. little"
8525 msgstr "修改流程—宏观与微观" 8618 msgstr "修改流程—宏观与微观"
8526 8619
8527 #. type: Content of: <book><chapter><sect1><para> 8620 #. type: Content of: <book><chapter><sect1><para>
8528 #: ../en/ch07-branch.xml:230 8621 #: ../en/ch07-branch.xml:230
11183 "wherever your package installer put Mercurial." 11276 "wherever your package installer put Mercurial."
11184 msgstr "" 11277 msgstr ""
11185 11278
11186 #. type: Content of: <book><chapter><sect1><sect2><title> 11279 #. type: Content of: <book><chapter><sect1><sect2><title>
11187 #: ../en/ch09-hook.xml:716 11280 #: ../en/ch09-hook.xml:716
11281 #, fuzzy
11188 msgid "" 11282 msgid ""
11189 "<literal role=\"hg-ext\">acl</literal>—access control for parts of a " 11283 "<literal role=\"hg-ext\">acl</literal>—access control for parts of a "
11190 "repository" 11284 "repository"
11191 msgstr "<literal role=\"hg-ext\">acl</literal>—版本库的访问控制" 11285 msgstr "<literal role=\"hg-ext\">acl</literal>—版本库的访问控制"
11192 11286
11331 "pushes from specific users." 11425 "pushes from specific users."
11332 msgstr "" 11426 msgstr ""
11333 11427
11334 #. type: Content of: <book><chapter><sect1><sect2><title> 11428 #. type: Content of: <book><chapter><sect1><sect2><title>
11335 #: ../en/ch09-hook.xml:844 11429 #: ../en/ch09-hook.xml:844
11430 #, fuzzy
11336 msgid "<literal role=\"hg-ext\">bugzilla</literal>—integration with Bugzilla" 11431 msgid "<literal role=\"hg-ext\">bugzilla</literal>—integration with Bugzilla"
11337 msgstr "<literal role=\"hg-ext\">bugzilla</literal>—与 Bugzilla 的集成" 11432 msgstr "<literal role=\"hg-ext\">bugzilla</literal>—与 Bugzilla 的集成"
11338 11433
11339 #. type: Content of: <book><chapter><sect1><sect2><para> 11434 #. type: Content of: <book><chapter><sect1><sect2><para>
11340 #: ../en/ch09-hook.xml:848 11435 #: ../en/ch09-hook.xml:848
11663 "maps it to a valid Bugzilla user name." 11758 "maps it to a valid Bugzilla user name."
11664 msgstr "" 11759 msgstr ""
11665 11760
11666 #. type: Content of: <book><chapter><sect1><sect2><title> 11761 #. type: Content of: <book><chapter><sect1><sect2><title>
11667 #: ../en/ch09-hook.xml:1150 11762 #: ../en/ch09-hook.xml:1150
11763 #, fuzzy
11668 msgid "<literal role=\"hg-ext\">notify</literal>—send email notifications" 11764 msgid "<literal role=\"hg-ext\">notify</literal>—send email notifications"
11669 msgstr "<literal role=\"hg-ext\">notify</literal>—邮件通知" 11765 msgstr "<literal role=\"hg-ext\">notify</literal>—邮件通知"
11670 11766
11671 #. type: Content of: <book><chapter><sect1><sect2><para> 11767 #. type: Content of: <book><chapter><sect1><sect2><para>
11672 #: ../en/ch09-hook.xml:1153 11768 #: ../en/ch09-hook.xml:1153
11987 "bundle." 12083 "bundle."
11988 msgstr "" 12084 msgstr ""
11989 12085
11990 #. type: Content of: <book><chapter><sect1><sect2><sect3><title> 12086 #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
11991 #: ../en/ch09-hook.xml:1431 12087 #: ../en/ch09-hook.xml:1431
12088 #, fuzzy
11992 msgid "Where changes are going—remote repository URLs" 12089 msgid "Where changes are going—remote repository URLs"
11993 msgstr "修改集要到哪里—远程版本库的地址" 12090 msgstr "修改集要到哪里—远程版本库的地址"
11994 12091
11995 #. type: Content of: <book><chapter><sect1><sect2><sect3><para> 12092 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
11996 #: ../en/ch09-hook.xml:1434 12093 #: ../en/ch09-hook.xml:1434
12036 msgid "Hook reference" 12133 msgid "Hook reference"
12037 msgstr "钩子参考" 12134 msgstr "钩子参考"
12038 12135
12039 #. type: Content of: <book><chapter><sect1><sect2><title> 12136 #. type: Content of: <book><chapter><sect1><sect2><title>
12040 #: ../en/ch09-hook.xml:1473 12137 #: ../en/ch09-hook.xml:1473
12138 #, fuzzy
12041 msgid "" 12139 msgid ""
12042 "<literal role=\"hook\">changegroup</literal>—after remote changesets added" 12140 "<literal role=\"hook\">changegroup</literal>—after remote changesets added"
12043 msgstr "<literal role=\"hook\">changegroup</literal>—增加远程修改集之后" 12141 msgstr "<literal role=\"hook\">changegroup</literal>—增加远程修改集之后"
12044 12142
12045 #. type: Content of: <book><chapter><sect1><sect2><para> 12143 #. type: Content of: <book><chapter><sect1><sect2><para>
12104 "literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/>)" 12202 "literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/>)"
12105 msgstr "" 12203 msgstr ""
12106 12204
12107 #. type: Content of: <book><chapter><sect1><sect2><title> 12205 #. type: Content of: <book><chapter><sect1><sect2><title>
12108 #: ../en/ch09-hook.xml:1526 12206 #: ../en/ch09-hook.xml:1526
12207 #, fuzzy
12109 msgid "<literal role=\"hook\">commit</literal>—after a new changeset is created" 12208 msgid "<literal role=\"hook\">commit</literal>—after a new changeset is created"
12110 msgstr "<literal role=\"hook\">commit</literal>—创建新修改集之后" 12209 msgstr "<literal role=\"hook\">commit</literal>—创建新修改集之后"
12111 12210
12112 #. type: Content of: <book><chapter><sect1><sect2><para> 12211 #. type: Content of: <book><chapter><sect1><sect2><para>
12113 #: ../en/ch09-hook.xml:1529 12212 #: ../en/ch09-hook.xml:1529
12143 "linkend=\"sec:hook:pretxncommit\"/>)" 12242 "linkend=\"sec:hook:pretxncommit\"/>)"
12144 msgstr "" 12243 msgstr ""
12145 12244
12146 #. type: Content of: <book><chapter><sect1><sect2><title> 12245 #. type: Content of: <book><chapter><sect1><sect2><title>
12147 #: ../en/ch09-hook.xml:1559 12246 #: ../en/ch09-hook.xml:1559
12247 #, fuzzy
12148 msgid "" 12248 msgid ""
12149 "<literal role=\"hook\">incoming</literal>—after one remote changeset is added" 12249 "<literal role=\"hook\">incoming</literal>—after one remote changeset is added"
12150 msgstr "<literal role=\"hook\">incoming</literal>—增加远程修改集之后" 12250 msgstr "<literal role=\"hook\">incoming</literal>—增加远程修改集之后"
12151 12251
12152 #. type: Content of: <book><chapter><sect1><sect2><para> 12252 #. type: Content of: <book><chapter><sect1><sect2><para>
12183 ">)" 12283 ">)"
12184 msgstr "" 12284 msgstr ""
12185 12285
12186 #. type: Content of: <book><chapter><sect1><sect2><title> 12286 #. type: Content of: <book><chapter><sect1><sect2><title>
12187 #: ../en/ch09-hook.xml:1605 12287 #: ../en/ch09-hook.xml:1605
12288 #, fuzzy
12188 msgid "" 12289 msgid ""
12189 "<literal role=\"hook\">outgoing</literal>—after changesets are propagated" 12290 "<literal role=\"hook\">outgoing</literal>—after changesets are propagated"
12190 msgstr "<literal role=\"hook\">outgoing</literal>—传播修改集之后" 12291 msgstr "<literal role=\"hook\">outgoing</literal>—传播修改集之后"
12191 12292
12192 #. type: Content of: <book><chapter><sect1><sect2><para> 12293 #. type: Content of: <book><chapter><sect1><sect2><para>
12230 "hook:preoutgoing\"/>)" 12331 "hook:preoutgoing\"/>)"
12231 msgstr "" 12332 msgstr ""
12232 12333
12233 #. type: Content of: <book><chapter><sect1><sect2><title> 12334 #. type: Content of: <book><chapter><sect1><sect2><title>
12234 #: ../en/ch09-hook.xml:1652 12335 #: ../en/ch09-hook.xml:1652
12336 #, fuzzy
12235 msgid "" 12337 msgid ""
12236 "<literal role=\"hook\">prechangegroup</literal>—before starting to add remote " 12338 "<literal role=\"hook\">prechangegroup</literal>—before starting to add remote "
12237 "changesets" 12339 "changesets"
12238 msgstr "<literal role=\"hook\">prechangegroup</literal>—增加远程修改集之前" 12340 msgstr "<literal role=\"hook\">prechangegroup</literal>—增加远程修改集之前"
12239 12341
12270 "literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/>)" 12372 "literal> (<xref linkend=\"sec:hook:pretxnchangegroup\"/>)"
12271 msgstr "" 12373 msgstr ""
12272 12374
12273 #. type: Content of: <book><chapter><sect1><sect2><title> 12375 #. type: Content of: <book><chapter><sect1><sect2><title>
12274 #: ../en/ch09-hook.xml:1698 12376 #: ../en/ch09-hook.xml:1698
12377 #, fuzzy
12275 msgid "" 12378 msgid ""
12276 "<literal role=\"hook\">precommit</literal>—before starting to commit a " 12379 "<literal role=\"hook\">precommit</literal>—before starting to commit a "
12277 "changeset" 12380 "changeset"
12278 msgstr "<literal role=\"hook\">precommit</literal>—提交修改集之前" 12381 msgstr "<literal role=\"hook\">precommit</literal>—提交修改集之前"
12279 12382
12322 "\"sec:hook:pretxncommit\"/>)" 12425 "\"sec:hook:pretxncommit\"/>)"
12323 msgstr "" 12426 msgstr ""
12324 12427
12325 #. type: Content of: <book><chapter><sect1><sect2><title> 12428 #. type: Content of: <book><chapter><sect1><sect2><title>
12326 #: ../en/ch09-hook.xml:1738 12429 #: ../en/ch09-hook.xml:1738
12430 #, fuzzy
12327 msgid "" 12431 msgid ""
12328 "<literal role=\"hook\">preoutgoing</literal>—before starting to propagate " 12432 "<literal role=\"hook\">preoutgoing</literal>—before starting to propagate "
12329 "changesets" 12433 "changesets"
12330 msgstr "<literal role=\"hook\">preoutgoing</literal>—传播修改集之前" 12434 msgstr "<literal role=\"hook\">preoutgoing</literal>—传播修改集之前"
12331 12435
12360 "outgoing\"/>)" 12464 "outgoing\"/>)"
12361 msgstr "" 12465 msgstr ""
12362 12466
12363 #. type: Content of: <book><chapter><sect1><sect2><title> 12467 #. type: Content of: <book><chapter><sect1><sect2><title>
12364 #: ../en/ch09-hook.xml:1775 12468 #: ../en/ch09-hook.xml:1775
12469 #, fuzzy
12365 msgid "<literal role=\"hook\">pretag</literal>—before tagging a changeset" 12470 msgid "<literal role=\"hook\">pretag</literal>—before tagging a changeset"
12366 msgstr "<literal role=\"hook\">pretag</literal>—创建标签之前" 12471 msgstr "<literal role=\"hook\">pretag</literal>—创建标签之前"
12367 12472
12368 #. type: Content of: <book><chapter><sect1><sect2><para> 12473 #. type: Content of: <book><chapter><sect1><sect2><para>
12369 #: ../en/ch09-hook.xml:1778 12474 #: ../en/ch09-hook.xml:1778
12409 "\"/>)" 12514 "\"/>)"
12410 msgstr "" 12515 msgstr ""
12411 12516
12412 #. type: Content of: <book><chapter><sect1><sect2><title> 12517 #. type: Content of: <book><chapter><sect1><sect2><title>
12413 #: ../en/ch09-hook.xml:1815 12518 #: ../en/ch09-hook.xml:1815
12519 #, fuzzy
12414 msgid "" 12520 msgid ""
12415 "<literal role=\"hook\">pretxnchangegroup</literal>—before completing addition " 12521 "<literal role=\"hook\">pretxnchangegroup</literal>—before completing addition "
12416 "of remote changesets" 12522 "of remote changesets"
12417 msgstr "" 12523 msgstr ""
12418 "<literal role=\"hook\">pretxnchangegroup</literal>—完成增加远程修改集之前" 12524 "<literal role=\"hook\">pretxnchangegroup</literal>—完成增加远程修改集之前"
12461 "literal> (<xref linkend=\"sec:hook:prechangegroup\"/>)" 12567 "literal> (<xref linkend=\"sec:hook:prechangegroup\"/>)"
12462 msgstr "" 12568 msgstr ""
12463 12569
12464 #. type: Content of: <book><chapter><sect1><sect2><title> 12570 #. type: Content of: <book><chapter><sect1><sect2><title>
12465 #: ../en/ch09-hook.xml:1881 12571 #: ../en/ch09-hook.xml:1881
12572 #, fuzzy
12466 msgid "" 12573 msgid ""
12467 "<literal role=\"hook\">pretxncommit</literal>—before completing commit of new " 12574 "<literal role=\"hook\">pretxncommit</literal>—before completing commit of new "
12468 "changeset" 12575 "changeset"
12469 msgstr "<literal role=\"hook\">pretxncommit</literal>—完成提交之前" 12576 msgstr "<literal role=\"hook\">pretxncommit</literal>—完成提交之前"
12470 12577
12503 "参见: <literal role=\"hook\">precommit</literal> (<xref linkend=\"sec:hook:" 12610 "参见: <literal role=\"hook\">precommit</literal> (<xref linkend=\"sec:hook:"
12504 "precommit\"/>)" 12611 "precommit\"/>)"
12505 12612
12506 #. type: Content of: <book><chapter><sect1><sect2><title> 12613 #. type: Content of: <book><chapter><sect1><sect2><title>
12507 #: ../en/ch09-hook.xml:1929 12614 #: ../en/ch09-hook.xml:1929
12615 #, fuzzy
12508 msgid "" 12616 msgid ""
12509 "<literal role=\"hook\">preupdate</literal>—before updating or merging working " 12617 "<literal role=\"hook\">preupdate</literal>—before updating or merging working "
12510 "directory" 12618 "directory"
12511 msgstr "<literal role=\"hook\">preupdate</literal>—更新或合并工作目录之前" 12619 msgstr "<literal role=\"hook\">preupdate</literal>—更新或合并工作目录之前"
12512 12620
12542 "update\"/>)" 12650 "update\"/>)"
12543 msgstr "" 12651 msgstr ""
12544 12652
12545 #. type: Content of: <book><chapter><sect1><sect2><title> 12653 #. type: Content of: <book><chapter><sect1><sect2><title>
12546 #: ../en/ch09-hook.xml:1961 12654 #: ../en/ch09-hook.xml:1961
12655 #, fuzzy
12547 msgid "<literal role=\"hook\">tag</literal>—after tagging a changeset" 12656 msgid "<literal role=\"hook\">tag</literal>—after tagging a changeset"
12548 msgstr "<literal role=\"hook\">tag</literal>—创建标签之后" 12657 msgstr "<literal role=\"hook\">tag</literal>—创建标签之后"
12549 12658
12550 #. type: Content of: <book><chapter><sect1><sect2><para> 12659 #. type: Content of: <book><chapter><sect1><sect2><para>
12551 #: ../en/ch09-hook.xml:1964 12660 #: ../en/ch09-hook.xml:1964
12590 "参见: <literal role=\"hook\">pretag</literal> (<xref linkend=\"sec:hook:pretag" 12699 "参见: <literal role=\"hook\">pretag</literal> (<xref linkend=\"sec:hook:pretag"
12591 "\"/>)" 12700 "\"/>)"
12592 12701
12593 #. type: Content of: <book><chapter><sect1><sect2><title> 12702 #. type: Content of: <book><chapter><sect1><sect2><title>
12594 #: ../en/ch09-hook.xml:1998 12703 #: ../en/ch09-hook.xml:1998
12704 #, fuzzy
12595 msgid "" 12705 msgid ""
12596 "<literal role=\"hook\">update</literal>—after updating or merging working " 12706 "<literal role=\"hook\">update</literal>—after updating or merging working "
12597 "directory" 12707 "directory"
12598 msgstr "<literal role=\"hook\">update</literal>—更新或合并工作目录之后" 12708 msgstr "<literal role=\"hook\">update</literal>—更新或合并工作目录之后"
12599 12709
13785 "where a bug got introduced or fixed. You can use the <command role=\"hg-cmd" 13895 "where a bug got introduced or fixed. You can use the <command role=\"hg-cmd"
13786 "\">hg annotate</command> command to see which changeset or patch modified a " 13896 "\">hg annotate</command> command to see which changeset or patch modified a "
13787 "particular line of a source file. And so on." 13897 "particular line of a source file. And so on."
13788 msgstr "" 13898 msgstr ""
13789 13899
13790 #. type: Content of: <book><chapter><sect1><title>
13791 #: ../en/ch11-mq.xml:187
13792 msgid "Understanding patches"
13793 msgstr "理解补丁"
13794
13795 #. type: Content of: <book><chapter><sect1><para> 13900 #. type: Content of: <book><chapter><sect1><para>
13796 #: ../en/ch11-mq.xml:189 13901 #: ../en/ch11-mq.xml:189
13797 msgid "" 13902 msgid ""
13798 "Because MQ doesn't hide its patch-oriented nature, it is helpful to " 13903 "Because MQ doesn't hide its patch-oriented nature, it is helpful to "
13799 "understand what patches are, and a little about the tools that work with them." 13904 "understand what patches are, and a little about the tools that work with them."