Commits

Kenneth Lo  committed dc518d3 Draft

[zh-TW] Translated Chapter 2 to 2.8.3.

  • Participants
  • Parent commits 33fe66c

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-04 18:44+0800\n"
+"PO-Revision-Date: 2011-11-23 14:15+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/ch02-tour-basic.xml:5
 msgid "A tour of Mercurial: the basics"
-msgstr ""
+msgstr "Mercurial 教程:基礎知識"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch02-tour-basic.xml:8
 msgid "Installing Mercurial on your system"
-msgstr ""
+msgstr "安裝 Mercurial"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:10
 "operating system.  These make it easy to start using Mercurial on your "
 "computer immediately."
 msgstr ""
+"針對各大常見的作業系統,Mercurial 已經有預先編譯好的軟體套件了,讓你可以立刻在"
+"自己的電腦上安裝使用 Mercurial。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:15
 msgid "Windows"
-msgstr ""
+msgstr "Windows"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:17
 "package has no external dependencies; it <quote>just works</quote>.  It "
 "provides both command line and graphical user interfaces."
 msgstr ""
+"TortoiseHg 是 Windows 上最好的 Mercurial 版本。你可以在這個網址找到它:<ulink "
+"url=\"http://tortoisehg.org\">http://tortoisehg.org</ulink> 。這個套件不需額外"
+"的函式庫或附加檔案,直接就可以獨立運作。TortoiseHg 內建圖型操作介面與命令列的"
+"指令。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:27
 msgid "Mac OS X"
-msgstr ""
+msgstr "Mac OS X"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:29
 "Lee Cantey publishes an installer of Mercurial for Mac OS X at <ulink url="
 "\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink>."
 msgstr ""
+"Mac OS X 版的 Mercurial 安裝程式由 Lee Cantey 製作發佈,可以在 <ulink url="
+"\"http://mercurial.berkwood.com\">http://mercurial.berkwood.com</ulink> 下"
+"載 。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:35
 msgid "Linux"
-msgstr ""
+msgstr "Linux"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:37
 "that you will end up with can vary depending on how active the person is who "
 "maintains the package for your distribution."
 msgstr ""
+"由於各大 Linux 發行版都有他們自己的套件工具、發行策略以及開發進度,因此很難完"
+"整地描述該如何安裝 Mercurial 的二進位套件。你能找到的最新版本和該發行版負責維"
+"護套件的人員的活躍程度有關。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:44
 "provide graphical package managers that will let you install Mercurial with a "
 "single click; the package name to look for is <literal>mercurial</literal>."
 msgstr ""
+"為了不要讓事情變得複雜,這節的內容會著重於:如何利用命令列在最流行的幾個 "
+"Linux 發行版中安裝 Mercurial。大部份的發行版都有圖型化介面的套件管理程式,用滑"
+"鼠點幾下就可以把 Mercurial 裝好。你可以試著用 <literal>mercurial</literal> 當"
+"套件名稱的關鍵字搜尋一下。"
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:52
 msgid "Ubuntu and Debian:"
-msgstr ""
+msgstr "Ubuntu 和 Debian:"
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:54
 msgid "Fedora:"
-msgstr ""
+msgstr "Fedora:"
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:56
 msgid "OpenSUSE:"
-msgstr ""
+msgstr "OpenSUSE:"
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:58
 msgid "Gentoo:"
-msgstr ""
+msgstr "Gentoo:"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:64
 msgid "Solaris"
-msgstr ""
+msgstr "Solaris"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:66
 "SunFreeWare, at <ulink url=\"http://www.sunfreeware.com\">http://www."
 "sunfreeware.com</ulink>, provides prebuilt packages of Mercurial."
 msgstr ""
+"你可以在 SunFreeWare (<ulink url=\"http://www.sunfreeware.com\">http://www."
+"sunfreeware.com</ulink>) 中找到預先編譯好的 Mercurial 套件。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch02-tour-basic.xml:75
 msgid "Getting started"
-msgstr ""
+msgstr "開始使用"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:77
 "information that it prints isn't so important; we simply care whether the "
 "command runs and prints anything at all."
 msgstr ""
+"首先,我們用 <command role=\"hg-cmd\">hg version</command> 這個命令檢查 "
+"Mercurial 是否已經安裝妥當。螢幕上印出來的版本資訊並不重要;我們只在意這個命令"
+"是否能夠執行,然後能印出些東西。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:86
 msgid "Built-in help"
-msgstr ""
+msgstr "內建的說明文件"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:88
 "what each does.  If you ask for help on a specific command (as below), it "
 "prints more detailed information."
 msgstr ""
+"Mercurial 有內建的說明系統。當你臨時想不起來某個命令要加什麼參數時,你就會發現"
+"它有多重要。如果你連命令的名稱都想不起來,只要執行 <command role=\"hg-cmd"
+"\">hg help</command>,畫面上就會列出所有的命令列表,每個命令還會附上簡短的說"
+"明。如果你指定某個特定命令(如下),畫面上就會出現該命令的詳細資訊。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:99
 "<option role=\"hg-opt-global\">--verbose</option>, and tells Mercurial to "
 "print more information than it usually would."
 msgstr ""
+"若是你還想要更進一步的說明(通常是不需要的),請執行 <command role=\"hg-cmd"
+"\">hg help <option role=\"hg-opt-global\">-v</option></command>。<option role="
+"\"hg-opt-global\">-v</option> 這個選項是 <option role=\"hg-opt-global\">--"
+"verbose</option> 的簡寫,表示要求 Mercurial 印出更多平常不會印出的資訊。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch02-tour-basic.xml:110
 msgid "Working with a repository"
-msgstr ""
+msgstr "使用儲存庫"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:112
 "The repository for a project contains all of the files that <quote>belong to</"
 "quote> that project, along with a historical record of the project's files."
 msgstr ""
+"Mercurial 的所有命令都脫離不了<emphasis>儲存庫 (repository)</emphasis>。一個專"
+"案的儲存庫中存放了所有<quote>屬於</quote>這個專案的檔案,以及這些檔案的修改歷"
+"程記錄。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:118
 "rename or delete a repository any time you like, using either the command "
 "line or your file browser."
 msgstr ""
+"儲存庫本身沒什麼特別的地方:就只不過是個檔案系統中的目錄樹,然後 Mercurial 會"
+"特別去處理它。你隨時都可以刪除儲存庫或是更改它的檔名,只要用一般的命令列指令或"
+"是檔案瀏覽程式就可以辦到。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:125
 msgid "Making a local copy of a repository"
-msgstr ""
+msgstr "複製一份儲存庫到本地端"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:127
 "This command is called <command role=\"hg-cmd\">hg clone</command>, because "
 "it makes an identical copy of an existing repository."
 msgstr ""
+"<emphasis>複製</emphasis>儲存庫這件事情比較特別。雖然用作業系統提供的方法複製"
+"也是可以,但最好還是使用 Mercurial 所提供的內建命令。這個命令叫做 <command "
+"role=\"hg-cmd\">hg clone</command>,因為它會完完整整地複製一個儲存庫。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:136
 "is that it remembers where we cloned from, which we'll find useful soon when "
 "we want to fetch new changes from another repository."
 msgstr ""
