Commits

Kenneth Lo  committed dcec917 Draft

[zh-TW] Translated Chapter 3.

  • Participants
  • Parent commits d0fd5c1

Comments (0)

Files changed (1)

 msgstr ""
 "Project-Id-Version: hgbook 1.2\n"
 "POT-Creation-Date: 2011-11-01 20:40+0800\n"
-"PO-Revision-Date: 2011-11-24 09:05+0800\n"
+"PO-Revision-Date: 2011-11-27 13:34+0800\n"
 "Last-Translator: Kenneth Lo <closer.tw@gmail.com>\n"
 "Language-Team: 漢語 <closer.tw@gmail.com>\n"
 "Language: zh_TW\n"
 #. type: Content of: <book><chapter><title>
 #: ../en/ch03-tour-merge.xml:5
 msgid "A tour of Mercurial: merging work"
-msgstr ""
+msgstr "Mercurial 教程:合併工作成果"
 
 #. type: Content of: <book><chapter><para>
 #: ../en/ch03-tour-merge.xml:7
 "pulling or pushing changes from one repository into another.  Our next step "
 "is <emphasis>merging</emphasis> changes from separate repositories."
 msgstr ""
+"我們已經談過如何拓製儲存庫、提交修改內容進儲存庫,以及在不同的儲存庫間推送/拉"
+"取。接下來要討論的就是:如何將來自不同儲存庫的變更<emphasis>合併</emphasis>在"
+"一起。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch03-tour-merge.xml:13
 msgid "Merging streams of work"
-msgstr ""
+msgstr "合併各自進行的工作成果"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:15
 "Merging is a fundamental part of working with a distributed revision control "
 "tool.  Here are a few cases in which the need to merge work arises."
 msgstr ""
+"合併是使用分散式版本控制工具的基礎。下面列出了一些你需要進行合併的時機。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch03-tour-merge.xml:20
 "feature in his.  They want the shared repository to contain both the bug fix "
 "and the new feature."
 msgstr ""
+"怡君和志強合作一個專案,他們手上各有一份從相同儲存庫拓製出來的私人儲存庫。怡君"
+"在她的儲存庫中修正了一個錯誤;志強在他的儲存庫中加入了一個新功能。他們兩個人都"
+"打算把各自的工作成果放進共享的儲存庫中。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch03-tour-merge.xml:27
 "once, each safely isolated in its own repository. Working this way means that "
 "she often needs to merge one piece of her own work with another."
 msgstr ""
+"雅欣在某個專案中同時接了好幾個任務。她為每個任務拓製一份獨立的儲存庫,以確保之"
+"間的修改不會互相干擾。這樣的工作模式意味著:她經常需要把一部份的工作成果合併到"
+"另一個儲存庫中。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:35
 "through a merge.  We'll begin by cloning yet another repository (see how "
 "often they spring up?)  and making a change in it."
 msgstr ""
+"因為我們經常需要合併,因此 Mercurial 把合併的程序設計得很簡單。就讓我帶各位走"
+"一遍吧!首先,我們再拓製一份儲存庫出來(你看,我們是不是一天到晚在分支?),然"
+"後稍微修改其中的內容。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:42
 "illustrated in <xref linkend=\"fig:tour-merge:sep-repos\"/>.  Here is a copy "
 "of our file from one repository."
 msgstr ""
+"現在我們應該有兩份內容不同的 <filename>hello.c</filename> 了。兩個儲存庫的歷程"
+"也出現分歧了,如 <xref linkend=\"fig:tour-merge:sep-repos\"/> 所示。這是其中一"
+"份的內容:"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:51
 msgid "And here is our slightly different version from the other repository."
-msgstr ""
+msgstr "這是另外一份的內容,有一點點不一樣:"
 
 #. type: Content of: <book><chapter><sect1><figure><title>
 #: ../en/ch03-tour-merge.xml:57
 "filename> and <filename class=\"directory\">my-new-hello</filename> "
 "repositories"
 msgstr ""