+"使用 <command role=\"hg-cmd\">hg clone</command> 的好處之一是可以透過網路複製"
+"儲存庫(如上所示)。此外,這麼做還可以記錄我們是從哪個儲存庫複製過來的。我們等"
+"一下會要從另一個儲存庫取得新的變更,到時候你就會發現這麼做是有好處的。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:142
 "If our clone succeeded, we should now have a local directory called <filename "
 "class=\"directory\">hello</filename>.  This directory will contain some files."
 msgstr ""
+"如果我們複製成功的話,我們應該會在自己的硬碟裡找到一個叫做 <filename class="
+"\"directory\">hello</filename> 的目錄。這個目錄中有一些檔案。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:148
 "These files have the same contents and history in our repository as they do "
 "in the repository we cloned."
 msgstr ""
+"這個目錄中的內容,以及我們儲存庫中的歷程,都和來源處的儲存庫內容一模一樣。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:151
 "was cloned from, but Mercurial will not communicate with that repository, or "
 "any other, unless you tell it to."
 msgstr ""
+"每一個 Mercurial 的儲存庫都是完整而獨立的,裡面有專屬於這個儲存庫的所有專案檔"
+"案及歷程。我們剛剛提到,clone 出來的儲存記錄了原始儲存庫的位置;但除非你要求 "
+"Mercurial 和原始儲存庫交換資料,否則 Mercurial 不會主動和原始儲存庫溝通。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:158
 "safe in the knowledge that it's a private <quote>sandbox</quote> that won't "
 "affect anyone else."
 msgstr ""
+"到目前為止,這意味著我們可以自由地在這個儲存庫上做任何的實驗,因為這是個安全的"
+"私人<quote>砂盒 (sandbox)</quote>,不管做什麼事都不會影響到別人的儲存庫。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:164
 msgid "What's in a repository?"
-msgstr ""
+msgstr "儲存庫中有些什麼東西?"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:166
 "contains a directory named <filename class=\"directory\">.hg</filename>.  "
 "This is where Mercurial keeps all of its metadata for the repository."
 msgstr ""
+"若是我們仔細檢查儲存庫的內容,我們會發現儲存庫內有一個名為 <filename class="
+"\"directory\">.hg</filename> 的目錄。這就是 Mercurial 用來存放儲存庫所有中介資"
+"料 (metadata) 的地方。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:173
 "and its subdirectories are private to Mercurial.  Every other file and "
 "directory in the repository is yours to do with as you please."
 msgstr ""
+"Mercurial 負責掌控 <filename class=\"directory\">.hg</filename> 目錄中及其下所"
+"有子目錄的內容。除了這個目錄之外,儲存庫內的所有檔案你都可以隨意修改。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:179
 "directory</emphasis> contains a <emphasis>snapshot</emphasis> of your project "
 "at a particular point in history."
 msgstr ""
+"介紹各位一點術語:<filename class=\"directory\">.hg</filename> 這個目錄存放了"
+"<quote>真正的</quote>儲存庫,而其他和 <filename class=\"directory\">.hg</"
+"filename> 共存的檔案我們稱為<emphasis>工作目錄</emphasis>。比較容易區分這兩者"
+"不同的方法是:<emphasis>儲存庫</emphasis>存放的是專案的<emphasis>歷程</"
+"emphasis>;而<emphasis>工作目錄</emphasis>存放的則是專案在歷程中某個時間點的"
+"<emphasis>快照 (snapshot)</emphasis>。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch02-tour-basic.xml:194
 msgid "A tour through history"
-msgstr ""
+msgstr "在歷程中移動"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:196
 "is understand its history.  The <command role=\"hg-cmd\">hg log</command> "
 "command gives us a view of the history of changes in the repository."
 msgstr ""
+"當我們碰到一個全新而又不熟悉的儲存庫時,我們可能會做的第一個事就是了解它的歷"
+"程。使用 <command role=\"hg-cmd\">hg log</command> 這個命令可以看到這個儲存庫"
+"的變更歷程。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:203
 "these recorded events a <emphasis>changeset</emphasis>, because it can "
 "contain a record of changes to several files."
 msgstr ""
+"在預設情況下,專案中每個變更都會列出一小段簡短的描述。以 Mercurial 的術語來"
+"說,我們把每次記錄下來的事件稱為<emphasis>變更集</emphasis>,因為每個事件都記"
+"錄了好幾個檔案的變更內容。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:209
 msgid ""
 "The fields in a record of output from <command role=\"hg-cmd\">hg log</"
 "command> are as follows."
-msgstr ""
+msgstr "<command role=\"hg-cmd\">hg log</command>列出的記錄內的欄位說明如下。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:213
 "to type than the hex string, but it isn't unique: the same number in two "
 "different clones of a repository may identify different changesets."
 msgstr ""
+"<literal>changeset(變更集)</literal>:這個欄位最前面是一個數字,加上一個分"
+"號,再加上一串十六進位的數字(簡稱 <quote>hex</quote>)字串。這些就是變更集的"
+"<emphasis>識別資訊</emphasis>。Hex 字串是唯一識別碼:不管在哪個儲存庫中,相同"
+"的 hex 字串會找到相同的變更集。最前面的數字比較短也比較容易輸入,但它不是唯一"
+"的:某一個數字在兩份從同一個來源 clone 出來的儲存庫中,可能指向不同的變更集。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:224
 "changeset.  This is a free-form field, but it most often contains a person's "
 "name and email address."
 msgstr ""
+"<literal>user(使用者)</literal>:記錄了這個變更集的建立者。這個欄位的格式沒"
+"有限制,但通常包含了使用者的名字和電子郵件地址。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:228
 "local to that timezone; they display what time and date it was for the person "
 "who created the changeset.)"
 msgstr ""
+"<literal>date(日期)</literal>:這個變更集建立的日期、時間,以及時區。(日期"
+"和時間是以該時區的時間方式表式的,和使用者建立此變更集時看到的日期時間是一樣"
+"的。)"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:233
 "<literal>summary</literal>: The first line of the text message that the "
 "creator of the changeset entered to describe the changeset."
 msgstr ""
+"<literal>summary(概述)</literal>:顯示使用者建立變更集時所輸入的描述訊息的第"
+"一行。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:237
 "an easy-to-remember name. (The tag named <literal>tip</literal> is special: "
 "it always refers to the newest change in a repository.)"
 msgstr ""
+"有些變更集(例如上述例子中的第一個)會有 <literal>tag(標籤)</literal>這個欄"
+"位。標籤是另一種可以用來識別變更集的方法,給變更集一個容易記住的名字。"
+"(<literal>tip</literal> 這個標籤比較特別:它永遠指向儲存庫中最新的變更。)"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:245
 "The default output printed by <command role=\"hg-cmd\">hg log</command> is "
 "purely a summary; it is missing a lot of detail."
 msgstr ""
+"在預設情況下,<command role=\"hg-cmd\">hg log</command> 只會印出歷程的概述。有"
+"很多細節都被省略了。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:249
 "history is <quote>flowing</quote> in.  We'll be returning to this figure "
 "several times in this chapter and the chapter that follows."
 msgstr ""
+"<xref linkend=\"fig:tour-basic:history\"/> 以圖型方式表示 <filename class="
+"\"directory\">hello</filename> 儲存庫內的歷程,讓我們可以比較清楚地看到歷程的"
+"<quote>流向</quote>。在這一章和下一章中,我們會不斷地拿這張圖做說明。"
 
 #. type: Content of: <book><chapter><sect1><figure><title>
 #: ../en/ch02-tour-basic.xml:258
 msgid ""
 "Graphical history of the <filename class=\"directory\">hello</filename> "
 "repository"