+"<filename class=\"directory\">my-hello</filename> 與 <filename class="
+"\"directory\">my-new-hello</filename> 儲存庫最新的歷程分歧"
 
 #. type: Content of: <book><chapter><sect1><figure><mediaobject>
 #: ../en/ch03-tour-merge.xml:62
 "<imageobject><imagedata fileref=\"figs/tour-merge-sep-repos.png\"/></"
 "imageobject>"
 msgstr ""
+"<imageobject><imagedata fileref=\"figs/tour-merge-sep-repos.png\"/></"
+"imageobject>"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:67
 "\">my-hello</filename> repository will have no effect on the working "
 "directory."
 msgstr ""
+"我們前面已經提過:直接從 <filename class=\"directory\">my-hello</filename> 儲"
+"存庫拉取新的變更進來,並不會修改到工作目錄中檔案的內容。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:73
 "However, the <command role=\"hg-cmd\">hg pull</command> command says "
 "something about <quote>heads</quote>."
 msgstr ""
+"然而,<command role=\"hg-cmd\">hg pull</command> 這個命令卻印出了一些關於"
+"<quote>頂部 heads</quote> 的訊息。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch03-tour-merge.xml:77
 msgid "Head changesets"
-msgstr ""
+msgstr "Head 變更集"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:79
 "the newest revision in a repository doesn't have any children.  There are "
 "times when a repository can contain more than one head."
 msgstr ""
+"前面提過,Mercurial 會記錄每個變更的<quote>母系變更</quote>是哪一個。要是某個"
+"變更有母系變更的話,我們就說它是該母系變更的<quote>子變更</quote>或<quote>後代"
+"變更</quote>。若是一個變更沒有任何的子變更,我們就稱它為 head 變更。頂部修訂版"
+"一定是 head 變更,因為儲存庫中最新的版次一定沒有任何的子變更。有些時候,一個儲"
+"存庫內可能會有不止一個 head 變更。"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
 #: ../en/ch03-tour-merge.xml:88
 "Repository contents after pulling from <filename class=\"directory\">my-"
 "hello</filename> into <filename class=\"directory\">my-new-hello</filename>"
 msgstr ""
+"從 <filename class=\"directory\">my-hello</filename> 拉取到 <filename class="
+"\"directory\">my-new-hello</filename> 後儲存庫的內容"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure>
 #: ../en/ch03-tour-merge.xml:91 ../en/ch03-tour-merge.xml:178
 #: ../en/ch09-undo.xml:698 ../en/ch09-undo.xml:712 ../en/ch09-undo.xml:725
 #: ../en/ch12-mq.xml:411
 msgid "  <placeholder type=\"mediaobject\" id=\"0\"/>"
-msgstr ""
+msgstr "  <placeholder type=\"mediaobject\" id=\"0\"/>"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
 #: ../en/ch03-tour-merge.xml:92
 msgid ""
 "<imageobject> <imagedata fileref=\"figs/tour-merge-pull.png\"/> </imageobject>"
 msgstr ""
+"<imageobject> <imagedata fileref=\"figs/tour-merge-pull.png\"/> </imageobject>"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:99
 "view the heads in a repository using the <command role=\"hg-cmd\">hg heads</"
 "command> command."
 msgstr ""
+"在 <xref linkend=\"fig:tour-merge:pull\"/> 中我們可以看到從 <filename class="
+"\"directory\">my-hello</filename> 拉取資料進 <filename class=\"directory\">my-"
+"new-hello</filename> 後的結果。原本存在於 <filename class=\"directory\">my-"
+"new-hello</filename> 中的歷程並沒有變動,但卻多了一個新的修訂版。和 <xref "
+"linkend=\"fig:tour-merge:sep-repos\"/> 比較後我們可以發現:在新的儲存庫中,"
+"<emphasis>變更集的 ID</emphasis> 沒有變,但<emphasis>修訂版編號</emphasis>卻變"
+"了。(順道一提:我們之前說過「不要用修訂版編號和人討論某個特定的變更集內容」,"
+"這就是最好的說明範例。)我們可以用 <command role=\"hg-cmd\">hg heads</"
+"command> 命令檢視儲存庫中所有的 head 變更。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch03-tour-merge.xml:118
 msgid "Performing the merge"