-msgstr ""
+msgstr "<filename class=\"directory\">hello</filename> 儲存庫的歷程示意圖"
 
 #. type: Content of: <book><chapter><sect1><figure>
 #: ../en/ch02-tour-basic.xml:260 ../en/ch03-tour-merge.xml:61
 #: ../en/ch03-tour-merge.xml:207 ../en/ch04-concepts.xml:290
 msgid "<placeholder type=\"mediaobject\" id=\"0\"/>"
-msgstr ""
+msgstr "<placeholder type=\"mediaobject\" id=\"0\"/>"
 
 #. type: Content of: <book><chapter><sect1><figure><mediaobject>
 #: ../en/ch02-tour-basic.xml:261
 msgid ""
 "<imageobject><imagedata fileref=\"figs/tour-history.png\"/></imageobject>"
 msgstr ""
+"<imageobject><imagedata fileref=\"figs/tour-history.png\"/></imageobject>"
 
 #. type: Content of: <book><chapter><sect1><sect2><figure><mediaobject><textobject><phrase>
 #: ../en/ch02-tour-basic.xml:262 ../en/ch03-tour-merge.xml:63
 #: ../en/ch09-undo.xml:700 ../en/ch09-undo.xml:714 ../en/ch09-undo.xml:727
 #: ../en/ch12-mq.xml:413
 msgid "XXX add text"
-msgstr ""
+msgstr "XXX add text"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:267
 msgid "Changesets, revisions, and talking to other people"
-msgstr ""
+msgstr "變更集、版次,以及和其他人溝通"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:270
 "<quote>change</quote> or (when written)  <quote>cset</quote>, and sometimes a "
 "changeset is referred to as a <quote>revision</quote> or a <quote>rev</quote>."
 msgstr ""
+"英文是出了名的隨便,電腦科學界的光榮歷史也是由無數混亂的術語組成的(如果用四個"
+"不同的術語還能溝通的話,那幹嘛要整合成一個呢?)。版本控制領域也有一堆意義相同"
+"的不同單字。如果你在和別人討論 Mercurial 的歷程的話,你會發現 "
+"<quote>changeset</quote> 這個字常被簡寫為 <quote>change</quote> 或 "
+"<quote>cset</quote>,而且有時候還會有人用 <quote>revision(版次)</quote> 或 "
+"<quote>rev</quote> 來表示變更集。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:280
 "literal> field in the output from <command role=\"hg-cmd\">hg log</command> "
 "identifies a changeset using both a number and a hexadecimal string."
 msgstr ""
+"用什麼<emphasis>單字</emphasis>來表示<quote>變更集</quote>這個概念其實並不重"
+"要,重要的是你用什麼樣的<emphasis>識別資訊</emphasis>來表示<quote>某個"
+"<emphasis>特定的</emphasis>變更集</quote>。回想一下,<command role=\"hg-cmd"
+"\">hg log</command> 輸出的資訊中,<literal>changeset</literal> 這個欄位用流水"
+"編號和 hex 字串去識別某個變更集。"
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:289
 "The revision number is a handy notation that is <emphasis>only valid in that "
 "repository</emphasis>."
 msgstr ""
+"版次編號是相當方便的表示方法,但它<emphasis>只在當前的儲存庫中有用</"
+"emphasis>。"
 
 #. type: Content of: <book><chapter><sect1><sect2><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:292
 "emphasis> that will always identify that exact changeset in <emphasis>every</"
 "emphasis> copy of the repository."
 msgstr ""
+"Hex 字串是<emphasis>永久不變的識別碼</emphasis>,不管儲存庫如何複製,永遠指向"
+"同一個變更集。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:298
 "literal> can easily appear in one repository as <literal>0,1,2</literal>, "
 "while in another as <literal>0,2,1</literal>."
 msgstr ""
+"這其中的不同相當重要。如果你在電子郵件裡跟人討論<quote>版次編號 33</quote>,對"
+"方版次編號 33 所代表的變更集很有可能<emphasis>不是你所指的變更集</emphasis>。"
+"這是因為版次變號是依照「變更集寫進儲存庫的順序」排列的,但沒有人能保證每個儲存"
+"庫寫入這些變更集的順序固定不變。假使有 <literal>a,b,c</literal> 三個變更集,在"
+"某個儲存庫內的版次編號可能是 <literal>0,1,2</literal>;而在另一個儲存庫內很有"
+"可能變成 <literal>0,2,1</literal>。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:310
 "some other reason (for example, in a bug report), use the hexadecimal "
 "identifier."
 msgstr ""
+"Mercurial 提供版次編號純粹是為了在執行某些命令時比較方便。如果你需要和其他人討"
+"論某個變更集,或是因為某些理由(例如要放在 bug report 中)需要指定某個變更集的"
+"話,請使用 hex 字串。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:318
 msgid "Viewing specific revisions"
-msgstr ""
+msgstr "檢視某個特定的版次"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:320
 "number or a hexadecimal identifier, and you can provide as many revisions as "
 "you want."
 msgstr ""
+"若是我們只想利用 <command role=\"hg-cmd\">hg log</command> 查看某個版次的資訊"
+"的話,可以使用 <option role=\"hg-opt-log\">-r</option>(或是 <option role="
+"\"hg-opt-log\">--rev</option>)選項。你可以使用版次編號或是 hex 字串指定要查看"
+"的版次,也可以一次指定好幾個版次。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:329
 "express the idea <quote>I want all revisions between <literal>abc</literal> "
 "and <literal>def</literal>, inclusive</quote>."
 msgstr ""
+"如果你想查看的好幾個版次的歷程,卻又不想一一列出的話,你可以使用<emphasis>範圍"
+"表示法</emphasis>,可以指定<quote>從<literal>abc</literal> 到 <literal>def</"
+"literal> 之間(包括頭尾)的所有版次</quote>。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:337
 "role=\"hg-cmd\">hg log -r 2:4</command> prints 2, 3, and 4. while <command "
 "role=\"hg-cmd\">hg log -r 4:2</command> prints 4, 3, and 2."
 msgstr ""
+"Mercurial 還可以指定輸出的順序。例如:執行 <command role=\"hg-cmd\">hg log -r "
+"2:4</command> 會依次輸出版次編號 2、3、4 的資訊;執行 <command role=\"hg-cmd"
+"\">hg log -r 4:2</command> 則會依 4、3、2 這樣的順序輸出。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:344
 msgid "More detailed information"
-msgstr ""
+msgstr "更詳細的資訊"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:346
 "global\">-v</option> (or <option role=\"hg-opt-global\">--verbose</option>) "
 "option gives you this extra detail."
 msgstr ""
+"當你原本就知道自己要找的資訊是什麼的時候,<command role=\"hg-cmd\">hg log</"
+"command> 所列出的概要說明已經夠用了;不過當你想要檢視某個變更集是不是就是你要"
+"找的東西時,你可能會需要查看完整的描述說明,或是變更集中所修改到的檔案列表。你"
+"可以利用 <command role=\"hg-cmd\">hg log</command> 的 <option role=\"hg-opt-"
+"global\">-v</option>(或是 <option role=\"hg-opt-global\">--verbose</option>)"
+"選項查看更多的細節。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:358
 "<emphasis>unified diff</emphasis> (if you've never seen a unified diff "
 "before, see <xref linkend=\"sec:mq:patch\"/> for an overview)."
 msgstr ""