-msgstr ""
+msgstr "執行合併"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:120
 "What happens if we try to use the normal <command role=\"hg-cmd\">hg update</"
 "command> command to update to the new tip?"
 msgstr ""
+"要是我們試著用一般的 <command role=\"hg-cmd\">hg update</command> 命令,要求 "
+"Mercurial 將工作目錄的內容更新至最新的頂部修訂版,會發生什麼事?"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:126
 "(Incidentally, forcing the update with <command>hg update -C</command> would "
 "revert any uncommitted changes in the working directory.)"
 msgstr ""
+"Mercurial 告訴我們:<command role=\"hg-cmd\">hg update</command> 這個命令不會"
+"幫我們合併;當 Mercurial 認為我們可能需要合併的時候,不會讓我們更新工作目錄的"
+"內容&emdash;除非我們強制要求它更新。(附帶一提:若是我們使用 <command>hg "
+"update -C</command> 強制更新,工作目錄中所有未提交的修改內容都會消失不見。)"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:134
 "To start a merge between the two heads, we use the <command role=\"hg-cmd"
 "\">hg merge</command> command."
 msgstr ""
+"想要將兩個 head 變更合併,可以執行 <command role=\"hg-cmd\">hg merge</"
+"command> 這個命令。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:139
 "heads, which is reflected in both the output of <command role=\"hg-cmd\">hg "
 "parents</command> and the contents of <filename>hello.c</filename>."
 msgstr ""
+"我們成功地合併了 <filename>hello.c</filename> 的內容。工作目錄的內容也會被更"
+"新。用 <command role=\"hg-cmd\">hg parents</command> 查看歷程記錄,或是直接查"
+"看 <filename>hello.c</filename>,都可以看到:現在的工作目錄中<emphasis>同時</"
+"emphasis>包含了來自兩個 heads 的變更。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch03-tour-merge.xml:151
 msgid "Committing the results of the merge"
-msgstr ""
+msgstr "提交合併的結果"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:153
 "will display two parents until we <command role=\"hg-cmd\">hg commit</"
 "command> the results of the merge."
 msgstr ""
+"當我們合併完成之後,在執行 <command role=\"hg-cmd\">hg commit</command> 提交結"
+"果之前,<command role=\"hg-cmd\">hg parents</command> 都會列出兩個母系變更。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:160
 "of our former heads as its parents.  These are the same revisions that were "
 "previously displayed by <command role=\"hg-cmd\">hg parents</command>."
 msgstr ""
+"現在,我們有一個新的頂部修訂版。可以注意到:這個修訂版有兩個母系變更,即為之前"
+"的那兩個 head 變更,和我們前面用 <command role=\"hg-cmd\">hg parents</"
+"command> 看到的那兩個修訂版相同。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:167
 "directory has two parent changesets, and these become the parents of the new "
 "changeset."
 msgstr ""
+"在 <xref linkend=\"fig:tour-merge:merge\"/> 中,你可以看到合併過程中工作目錄發"
+"生怎麼樣的變化,以及提交時儲存庫又變成什麼樣子。在合併過程中,工作目錄有兩個母"
+"系變更集,最後變成新的變更集的母系變更。"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
 #: ../en/ch03-tour-merge.xml:176
 msgid "Working directory and repository during merge, and following commit"
-msgstr ""
+msgstr "合併與提交過程中,工作目錄與儲存庫的變化"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
 #: ../en/ch03-tour-merge.xml:179
 "<imageobject> <imagedata fileref=\"figs/tour-merge-merge.png\"/> </"
 "imageobject>"
 msgstr ""
+"<imageobject> <imagedata fileref=\"figs/tour-merge-merge.png\"/> </"
+"imageobject>"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:186
 "directory was at e.g. revision 5 before we began a merge, that revision will "
 "become the left side of the merge."
 msgstr ""