+"如果你想要同時看到詳細的描述以及變更內容的話,可以再加上 <option role=\"hg-"
+"opt-log\">-p</option>(或是 <option role=\"hg-opt-log\">--patch</option>)這個"
+"選項,Mercurial 就會以 <emphasis>unified diff</emphasis> 的方式印出變更的內容"
+"(若是你從未看過 unified diff 的輸出結果,請參考 <xref linkend=\"sec:mq:patch"
+"\"/>)。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:368
 "The <option role=\"hg-opt-log\">-p</option> option is tremendously useful, so "
 "it's well worth remembering."
 msgstr ""
+"<option role=\"hg-opt-log\">-p</option> 這個選項很有用,建議你可以把它背起來。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch02-tour-basic.xml:375
 msgid "All about command options"
-msgstr ""
+msgstr "關於命令選項"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:377
 "pattern in the way that they work; you may find this useful to keep in mind "
 "as we continue our tour."
 msgstr ""
+"讓我們稍微喘口氣,暫時不要趕著學新的命令吧!我們先來討論看看這些命令工作的方"
+"式。之後你會發現這些東西很有用的。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:381
 "options that you can pass to commands.  It follows the conventions for "
 "options that are common to modern Linux and Unix systems."
 msgstr ""
+"Mercurial 處理命令選項的方法非常一致且直覺。它依照現代 Linux 與 Unix 系統處理"
+"選項的規則來設計。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:388
 "<command role=\"hg-cmd\">hg log</command> command accepts a <option role=\"hg-"
 "opt-log\">--rev</option> option."
 msgstr ""
+"每個選項都有一個較長的名字。舉例來說,我們前面提到的 <command role=\"hg-cmd"
+"\">hg log</command> 命令就接受 <option role=\"hg-opt-log\">--rev</option> 這個"
+"選項。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:394
 "reason that some options don't have short names is that the options in "
 "question are rarely used.)"
 msgstr ""
+"大部份的選項也有比較短的表示法。以上面的例子來說,我們可以用 <option role="
+"\"hg-opt-log\">-r</option> 來取代 <option role=\"hg-opt-log\">--rev</option>。"
+"(有些選項相對起來很少用到,因此它們沒有較短的表示法。)"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:401
 "option>), while short options start with one (e.g. <option role=\"hg-opt-log"
 "\">-r</option>)."
 msgstr ""
+"選項的長名字用兩個減號開頭(例如:<option role=\"hg-opt-log\">--rev</"
+"option>),而短的則只有一個減號(例如:<option role=\"hg-opt-log\">-r</"
+"option>)。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:407
 "<option role=\"hg-opt-log\">-r</option> and <option role=\"hg-opt-log\">--"
 "rev</option> arguments."
 msgstr ""
+"選項的命名方式以及用法是所有命令皆同的。舉例來說,每個可以讓你指定變更集 ID 或"
+"是版次變號的命令,都同時接受 <option role=\"hg-opt-log\">-r</option> 以及 "
+"<option role=\"hg-opt-log\">--rev</option> 引數。"
 
 #. type: Content of: <book><chapter><sect1><itemizedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:414
 "For example, the command <command role=\"hg-cmd\">hg log -v -p -r 2</command> "
 "can be written as <command role=\"hg-cmd\">hg log -vpr2</command>."
 msgstr ""
+"如果你使用較短的表示法,你可以把所有的選項串在一起,少打幾個字。例如:"
+"<command role=\"hg-cmd\">hg log -v -p -r 2</command> 和 <command role=\"hg-cmd"
+"\">hg log -vpr2</command> 這兩個命令的意義是一樣的。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:421
 "long.  This simply reflects my own preference, so don't read anything "
 "significant into it."
 msgstr ""
+"這本書中的範例大部份都是用較短的表示法。這是我個人的習慣問題,並不代表什麼特別"
+"的意義。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:425
 "global\">--verbose</option>) option, and less when passed <option role=\"hg-"
 "opt-global\">-q</option> (or <option role=\"hg-opt-global\">--quiet</option>)."
 msgstr ""
+"大部份會印出訊息的命令加上 <option role=\"hg-opt-global\">-v</option>(或是 "
+"<option role=\"hg-opt-global\">--verbose</option>)後可以印出更多的資訊;加上"
+"<option role=\"hg-opt-global\">-q</option>(或是 <option role=\"hg-opt-global"
+"\">--quiet</option>)會印出較少的資訊。"
 
 #. type: Content of: <book><chapter><sect1><note><title>
 #: ../en/ch02-tour-basic.xml:432
 msgid "Option naming consistency"
-msgstr ""
+msgstr "選項命名的一致性"
 
 #. type: Content of: <book><chapter><sect1><note><para>
 #: ../en/ch02-tour-basic.xml:434
 "<option role=\"hg-opt-log\">-r</option>.  This consistent use of option names "
 "makes it easier to remember what options a particular command takes."
 msgstr ""
+"幾乎所有的 Mercurial 命令都會使用相同的選項名稱表示一樣的概念。舉例來說,如果"
+"有一個命令是用來處理變更集的,那它一定支援 <option role=\"hg-opt-log\">--rev</"
+"option> 和 <option role=\"hg-opt-log\">-r</option> 選項,用來指定要處理的變更"
+"集。有了這個特性,要記住選項的名稱就簡單多了。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch02-tour-basic.xml:445
 msgid "Making and reviewing changes"
-msgstr ""
+msgstr "建立/檢閱變更"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:447
 "Now that we have a grasp of viewing history in Mercurial, let's take a look "
 "at making some changes and examining them."
 msgstr ""
+"前面我們已經知道要怎麼利用 Mercurial 查閱版次資訊了,現在我們來看看要怎樣建立"
+"變更,以及檢閱變更的內容。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:451
 "cloning over the network, and cloning a local repository uses less disk space "
 "in most cases, too<placeholder type=\"footnote\" id=\"0\"/>."
 msgstr ""
+"首先我們要獨立出一份用來做實驗的儲存庫。我們可以用 <command role=\"hg-cmd"
+"\">hg clone</command> 來複製,但我們不需要從遠端的儲存庫再複製一份。因為我們剛"
+"剛已經 clone 一份到硬碟上了,所以我們可以直接從那份 clone 出來。這比透過網路 "
+"clone 快多了,而且在一般情況下,clone 本地端的儲存庫比較不占硬碟空間"
+"<placeholder type=\"footnote\" id=\"0\"/>。"
 
 #. type: Content of: <book><chapter><sect1><para><footnote><para>
 #: ../en/ch02-tour-basic.xml:458
 "you, don't worry: everything happens transparently and automatically, and you "
 "don't need to understand it."
 msgstr ""
+"若是來源的儲存庫和目的地在相同的檔案系統中的話,Mercurial 會使用 hardlink 的方"
+"法,共用內部的中介檔案,只有要寫入的時候才真正複製檔案,因此可以節省儲存空間。"
+"如果你看不懂我在說什麼的話,沒關係:這一切 Mercurial 都會自動幫你搞定,你不需"
+"要了解。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:468
 "there's almost no overhead to cloning and destroying repositories whenever "
 "you want."
 msgstr ""