+"有時候我們會把合併的來源<emphasis>分邊</emphasis>:<command role=\"hg-cmd"
+"\">hg parents</command> 命令印出的第一個母系是左邊,第二個是右邊。在合併之前工"
+"作目錄所包含的修訂版(以上例來說是 5 號修訂版)會是左邊。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch03-tour-merge.xml:196
 msgid "Merging conflicting changes"
-msgstr ""
+msgstr "合併有衝突的變更"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:198
 "emphasis>, where you have to decide how to reconcile the different changes "
 "into something coherent."
 msgstr ""
+"大部份的合併過程都很平順,但有時候會發生「合併的左右兩邊都修改了同一個檔案中的"
+"同一個地方」這樣的狀況。除非兩邊的修改結果都是一樣的,否則我們就會遇上"
+"<emphasis>衝突 (conflict)</emphasis>。此時你得決定要如何讓兩邊的修改內容和平共"
+"存。"
 
 #. type: Content of: <book><chapter><sect1><figure><title>
 #: ../en/ch03-tour-merge.xml:206
 msgid "Conflicting changes to a document"
-msgstr ""
+msgstr "文件中發生衝突的變更內容"
 
 #. type: Content of: <book><chapter><sect1><figure><mediaobject>
 #: ../en/ch03-tour-merge.xml:208
 "<imageobject><imagedata fileref=\"figs/tour-merge-conflict.png\"/></"
 "imageobject>"
 msgstr ""
+"<imageobject><imagedata fileref=\"figs/tour-merge-conflict.png\"/></"
+"imageobject>"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:213
 "the same text.  Our task in resolving the conflicting changes is to decide "
 "what the file should look like."
 msgstr ""
+"<xref linkend=\"fig:tour-merge:conflict\"/> 說明了文件中發生了衝突的狀況。一開"
+"始是某個版本的文件,我們做了些修改;然後別人也修改了同一個句子。解決衝突變更的"
+"方法,就是要決定最後檔案要長成什麼樣子。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:220
 "succeed (because the resolution process requires human guidance) or aren't "
 "present, it tries a few different graphical merging tools."
 msgstr ""
+"Mercurial 並沒有內建處理衝突的工具。當衝突發生時,它會去執行一個外部的程式,通"
+"常會有圖型化的解決衝突介面。Mercurial 預設會去尋找你的系統可能有裝的合併工具。"
+"它會先試著去找一些全自動的合併工具;若是合併失敗(因為解決的過程需要人工的介"
+"入)或是找不到的話,它會再試著去找幾套不同的圖型化合併工具。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:230
 "setting the <envar>HGMERGE</envar> environment variable to the name of your "
 "preferred program."
 msgstr ""
+"你也可以指定 Mercurial 去執行某個特定的程式或腳本,只要將 <envar>HGMERGE</"
+"envar> 這個環境變數設定為該程式的名稱即可。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch03-tour-merge.xml:236
 msgid "Using a graphical merge tool"
-msgstr ""
+msgstr "使用圖型化合併工具"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:238
 "are three different versions of the file of interest to us.  The tool thus "
 "splits the upper portion of the window into three panes:"
 msgstr ""
+"我個人最常用的圖型化合併工具是 <command>kdiff3</command>,下面我就利用它來介紹"
+"一些一般合併工具常用的功能。<xref linkend=\"fig:tour-merge:kdiff3\"/> 即為 "
+"<command>kdiff3</command> 執行時的截圖。這種合併稱為<emphasis>三方合併 (three-"
+"way-merge)</emphasis>,因為我們會在意這個檔案的三個不同的版本。這套工具就視窗"
+"的上半部切成三塊不同的區域:"
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 #: ../en/ch03-tour-merge.xml:248
 "most recent version from which the two versions we're trying to merge are "
 "descended."
 msgstr ""
+"左邊的是這個檔案的<emphasis>原始</emphasis>版本,也就是我們要合併的那兩個版本"
+"的共同來源。"
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 #: ../en/ch03-tour-merge.xml:253
 msgid ""
 "In the middle is <quote>our</quote> version of the file, with the contents "
 "that we modified."
-msgstr ""
+msgstr "中間的是<quote>我們的</quote>版本,裡面是我們修改過的內容。"
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 #: ../en/ch03-tour-merge.xml:256
 "On the right is <quote>their</quote> version of the file, the one that from "
 "the changeset that we're trying to merge with."
 msgstr ""
+"右邊的是<quote>別人的</quote>版本,也就是我們想合併進來的變更中該檔案的內容。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:260
 "conflicts, with some sensible merger of the <quote>ours</quote> and "
 "<quote>theirs</quote> versions of the file."
 msgstr ""
+"下半部的內容是目前的合併<emphasis>結果</emphasis>。我們的任務就是要參考<quote>"
+"我們的</quote>和<quote>別人的</quote>版本,把所有的紅色文字(表示尚未解決的衝"
+"突)全部換成有意義的合併結果。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:267
 "scroll vertically or horizontally in any of them, the others are updated to "
 "display the corresponding sections of their respective files."
 msgstr ""
+"這四個區域瀏覽範圍<emphasis>是同步的</emphasis>;如果我們垂直或水平捲動其中一"
+"個視窗,另外三個也會跟著更新,讓四個區域顯示同一個相對應的地方。"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><title>
 #: ../en/ch03-tour-merge.xml:273
 msgid "Using <command>kdiff3</command> to merge versions of a file"
-msgstr ""
+msgstr "使用 <command>kdiff3</command> 合併檔案的不同版本"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject>
 #: ../en/ch03-tour-merge.xml:276
 "<imageobject> <imagedata width=\"100%\" fileref=\"figs/kdiff3.png\"/></"
 "imageobject>"
 msgstr ""
+"<imageobject> <imagedata width=\"100%\" fileref=\"figs/kdiff3.png\"/></"
+"imageobject>"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:284
 "theirs.  We can also manually edit the merged file at any time, in case we "
 "need to make further modifications."
 msgstr ""
+"檔案中每個衝突的地方,我們可以選擇利用原始版本、我們的版本,以別人的版本中的文"
+"字做組合,解決衝突。若是我們還需要修改更多地方的話,也可以隨時手動修改合併的檔"
+"案內容。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:290
 "containing plain text, while a few are aimed at specialised file formats "
 "(generally XML)."
 msgstr ""
+"市面上有<emphasis>許多的</emphasis>檔案合併工具,多到我無法一一列舉。它們能夠"
+"執行的作業平台不同,而且各有優缺點。大部份設計為用來合併普通的文字檔案,有些則"
+"特別適合用在某些特定的檔案格式上(例如 XML)。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch03-tour-merge.xml:299
 msgid "A worked example"
-msgstr ""
+msgstr "合併實例"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:301
 "linkend=\"fig:tour-merge:conflict\"/> above.  Let's begin by creating a "
 "repository with a base version of our document."
 msgstr ""
+"在這一節的範例中,我們將重現 <xref linkend=\"fig:tour-merge:conflict\"/> 中的"
+"檔案修改歷程。首先,我們先建立一個新的儲存庫,裡面有文件的原始版本。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:308
 msgid "We'll clone the repository and make a change to the file."
-msgstr ""
+msgstr "拓製這個儲存庫,然後變更檔案的內容。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:313
 "when you isolate tasks in separate repositories, and indeed to find and "
 "resolve conflicts while doing so.)"
 msgstr ""
+"然後再拓製到另一個儲存庫中,模擬另一個使用者變更檔案內容的狀況。(之所以說是模"
+"擬,是因為若我們是自己同時進行好幾項獨立的任務,然後要把這些儲存庫合併起來的"
+"話,通常不太可能會發生需要解決衝突的情況。)"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:321
 msgid ""
 "Having created two different versions of the file, we'll set up an "
 "environment suitable for running our merge."
-msgstr ""
+msgstr "在建立了兩個不同的版本之後,我們開始建立合併時所需的環境。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:327
 "bother setting <envar>HGMERGE</envar>.  You'll get dropped into a GUI file "
 "merge tool instead, which is much preferable.)"
 msgstr ""