+"附帶一提:在本地端保有一份和遠端儲存庫相同的<quote>原始</quote>儲存庫是個不錯"
+"的習慣。你可以這個儲存庫為基礎,每需要做一件新的工作就 clone 一份儲存庫出來當"
+"砂盒做實驗。這樣可以同時進行數個工作,而且又不會互相干擾。等到事情做完了,再把"
+"結果都整合回去。因為在本地端 clone 儲存庫幾乎不需要什麼額外的成本,因此你可以"
+"隨心所欲地 clone 儲存庫,不想要的時候就直接把它刪掉。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:477
 "a file <filename>hello.c</filename> that contains the classic <quote>hello, "
 "world</quote> program."
 msgstr ""
+"我們的 <filename class=\"directory\">my-hello</filename> 儲存庫中有一個叫 "
+"<filename>hello.c</filename> 的檔案,裡面是經典的 <quote>hello, world</quote> "
+"程式。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:483
 msgid "Let's edit this file so that it prints a second line of output."
-msgstr ""
+msgstr "現在我們想要輸出第二行訊息,於是立刻著手修改這個檔案。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:488
 "Mercurial's <command role=\"hg-cmd\">hg status</command> command will tell us "
 "what Mercurial knows about the files in the repository."
 msgstr ""
+"我們可以利用 <command role=\"hg-cmd\">hg status</command> 命令得知 Mercurial "
+"對於儲存庫中的檔案了解多少。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:494
 "\">hg status</command> will not print any output for files that have not been "
 "modified."
 msgstr ""
+"在 <command role=\"hg-cmd\">hg status</command> 的輸出結果中,有些檔案沒有列出"
+"來;不過 <filename>hello.c</filename> 有被列出來,而且前面還加上了一個 "
+"<quote><literal>M</literal></quote>。<command role=\"hg-cmd\">hg status</"
+"command> 不會列出沒有被修改的檔案,除非你要求它印出來。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:501
 "before we started, or that we had modified the file after we were done; it "
 "was able to figure this out itself."
 msgstr ""
+"<filename>hello.c</filename> 前面的那個<quote><literal>M</literal></quote>表"
+"示 Mercurial 發現 <filename>hello.c</filename> 已經被修改 (modified) 過了。在"
+"我們開始修改之前(或是修改之後),我們不需要刻意<emphasis>通知</emphasis> "
+"Mercurial;Mercurial 自己有能力判斷。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:509
 "changes we've made to it.  To do this, we use the <command role=\"hg-cmd\">hg "
 "diff</command> command."
 msgstr ""
+"有時候我們只需要知道「<filename>hello.c</filename> 有被改過」就夠了;但有時候"
+"我們會想知道修改的<emphasis>內容為何</emphasis>。此時利用 <command role=\"hg-"
+"cmd\">hg diff</command> 命令,就可以查看修改的內容。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch02-tour-basic.xml:518 ../en/ch12-mq.xml:187
 msgid "Understanding patches"
-msgstr ""
+msgstr "了解<quote>修補 (patches)</quote>"
 
 #. type: Content of: <book><chapter><sect1><tip><para>
 #: ../en/ch02-tour-basic.xml:520
 msgid ""
 "Remember to take a look at <xref linkend=\"sec:mq:patch\"/> if you don't know "
 "how to read output above."
-msgstr ""
+msgstr "如果看不懂上面的輸出內容的話,請參考<xref linkend=\"sec:mq:patch\"/>。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch02-tour-basic.xml:526
 msgid "Recording changes in a new changeset"
-msgstr ""
+msgstr "利用新的變更集記錄變更"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:528
 "review our changes, until we're satisfied with what we've done and arrive at "
 "a natural stopping point where we want to record our work in a new changeset."
 msgstr ""
+"我們可以不斷地修改、編譯、測試,然後利用 <command role=\"hg-cmd\">hg status</"
+"command> 以及 <command role=\"hg-cmd\">hg diff</command> 檢閱修改的內容,直到"
+"滿意為止。此時我們工作的內容很自然地告一段落,然後我們就想利用變更集來記錄工作"
+"內容。"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:535
 "changeset; we'll usually refer to this as <quote>making a commit</quote> or "
 "<quote>committing</quote>."
 msgstr ""
+"我們可以利用 <command role=\"hg-cmd\">hg commit</command> 命令建立一個新的變更"
+"集。這個動作我們通常稱為<quote>提交 (making a commit/committing)</quote>。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:541
 msgid "Setting up a username"
-msgstr ""
+msgstr "設定使用者名稱"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:543
 "figure out a sensible username to commit the change with.  It will attempt "
 "each of the following methods, in order:"
 msgstr ""
+"若你是第一次執行 <command role=\"hg-cmd\">hg commit</command> 的話,這個命令不"
+"一定會成功。每當你提交變更時,Mercurial 都會記錄提交者的名字和電子郵件地址,之"
+"後你或是其他想要檢閱這個儲存庫的人才知道是誰提交的。在提交時,Mercurial 會依序"
+"按照下列的方法,自動偵測合理的使用者名稱:"
 
 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:552
 "<command role=\"hg-cmd\">hg commit</command> command on the command line, "
 "followed by a username, this is always given the highest precedence."
 msgstr ""
+"如果你在 <command role=\"hg-cmd\">hg commit</command> 命令中使用 <option role="
+"\"hg-opt-commit\">-u</option> 選項,後面加上使用者名稱,Mercurial 就會優先採用"
+"這個名稱。"
 
 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:557
 "If you have set the <envar>HGUSER</envar> environment variable, this is "
 "checked next."
 msgstr ""
+"接下來 Mercurial 會檢查你的環境變數中是否有 <envar>HGUSER</envar> 這一項。"
 
 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:560
 "entry, that will be used next.  To see what the contents of this file should "
 "look like, refer to <xref linkend=\"sec:tour-basic:username\"/> below."
 msgstr ""
+"接下來,若是你在家目錄 (home directory) 中建立了 <filename role=\"special\">."
+"hgrc</filename> 這個檔案,裡面有 <envar role=\"rc-item-ui\">username</envar> "
+"這項設定的話,Mercurial 就會拿來用。想知道 <filename role=\"special\">.hgrc</"
+"filename> 的內容格式的話,請參考 <xref linkend=\"sec:tour-basic:username\"/>。"
 
 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:568
 "If you have set the <envar>EMAIL</envar> environment variable, this will be "
 "used next."
 msgstr ""
+"接下來 Mercurial 會去找 <envar>EMAIL</envar> 這個環境變數,有的話就拿來用。"
 
 #. type: Content of: <book><chapter><sect1><sect2><orderedlist><listitem><para>
 #: ../en/ch02-tour-basic.xml:571
 "results in a username that is not very useful, it will print a warning if it "
 "has to do this."
 msgstr ""
+"Mercurial 會去查尋目前系統的使用者名稱和主機名稱,然後把它們組合成 Mercurial "
+"所需的使用者名稱。由於這樣生出來的使用者名稱通常沒有什麼參考價值,因此 "
+"Mercurial 會印出一段警告訊息,問你是否真的要這麼做。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:578
 "message.  In this case, it will not let you commit until you set up a "
 "username."
 msgstr ""
+"如果上述的程序都失敗了,Mercurial 就會停下來,然後印出錯誤訊息。除非你把使用者"
+"名稱設定好,否則 Mercurial 不會讓你提交。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:582
 "most robust way to set a username for yourself is by creating a <filename "
 "role=\"special\">.hgrc</filename> file; see below for details."
 msgstr ""
+"你可以考慮使用 <envar>HGUSER</envar> 環境變數,或是直接在命令列中加入 <option "
+"role=\"hg-opt-commit\">-u</option> 選項的方法,防止 Mercurial 自己去猜測你的使"
+"用者名稱。而在一般的情況下,最簡單、也是最不容易出錯的方法,就是建立 "
+"<filename role=\"special\">.hgrc</filename> 這個檔案,然後在裡面設定使用者名"
+"稱。詳細步驟請參考下節。"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 #: ../en/ch02-tour-basic.xml:591
 msgid "Creating a Mercurial configuration file"
-msgstr ""
+msgstr "建立 Mercurial 設定檔"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 #: ../en/ch02-tour-basic.xml:593
 "settings.  The initial contents of your <filename role=\"special\">.hgrc</"
 "filename> should look like this."
 msgstr ""
+"想要定使用者名稱,可以利用你最常用的編輯程式,在家目錄下面建立 <filename role="
+"\"special\">.hgrc</filename> 這個檔案。Mercurial 會在這個檔案中尋找你的個人組"
+"態設定。你的 <filename role=\"special\">.hgrc</filename> 一開始應該長得像這"
+"樣:"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><tip><title>
 #: ../en/ch02-tour-basic.xml:602
 msgid "<quote>Home directory</quote> on Windows"
-msgstr ""
+msgstr "Windows 上的<quote>家目錄</quote>"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><tip><para>
 #: ../en/ch02-tour-basic.xml:604
 "name of your home directory by opening a command prompt window and running "
 "the following command."
 msgstr ""
+"在英文版的 Windows 中,家目錄通常指的是在 <filename>C:\\Documents and "
+"Settings</filename> 中,一個以你的使用者名稱命名的資料夾。你可以在命令提示字元"
+"視窗中輸入下面的指令,就可以找到家目錄的完整路徑了。"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><tip><screen><prompt>
 #: ../en/ch02-tour-basic.xml:612
 msgid "C:\\>"
-msgstr ""
+msgstr "C:\\>"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><tip><screen><userinput>
 #: ../en/ch02-tour-basic.xml:612
 msgid "echo %UserProfile%"
-msgstr ""
+msgstr "echo %UserProfile%"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 #: ../en/ch02-tour-basic.xml:619
 "file.  Mercurial ignores empty lines and treats any text from "
 "<quote><literal>#</literal></quote> to the end of a line as a comment."
 msgstr ""
+"<quote><literal>[ui]</literal></quote> 這一行表示組態檔案中一個<emphasis>區間 "
+"(section)</emphasis>的啟始位置,所以你可以把<quote><literal>username = ...</"
+"literal></quote>這一行想成是<quote>在 <literal>ui</literal> 區間中,"
+"<literal>username</literal> 這個項目的設定值</quote>。從區間一開始,一直到下一"
+"個區間的開始、或是到檔案結束,都算是同一個區間。Mercurial 不會理會空白行。另"
+"外,從 <quote><literal>#</literal></quote> 開始到行尾的所有字元,都會被視為註"
+"解,不被處理。"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><title>
 #: ../en/ch02-tour-basic.xml:632
 msgid "Choosing a user name"
-msgstr ""
+msgstr "選擇使用者名稱"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><para>
 #: ../en/ch02-tour-basic.xml:634
 "not be interpreted by Mercurial.  The convention that most people follow is "
 "to use their name and email address, as in the example above."
 msgstr ""
+"在組態檔裡的 <literal>username</literal> 項目中,你隨便輸入什麼文字都可以,畢"
+"竟它是要給其他使用者看的資訊,Mercurial 並不會去解譯。最常見的做法是名字加上電"
+"子郵件地址,如前面的例子所示。"
 
 #. type: Content of: <book><chapter><sect1><sect2><sect3><note><para>
 #: ../en/ch02-tour-basic.xml:641
 "likelihood that you'll start receiving more junk email if you publish a "
 "Mercurial repository on the web."
 msgstr ""
+"Mercurial 內建的網頁伺服器會刻意把電子郵件地址打亂,讓垃圾郵件地址蒐集程式難以"
+"取得你的電子郵件地址。這麼做可以防止你把 Mercurial 儲存庫公開在網路上後,就開"
+"始收到一些垃圾郵件。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:650
 msgid "Writing a commit message"
-msgstr ""
+msgstr "撰寫提交訊息"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:652
 "for readers of what we did and why, and it will be printed by <command role="
 "\"hg-cmd\">hg log</command> after we've finished committing."
 msgstr ""
+"當我們要提交變更時,Mercurial 會帶出預設的文字編輯器,讓我們輸入訊息,描述這次"
+"提交的變更集內修改內容為何。這個訊息叫做<emphasis>提交訊息 (commit message)</"
+"emphasis>。訊息的內容不外乎告訴將來閱讀這個訊息的使用者:我們做了什麼、為什麼"
+"要這麼做。在我們提交它後,使用 <command role=\"hg-cmd\">hg log</command> 命"
+"令,就可以看到這段訊息。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:662
 "drops us into will contain an empty line or two, followed by a number of "
 "lines starting with <quote><literal>HG:</literal></quote>."
 msgstr ""
+"<command role=\"hg-cmd\">hg commit</command> 命令叫出來的編輯器中會有一、兩行"
+"的空白行,接下來的數行開頭都會是 <quote><literal>HG:</literal></quote>。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:676
 "quote>; it uses them only to tell us which files it's recording changes to.  "
 "Modifying or deleting these lines has no effect."
 msgstr ""
+"所有以 <quote><literal>HG:</literal></quote> 開頭的文字都會被 Mercurial 整行忽"
+"略;它們存在的目的只是為了告訴使用者這次變更有哪些檔案的內容會被記錄下來。修改"
+"或是刪除這幾行不會影響提交作業。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:682
 msgid "Writing a good commit message"
-msgstr ""
+msgstr "撰寫良好的提交訊息"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:684
 "<emphasis>doesn't</emphasis> follow this guideline, and hence has a summary "
 "that is not readable."
 msgstr ""
+"因為 <command role=\"hg-cmd\">hg log</command> 預設只會顯示提交訊息的第一行,"
+"所以提交訊息的第一行最好能夠獨立說明整個變更集的大概內容。這裡有個真實的案例,"
+"因為它<emphasis>沒有</emphasis>按照這個原則,導致摘要結果可讀性不佳。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:697
 "about the contents of the commit message, though your project may have "
 "policies that dictate a certain kind of formatting."
 msgstr ""
+"至於其他部份的內容倒是沒有簡單的硬性規定。Mercurial 本身不在意提交訊息的內容為"
+"何,也不會特別去解譯;倒是該儲存庫所屬的專案可能會有特別的規定,要求一定要用某"
+"種特定格式撰寫之類的。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:702
 "tell me something that I can't figure out with a quick glance at the output "
 "of <command role=\"hg-cmd\">hg log --patch</command>."
 msgstr ""
+"我個人的偏好是撰寫簡短但有意義的訊息,讓我在一下子看不懂 <command role=\"hg-"
+"cmd\">hg log --patch</command> 的輸出結果時,可以給我大概的說明。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:706
 "<command role=\"hg-cmd\">hg status</command> and <command role=\"hg-cmd\">hg "
 "diff</command>."
 msgstr ""