+"在這個範例中,我會透過 <envar>HGMERGE</envar> 這個環境變數,告訴 Mercurial 去"
+"使用全自動的 <command>merge</command> 指令。許多類 Unix 的作業系統都有內建這個"
+"指令。(如果你正順著我的範例,在自己的電腦上操作的話,你可以不用去設定 "
+"<envar>HGMERGE</envar>,這麼一來,Mercurial 會帶出圖型介面的合併工具,操作起來"
+"應該比較簡單方便。)"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:337
 "indicating which lines have conflicts, and whether they came from our version "
 "of the file or theirs."
 msgstr ""
+"由於 <command>merge</command> 無法解決衝突,因此它在衝突的檔案中留下了"
+"<emphasis>合併記號</emphasis>,告訴我們檔案中哪些地方發生了衝突,以及哪些內容"
+"來自我們的版本、哪些來自別人的版本。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:343
 "we were running a graphical merge tool and quit because we were confused or "
 "realised we had made a mistake."
 msgstr ""
+"Mercurial 可以透過 <command>merge</command> 的回傳值得知合併失敗了,然後告訴我"
+"們如果我們要重新進行合併的話,我們需要執行什麼命令。Mercurial 這麼做是有好處"
+"的。舉例來說,如果我們是用圖型介面的合併工具,然後因為臨時不知道該怎麼修改、或"
+"是發現出了問題,我們暫時先跳出程式時,Mercurial 這樣的行為就很有用。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch03-tour-merge.xml:350
 "<quote>fixing up</quote> the affected files ourselves, and committing the "
 "results of our merge:"
 msgstr ""
+"如果合併(不管是自動的還是手動的)失敗了,我們還是可以直接<quote>修復</quote>"
+"發生衝突的檔案,然後提交我們合併的結果:"
 
 #. type: Content of: <book><chapter><sect1><sect2><note><title>
 #: ../en/ch03-tour-merge.xml:357
 msgid "Where is the <command>hg resolve</command> command?"
-msgstr ""
+msgstr "找不到 <command>hg resolve</command> 這個命令嗎?"
 
 #. type: Content of: <book><chapter><sect1><sect2><note><para>
 #: ../en/ch03-tour-merge.xml:359
 "strongly consider upgrading to a newer version before trying to tackle "
 "complicated merges."
 msgstr ""
+"<command>hg resolve</command> 這個命令是在 Mercurial 1.1(2008 年 12 月發行)"
+"才加入的。如果你正在使用的 Mercurial 版本比較舊(可以利用 <command>hg "
+"version</command> 這個命令查看),可能會找不到這個命令。如果你的 Mercurial 版"
+"本真的小於 1.1 的話,在進行複雜的合併工作之前,強烈建議先升級至較新的版本。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch03-tour-merge.xml:371
 msgid "Simplifying the pull-merge-commit sequence"
-msgstr ""
+msgstr "簡化「拉取、合併、提交」的程序"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:373
 msgid ""
 "The process of merging changes as outlined above is straightforward, but "
 "requires running three commands in sequence."
-msgstr ""
+msgstr "前面所描述的合併流程非常直覺,但必須要依續執行三個不同的命令。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:379
 "which is almost always going to be a piece of uninteresting "
 "<quote>boilerplate</quote> text."
 msgstr ""
+"特別是最後提交那個步驟,你還得要輸入提交訊息;而合併的提交訊息又總是千篇一律,"
+"不需要什麼變化。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:383
 "possible.  Indeed, Mercurial is distributed with an extension called <literal "
 "role=\"hg-ext\">fetch</literal> that does just this."
 msgstr ""
+"如果有辦法把幾個步驟簡化成一個,那該有多好。是的,Mercurial 就內建了一個叫做 "
+"<literal role=\"hg-ext\">fetch</literal> 的擴充套件,可以幫助我們完成這項任"
+"務。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:388
 "line, while others work <quote>behind the scenes,</quote> for example adding "
 "capabilities to Mercurial's built-in server mode."
 msgstr ""