+"如果你執行 <command role=\"hg-cmd\">hg commit</command> 時沒有加任何的參數,"
+"Mercurial 會把我們所有的變更內容(利用 <command role=\"hg-cmd\">hg status</"
+"command> 與 <command role=\"hg-cmd\">hg diff</command> 可以看到)全部提交到儲"
+"存庫中"
 
 #. type: Content of: <book><chapter><sect1><sect2><note><title>
 #: ../en/ch02-tour-basic.xml:713
 msgid "A surprise for Subversion users"
-msgstr ""
+msgstr "可能會令 Subversion 使用者困惑的地方"
 
 #. type: Content of: <book><chapter><sect1><sect2><note><para>
 #: ../en/ch02-tour-basic.xml:715
 "the Subversion or CVS world, since you might expect it to operate only on the "
 "current directory that you happen to be visiting and its subdirectories."
 msgstr ""
+"和 Mercurial 其他的命令一樣,如果我們在執行 <command role=\"hg-cmd\">hg "
+"commit</command> 的時候不特別指定要提交哪些檔案,Mercurial 會提交整個儲存庫工"
+"作目錄結構下所有修改過的檔案。若你非常習慣 Subversion 或是 CVS 的操作邏輯,就"
+"要特別小心:因為在這兩套系統下面,當你在切換到某個工作目錄中的子目錄時,你的提"
+"交命令就只會提交該子目錄下修改過的檔案。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:726
 msgid "Aborting a commit"
-msgstr ""
+msgstr "中斷提交"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:728
 "it's editing.  This will cause nothing to happen to either the repository or "
 "the working directory."
 msgstr ""
+"如果你在編輯提交訊息時突然不想提交了,你只要直接跳出編輯器、不要存檔,就可以"
+"了。如此一來提交程序就會中斷,你的儲存庫和工作目錄的內容都不會有任何改變。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:736
 msgid "Admiring our new handiwork"
-msgstr ""
+msgstr "欣賞我們的工作成果"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:738
 "produces output that is identical to <command role=\"hg-cmd\">hg log</"
 "command>, but it only displays the newest revision in the repository."
 msgstr ""
+"提交完成之後,輸入 <command role=\"hg-cmd\">hg tip</command> 這個命令,就會顯"
+"示我們剛剛提交的變更。這個命令的輸出格式和 <command role=\"hg-cmd\">hg log</"
+"command> 一模一樣,不同的是:它只會顯示儲存庫中最新的版次。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:746
 "We refer to the newest revision in the repository as the <emphasis>tip "
 "revision</emphasis>, or simply the <emphasis>tip</emphasis>."
 msgstr ""
+"我們稱儲存庫中最新的版次為<emphasis>頂部版次 (tip revision)</emphasis>,或直接"
+"簡稱 <emphasis>tip</emphasis>。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:750
 "patch</quote>.  The use of <option role=\"hg-opt-tip\">-p</option> to print "
 "patches is another example of the consistent naming we mentioned earlier."
 msgstr ""
+"附帶一提:<command role=\"hg-cmd\">hg tip</command> 接受的參數和 <command "
+"role=\"hg-cmd\">hg log</command> 接受的參數有很多是相同的,因此前面提過的 "
+"<option role=\"hg-opt-global\">-v</option>(印出詳細的內容)、<option role="
+"\"hg-opt-tip\">-p</option>(印出修補 (patch) 內容)等都可以使用。利用 <option "
+"role=\"hg-opt-tip\">-p</option> 印出修補內容也是我們前面提過「選項命令的一致"
+"性」的好例子。"
 
 #. type: Content of: <book><chapter><sect1><title>
 #: ../en/ch02-tour-basic.xml:762
 msgid "Sharing changes"
-msgstr ""
+msgstr "分享變更內容"
 
 #. type: Content of: <book><chapter><sect1><para>
 #: ../en/ch02-tour-basic.xml:764
 "\"directory\">my-hello</filename> repository.  Let's look at a few ways that "
 "we can propagate this change into other repositories."
 msgstr ""
+"我們前面提過:每一個 Mercurial 的儲存庫都是完整而獨立的。這意味著:我們剛剛新"
+"增的變更集只存在於我們自己這一份 <filename class=\"directory\">my-hello</"
+"filename> 儲存庫中。要如何才能把變更複製到其他的儲存庫呢?下面列出了幾種方法。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:772
 msgid "Pulling changes from another repository"
-msgstr ""
+msgstr "從其他儲存庫拉取 (pull) 變更"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:774
 "We'll call our temporary repository <filename class=\"directory\">hello-pull</"
 "filename>."
 msgstr ""
+"首先,我們重新複製一份原始的 <filename class=\"directory\">hello</filename> 儲"
+"存庫,然後將這個暫存的儲存庫取名為 <filename class=\"directory\">hello-pull</"
+"filename>。這個儲存庫內當然不包含我們剛剛提交到 <filename class=\"directory"
+"\">my-hello</filename> 的變更。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:782
 "<emphasis>would</emphasis> pull into the repository, without actually pulling "
 "the changes in."
 msgstr ""
+"接下來我們用 <command role=\"hg-cmd\">hg pull</command> 命令,從 <filename "
+"class=\"directory\">my-hello</filename> 中將變更複製到 <filename class="
+"\"directory\">hello-pull</filename> 中。然而,在不清楚來源狀況的情況下把變更一"
+"股腦地全部搬過去實在有點可怕。因此,Mercurial 提供了 <command role=\"hg-cmd"
+"\">hg incoming</command> 這個命令,可以告訴我們使用 <command role=\"hg-cmd"
+"\">hg pull</command> 命令時<emphasis>將會</emphasis>被拉取過去的更有哪些,而不"
+"會真的進行拉取。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:795
 "role=\"hg-cmd\">hg pull</command> command, and optionally telling it which "
 "repository to pull from."
 msgstr ""
+"真正要將變更複製到儲存庫中,就只要執行 <command role=\"hg-cmd\">hg pull</"
+"command> 命令即可。你可以透過參數特別指定要從哪個儲存庫拉取。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:801
 "the working directory. There remains one step before we will see the changes "
 "that we just pulled appear in the working directory."
 msgstr ""
+"比較執行 <command role=\"hg-cmd\">hg tip</command> 之前和之後的結果,可以看到"
+"我們已經成功地把變更拉取到儲存庫中了。然而,「拉取變更」和「更新工作目錄」這兩"
+"個動作在 Mercurial 中是分開的,因此我們還需要一個步驟,才能在工作目錄中看到我"
+"們拉取回來的變更。"
 
 #. type: Content of: <book><chapter><sect1><sect2><tip><title>
 #: ../en/ch02-tour-basic.xml:810
 msgid "Pulling specific changes"
-msgstr ""
+msgstr "拉取特定的變更"
 
 #. type: Content of: <book><chapter><sect1><sect2><tip><para>
 #: ../en/ch02-tour-basic.xml:812
 "more changes than you saw when using <command role=\"hg-cmd\">hg incoming</"
 "command>."
 msgstr ""
+"因為在執行 <command role=\"hg-cmd\">hg incoming</command> 以及 <command role="
+"\"hg-cmd\">hg pull</command> 這兩個命令之間是有時間間隔的,因此你看到的變更集"
+"和你真正拉取回來的變更集數量可能會不一致。假設你打算從某個網路上的儲存庫中拉取"
+"變更回來。當你還在檢視 <command role=\"hg-cmd\">hg incoming</command> 顯示的資"
+"訊時,有人可能剛好就在這個時候把變更提交到儲存庫中。因此,你拉回來的變更數量可"
+"能比 <command role=\"hg-cmd\">hg incoming</command> 顯示的還要多。"
 
 #. type: Content of: <book><chapter><sect1><sect2><tip><para>
 #: ../en/ch02-tour-basic.xml:824
 "a subset of changes, simply identify the change that you want to pull by its "
 "changeset ID, e.g. <command>hg pull -r7e95bb</command>."
 msgstr ""
+"如果你只想精確地拉取 <command role=\"hg-cmd\">hg incoming</command> 所列出的所"
+"有變更,或是基於其他的理由、你只想拉取一部份的變更,只要明確地利用變更集 ID 即"
+"可,例如:<command>hg pull -r7e95bb</command>。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:834
 msgid "Updating the working directory"
-msgstr ""
+msgstr "更新工作目錄內容"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:836
 "not (by default) touch the working directory.  Instead, we use the <command "
 "role=\"hg-cmd\">hg update</command> command to do this."
 msgstr ""
+"到目前為止,我們已經稍微提過儲存庫和工作目錄之間的關係。在 <xref linkend="
+"\"sec:tour:pull\"/> 我們執行的 <command role=\"hg-cmd\">hg pull</command> 命令"
+"會把變更拉進儲存庫中;但仔細檢查後即可發現,工作目錄並不會隨之而更新。這是因"
+"為 <command role=\"hg-cmd\">hg pull</command> 命令(預設情況下)不會去變更工作"
+"目錄。想要更新工作目錄,得要額外執行 <command role=\"hg-cmd\">hg update</"
+"command> 這個命令 。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:848
 "automatically updated the working directory to a new revision, you might not "
 "be terribly happy."
 msgstr ""
+"「<command role=\"hg-cmd\">hg pull</command>不會自動更新工作目錄」這件事情聽起"
+"來有些奇怪。事實上,這麼做是有個好理由的:使用 <command role=\"hg-cmd\">hg "
+"update</command> 可以將工作目錄更新至儲存庫歷程中的<emphasis>任意版次</"
+"emphasis>。要是你已經把工作目錄更新到某個較早期的版本&emdash;可能是為了追踪某"
+"個潛伏在專案中一段時間的臭蟲&emdash;,然後執行 <command role=\"hg-cmd\">hg "
+"pull</command>,結果它自動把工作目錄更新到最新的版本,你可能會覺得不太爽。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:860
 "lets you combine the two by passing the <option role=\"hg-opt-pull\">-u</"
 "option> option to <command role=\"hg-cmd\">hg pull</command>."
 msgstr ""
+"不過,由於拉取和更新這兩個動作常需要同時執行,因此 Mercurial 的 <command role="
+"\"hg-cmd\">hg pull</command> 命令提供了 <option role=\"hg-opt-pull\">-u</"
+"option> 這個選項,可以讓你合併執行這兩個動作。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:865
 "opt-pull\">-u</option>, you can see that it printed a helpful reminder that "
 "we'd have to take an explicit step to update the working directory."
 msgstr ""
+"如果你回去翻翻 <xref linkend=\"sec:tour:pull\"/> 中不加任何參數、直接執行 "
+"<command role=\"hg-cmd\">hg pull</command> 的結果,你可以看到輸出訊息中有一小"
+"段話,提醒你還需要手動去更新工作目錄的內容。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:872
 "To find out what revision the working directory is at, use the <command role="
 "\"hg-cmd\">hg parents</command> command."
 msgstr ""
+"想要知道目前工作目錄的版次為何,可以使用 <command role=\"hg-cmd\">hg parents</"
+"command> 這個命令。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:878
 "a parent in just the same way; this is the changeset that the working "
 "directory currently contains."
 msgstr ""
+"回頭看看 <xref linkend=\"fig:tour-basic:history\"/> 這張圖,你會看到變更集之間"
+"是以許多箭頭連接起來的。箭頭<emphasis>長出來</emphasis>那一端的節點代表著「親"
+"代變更 (parent)」;箭頭<emphasis>指過去</emphasis>那一端則是它的「子變更 "
+"(child)」。工作目錄也一樣有親代變更:正是工作目錄目前所包含的那個變更集。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:887
 "number or changeset ID to the <command role=\"hg-cmd\">hg update</command> "
 "command."
 msgstr ""
+"想要將工作目錄更新至某個特定的版次,可以在執行 <command role=\"hg-cmd\">hg "
+"update</command> 時加上該版次的編號或是變更集 ID。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:893
 "command> will update to the tip revision, as shown by the second call to "
 "<command role=\"hg-cmd\">hg update</command> in the example above."
 msgstr ""
+"如果你在執行 <command role=\"hg-cmd\">hg update</command> 時沒有特別指定版次的"
+"話,它就會幫你更新至頂部版次。例如上面的範例中,後面那個命令的執行結果。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:901
 msgid "Pushing changes to another repository"
-msgstr ""
+msgstr "將變更推播 (push) 至其他的儲存庫中"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:903
 "pull</command> above, we'll create a temporary repository to push our changes "
 "into."
 msgstr ""
+"Mercurial 允許使用者將變更內容從目前的儲存庫推播到另一個儲存庫中。和 <command "
+"role=\"hg-cmd\">hg pull</command> 的例子一樣,我們先建立一個儲存庫,當作推播的"
+"目的地。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:911
 "The <command role=\"hg-cmd\">hg outgoing</command> command tells us what "
 "changes would be pushed into another repository."
 msgstr ""
+"使用 <command role=\"hg-cmd\">hg outgoing</command> 這個命令可以看到有哪些變更"
+"會被推播出去。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:917
 "And the <command role=\"hg-cmd\">hg push</command> command does the actual "
 "push."
 msgstr ""
+"接下來用 <command role=\"hg-cmd\">hg push</command> 命令,真正執行推播的動作。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:922
 "update its working directory while someone was working in it, their work "
 "would be disrupted."
 msgstr ""
+"和 <command role=\"hg-cmd\">hg pull</command> 一樣,<command role=\"hg-cmd"
+"\">hg push</command> 也不會更新目的儲存庫的工作目錄內容。不同的地方在於:"
+"<command role=\"hg-cmd\">hg push</command> 並沒有提供 <literal>-u</literal> 這"
+"個選項去更新另一個儲存庫的工作目錄。這個不對稱的設計有它的目的在:通常推送目的"
+"的遠端儲存庫是和很多人一起共用的。要是有人正在修改該工作目錄的內容,然後我們又"
+"去更新的話,對方的工作成果可能會就此被打亂。"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:934
 "What happens if we try to pull or push changes and the receiving repository "
 "already has those changes? Nothing too exciting."
 msgstr ""
+"要是我們試著拉取或推送目的儲存庫已經有的變更,會發生什麼事呢?嗯,什麼事都不會"
+"發生。"
 
 #. type: Content of: <book><chapter><sect1><sect2><title>
 #: ../en/ch02-tour-basic.xml:942
 msgid "Default locations"
-msgstr ""
+msgstr "預設位置"
 
 #. type: Content of: <book><chapter><sect1><sect2><para>
 #: ../en/ch02-tour-basic.xml:944