+"Mercurial 提供了極具彈性的擴充套件機制,讓 Mercurial 核心在保持小巧簡潔的同"
+"時,還能讓一般開發人員擴充其性能。有些擴充套件增加了可以在命令列執行的新命令,"
+"有些則是在幕後默默執行,像是增加 Mercurial 內建伺服器的功能。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:395
 "automatically-generated commit message.  If no new heads were added, it "
 "updates the working directory to the new tip changeset."
 msgstr ""
+"<literal role=\"hg-ext\">Fetch</literal> 擴充套件新增了一個新的命令,就叫做  "
+"<command role=\"hg-cmd\">hg fetch</command>。這個擴充套件的行為就像是 "
+"<command role=\"hg-cmd\">hg pull -u</command> 加上  <command role=\"hg-cmd"
+"\">hg merge</command> 再加上 <command role=\"hg-cmd\">hg commit</command>。在"
+"一開始,它會去另一個儲存庫拉取變更到目前的儲存庫中。要是這個拉取動作讓儲存庫多"
+"出一個新的 head,<literal role=\"hg-ext\">fetch</literal> 就會更新至新的 "
+"head,進行合併,然後(如果合併成功的話)提交合併的結果,而且還會自動產生提交的"
+"訊息。如果沒有新的 head 的話,它會將工作目錄更新至新的 tip 變更集。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:409
 "literal> section. Then add a line that simply reads <quote><literal>fetch=</"
 "literal></quote>."
 msgstr ""
+"開啟 <literal role=\"hg-ext\">fetch</literal> 擴充套件很簡單,只要編輯家目錄中"
+"的 <filename role=\"special\">.hgrc</filename>,找到 <literal role=\"rc-"
+"extensions\">extensions</literal> 這個區間(找不到的話就自己加一個)。然後加上"
+"一行 <quote><literal>fetch=</literal></quote> 即可。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:421
 "ext\">fetch</literal> extension is in the standard distribution, Mercurial "
 "knows where to search for it.)"
 msgstr ""
+"(通常在 <quote><literal>=</literal></quote> 的右邊要指定擴充套件所在的位置;"
+"但因為 <literal role=\"hg-ext\">fetch</literal> 是內建的標準擴充套件,不需要這"
+"項資訊,Mercurial 也能找得到。)"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch03-tour-merge.xml:429
 msgid "Renaming, copying, and merging"
-msgstr ""
+msgstr "重新命名、複製和合併"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:431
 "files and directories. This can be as simple as renaming a single file, or as "
 "complex as restructuring the entire hierarchy of files within the project."
 msgstr ""
+"在專案的發展階段,我們常會想要修改檔案系統的架構,有可能只是重新命名某個檔案,"
+"也有可能是大規模地更動專案的檔案目錄結構。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:436
 "<command>hg rename</command><placeholder type=\"footnote\" id=\"0\"/> command "
 "to rename it, so that Mercurial can do the right thing later when we merge."
 msgstr ""
+"Mercurial 支援這種複雜的變動,只要我們告訴它我們在做什麼。如果我們想要將某個檔"
+"案重新命名的話,我們可以使用 <command>hg rename</command><placeholder type="
+"\"footnote\" id=\"0\"/> 這個命令,通知 Mercurial 我們想要重新命名,這樣等一下"
+"要合併的時候,Mercurial 就知道要去哪裡找檔案了。"
 
 #. type: Content of: <book><chapter><sect1><para><footnote><para>
 #: ../en/ch03-tour-merge.xml:439
 "If you're a Unix user, you'll be glad to know that the <command>hg rename</"
 "command> command can be abbreviated as <command>hg mv</command>."
 msgstr ""
+"你也可以執行 <command>hg mv</command>,功能和 <command>hg rename</command> 一"
+"模一樣。Unix 的使用者應該會覺得很親切。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch03-tour-merge.xml:445
 msgid ""
 "We will cover the use of these commands in more detail in <xref linkend="
 "\"chap:daily.copy\"/>."
-msgstr ""
+msgstr "我們會在 <xref linkend=\"chap:daily.copy\"/> 一節中詳細討論這些命令。"
 
 #. type: Content of: <book><chapter><title>
 #: ../en/ch04-concepts.xml:5