[svnbook commit] r1747 - trunk/src/zh/book

rocksun svnbook-dev at red-bean.com
Fri Oct 21 05:57:13 CDT 2005


Author: rocksun
Date: Fri Oct 21 05:57:12 2005
New Revision: 1747

Modified:
   trunk/src/zh/book/ch03.xml
   trunk/src/zh/book/glossary.xml
Log:
* zh/book/ch03.xml: check up first.
* zh/book/glossary.xml: add some words.


Modified: trunk/src/zh/book/ch03.xml
==============================================================================
--- trunk/src/zh/book/ch03.xml	(original)
+++ trunk/src/zh/book/ch03.xml	Fri Oct 21 05:57:12 2005
@@ -3,9 +3,9 @@
 
   <simplesect>
 
-    <para>我们要进入到Subversion使用的细节中去了,当你到达这一章的结束,你将学会日常应用中所有使用Subversion的命令,你将从一个初始化检出开始,作修改然后检测这些修改,然后看如何取得别人做的修改到工作目录,检查他们,解决所有可能发生的冲突。</para>
+    <para>现在,我们将要深入到Subversion到使用细节当中,完成本章,你将学会所有日常使用的Subversion命令,你将从一个初始化检出开始,做出修改并检查,你也将会学到如何将别人的修改取到工作拷贝,检查他们,并解决所有可能发生的冲突。</para>
 
-    <para>这一章不会包括所有的Subversion命令—而是介绍你将会遇到的最常用任务的介绍,这一仗假定你已经读过并且理解<xref linkend="svn-ch-2"/>,而且熟悉Subversion的模型,想看所有命令的参考,见<xref linkend="svn-ch-9"/>。</para>
+    <para>这一章并不是Subversion命令的完全列表—而是你将会遇到的最常用任务的介绍,这一章假定你已经读过并且理解了<xref linkend="svn-ch-2"/>,而且熟悉Subversion的模型,如果想查看所有命令的参考,见<xref linkend="svn-ch-9"/>。</para>
 
   </simplesect>
 
@@ -16,8 +16,8 @@
     <title>帮助!</title>
 
 
-    <para>在继续读之前,这是 Subversion最重要的命令:<command>svn help</command>,Subversion命令行工具是一个自文档的工具—在任何时候你可以运行<command>svn help
-      <subcommand></command>来查看子命令的语法、参数以及<command>subcommand</command>的行为。</para>
+    <para>在继续读之前,需要知道Subversion使用中最重要的命令:<command>svn help</command>,Subversion命令行工具是一个自文档的工具—在任何时候你可以运行<command>svn help
+      <subcommand></command>来查看子命令的语法、参数以及<command>subcommand</command>的行为方式。</para>
 
   </sect1>
 
@@ -25,9 +25,9 @@
   <!-- ======================== SECTION 2 ============================== -->
   <!-- ================================================================= -->
   <sect1 id="svn-ch-3-sect-2">
-    <title>Import</title>
+    <title>导入</title>
 
-    <para>使用<command>svn import</command>来导入一个新项目到Subversion的版本库,这恐怕是要使用Subversion必定要做的第一步操作,但不是经常发生的事情,想看详细的介绍,可以看本章后面的<xref
+    <para>使用<command>svn import</command>来导入一个新项目到Subversion的版本库,这恐怕是使用Subversion必定要做的第一步操作,但不是经常发生的事情,详细介绍可以看本章后面的<xref
       linkend="svn-ch-3-sect-7.3"/>。</para>
 
   </sect1>
@@ -36,11 +36,11 @@
   <!-- ======================== SECTION 3 ============================== -->
   <!-- ================================================================= -->
   <sect1 id="svn-ch-3-sect-3">
-    <title>修订版本: 号码、关键字和日期,噢,天呢!</title>
+    <title>修订版本: 版本号、关键字和日期,噢,哎呀!</title>
 
-    <para>在继续之前你一定要知道一些关于如何识别一个修订版本,像你在<xref linkend="svn-ch-2-sect-3.2"/>看到的,一个修订版本就是版本库的一个<quote>快照</quote>,当你继续提交并扩大你的版本库,你必须有手段来识别这些快照。</para>
+    <para>在继续之前你一定要知道如何识别版本库的一个修订版本,像你在<xref linkend="svn-ch-2-sect-3.2"/>看到的,一个修订版本就是版本库的一个<quote>快照</quote>,当你的版本库持续扩大,你必须有手段来识别这些快照。</para>
 
-    <para>你可以使用<option>--revision</option>(<option>-r</option>)参数来选择特定修订版本(<command>svn --revision REV</command>),你也可以指定在两个修订版本之间的一个范围 (<command>svn --revision REV1:REV2</command>)。Subversion可以让你通过号码、关键字和日期访问。</para>
+    <para>你可以使用<option>--revision</option>(<option>-r</option>)参数来选择特定修订版本(<command>svn --revision REV</command>),你也可以指定在两个修订版本之间的一个范围 (<command>svn --revision REV1:REV2</command>)。你可以在Subversion中通过修订版本号、关键字或日期指定特定修订版本。</para>
     
     <sect2 id="svn-ch-3-sect-3.1">
       <title>修订版本号</title>
@@ -54,7 +54,7 @@
 Committed revision 3.
 </screen>
 
-      <para>如果你想在未来使用这个版本(我们将在此章的后面讲述我们这样做的方式和原因),你可以通过号码<quote>3</quote>。</para>
+      <para>如果你想在未来使用这个版本(我们将在此章的后面讲述我们这样做的方式和原因),你可以通过号码<quote>3</quote>指定。</para>
 
     </sect2>
     
@@ -64,7 +64,7 @@
       <para>Subversion客户端可以理解一些<firstterm>修订版本关键字</firstterm>,这些关键字可以用来代替<option>--revision</option>的数字参数,这会被Subversion解释到特定版本:</para>
 
       <note>
-        <para>工作拷贝中的每一个目录都有一个叫作<filename>.svn</filename>的管理目录,目录中的每一个文件,Subversion在管理区域为它保留了一个备份,这是上一个版本(叫做<quote>BASE</quote>版本)没有修改的(没有关键字扩展,没有行结束翻译,没有任何其他区别)拷贝,我们使用<firstterm>纯文件</firstterm>或者叫做<firstterm>文本方式</firstterm>保存这个文件,而且它是与版本库中的文件完全一样。</para> 
+        <para>工作拷贝中的每一个目录都有一个叫作<filename>.svn</filename>的管理目录,工作目录中的每一个文件,Subversion在管理区域为它保留了一个备份,这是上一个版本(叫做<quote>BASE</quote>版本)没有修改的(没有关键字扩展,没有行结束翻译,没有任何其他区别)拷贝,我们把这个文件当作<firstterm>原始拷贝</firstterm>或<firstterm>基准文件</firstterm>使用,它与版本库中的文件完全一样。</para> 
         </note>
       
       <variablelist>
@@ -79,28 +79,28 @@
         <varlistentry>
           <term>BASE</term>
           <listitem>
-            <para>工作拷贝中的<quote>未修改</quote>版本。</para>
+            <para>工作拷贝中的<quote>原始</quote>修订版本。</para>
           </listitem>
         </varlistentry>
         
         <varlistentry>
           <term>COMMITTED</term>
           <listitem>
-            <para><literal>BASE</literal>版本基础上修改过的版本。</para>
+            <para>在<literal>BASE</literal>版本之前(或在Base)一个项目最后修改的版本。</para>
           </listitem>
         </varlistentry>
         
         <varlistentry>
           <term>PREV</term>
           <listitem>
-            <para>修改过版本<emphasis>之前</emphasis>的那个版本(技术上为COMMITTED -1)。</para>
+            <para>一个项目最后修改版本<emphasis>之前</emphasis>的那个版本(技术上为COMMITTED -1)。</para>
           </listitem>
         </varlistentry>
         
       </variablelist>
 
       <note>
-        <para><literal>PREV</literal>、<literal>BASE</literal>、和<literal>COMMITTED</literal>是用来表示本地路径而不是URL。</para>
+        <para><literal>PREV</literal>、<literal>BASE</literal>、和<literal>COMMITTED</literal>指的都是本地路径而不是URL。</para>
       </note>
       
       <para>下面是一些关键字使用的例子,不要担心现在没有意义,我们将在本章的后面解释这些命令:</para>
@@ -135,7 +135,7 @@
     <sect2 id="svn-ch-3-sect-3.3">
       <title>修订版本日期</title>
       
-      <para>在任何你使用特定版本号和版本关键字的地方,你也可以在<quote>{}</quote>中使用日期,你也可通过日期或者版本号一起使用访问一段时间的修改!</para>
+      <para>在任何你使用特定版本号和版本关键字的地方,你也可以在<quote>{}</quote>中使用日期,你也可通过日期或者版本号配合使用来访问一段时间的修改!</para>
       
       <para>如下是一些Subversion能够接受的日期格式,注意在日期中有空格时需要使用引号。</para>
 
@@ -164,7 +164,7 @@
 </screen>
         
       <sidebar>
-        <title>Subversion会早一天吗?Is Subversion a Day Early?</title>
+        <title>Subversion会早一天吗?</title>
         
         <para>如果你只是指定了日期而没有时间(举个例子<literal>2002-11-27</literal>),你也许会以为Subversion会给你11-27号最后的版本,相反,你会得到一个26号版本,甚至更早。记住Subversion会根据你的日期找到<emphasis>最新的</emphasis>版本,如果你给一个日期,而没有给时间,像<literal>2002-11-27</literal>,Subversion会假定时间是00:00:00,所以在27号找不到任何版本。</para>
 
@@ -198,7 +198,7 @@
   <sect1 id="svn-ch-3-sect-4">
     <title>初始化的Checkout</title>
 
-    <para>大多数时候,你从版本库使用<firstterm>checkout</firstterm>取出一个新拷贝开始使用Subversion,这个拷贝包扩版本库中的HEAD(最新的版本):</para>
+    <para>大多数时候,你会使用<firstterm>checkout</firstterm>从版本库取出一个新拷贝开始使用Subversion,这样会在本机创建一个项目的本地拷贝,这个拷贝包扩版本库中的HEAD(最新的)版本:</para>
     
 
     <screen>
@@ -215,11 +215,11 @@
     <sidebar>
       <title>版本库规划</title>
 
-      <para>你也许会为在每个URL上包括<literal>trunk</literal>感到好奇,这是我们将在<xref linkend="svn-ch-4"/>详细论述我们推荐的这种规划方式。</para>
+      <para>你也许会为在每个URL上包括<literal>trunk</literal>感到好奇,我们将在<xref linkend="svn-ch-4"/>详细论述这种推荐的规划方式。</para>
 
     </sidebar>
 
-    <para>尽管上面的例子取出了trunk目录,你可以通过输入URL取出任意深度的子目录:</para>
+    <para>尽管上面的例子取出了trunk目录,你也完全可以通过输入特定URL取出任意深度的子目录:</para>
     
     <screen>
 $ svn checkout http://svn.collab.net/repos/svn/trunk/doc/book/tools
@@ -236,7 +236,7 @@
       linkend="svn-ch-2"/>),你可以开始修改工作拷贝中的目录和文件,你的工作拷贝和你的系统中的其他文件和目录完全一样,你可以编辑并改变他们,移动他们,你可以完全的删掉它把它忘了。</para>
 
       <note>
-        <para>因为你的工作拷贝<quote>同你的系统上的文件和目录没有什么区别</quote>,如果你希望重新规划工作拷贝,你必须要让如果你希望拷贝或者移动一个项目到工作拷贝,你应该使用<command>svn copy</command>或者 <command>svn
+        <para>因为你的工作拷贝<quote>同你的系统上的文件和目录没有什么区别</quote>,如果你希望重新规划工作拷贝,你必须要让Subversion知道,当你希望拷贝或者移动工作拷贝的一个项目时,你应该使用<command>svn copy</command>或者 <command>svn
           move</command>而不要使用操作系统的命令,我们会在以后的章节详细介绍。</para>
       </note>
 
@@ -246,7 +246,7 @@
       <title><filename>.svn</filename>目录包含什么?</title>
 
       <para>
-   任何一个在工作拷贝中的目录包括一个一个管理区域名为<filename>.svn</filename>,通常列表操作不显示这个目录,但它仍然是一个非常重要的目录,无论你做什么?不要删除或是更改这个区域的任何东西,Subversion使用它来管理工作拷贝。</para>
+   任何一个在工作拷贝中的目录包括一个名为<filename>.svn</filename>管理区域,通常列表操作不显示这个目录,但它仍然是一个非常重要的目录,无论你做什么?不要删除或是更改这个管理区域的任何东西,Subversion使用它来管理工作拷贝。</para>
 
     </sidebar>
 
@@ -273,7 +273,7 @@
   <sect1 id="svn-ch-3-sect-5">
     <title>基本的工作周期</title>
 
-    <para>Subversion有许多特性、选项、铃声和口哨,但日常的工作中你只使用其中的一小部分,特殊情况下会用他们中的少数,在这一节里,我们会介绍许多你在日常工作中常见的命令。</para>
+    <para>Subversion有许多特性、选项和华而不实的高级功能,但日常的工作中你只使用其中的一小部分,有一些只在特殊情况才会使用,在这一节里,我们会介绍许多你在日常工作中常见的命令。</para>
     
     <para>典型的工作周期是这样的:</para>
 
@@ -411,8 +411,8 @@
     <sect2 id="svn-ch-3-sect-5.2">
       <title>修改你的工作拷贝上作</title>
       
-      <para>现在你可以开始工作,在你的工作拷贝进行工作,你很容易决定作出一个修改(或者是一组),像写一个新的特性,修正一个错误等等。这时可以使用的Subversion命令包括<command>svn add</command>、
-        <command>svn delete</command>、<command>svn copy</command>、和<command>svn move</command>。如果你只是修改版本库中已经存在的一个文件,在你提交之前,不必使用上面的任何一个命令。你可以对工作备份作的修改包括:</para>
+      <para>现在你可以开始工作,并且修改你的工作拷贝,你很容易决定作出一个修改(或者是一组),像写一个新的特性,修正一个错误等等。这时可以使用的Subversion命令包括<command>svn add</command>、
+        <command>svn delete</command>、<command>svn copy</command>、和<command>svn move</command>。如果你只是修改版本库中已经存在的文件,在你提交之前,不必使用上面的任何一个命令。你可以对工作备份作的修改包括:</para>
       
       <variablelist>
         
@@ -424,7 +424,7 @@
         </varlistentry>
 
         <varlistentry>
-          <term>目录树改变</term>
+          <term>目录树修改</term>
           <listitem>
             <para>你可以<quote>标记</quote>目录或者文件为预定要删除、增加、复制或者移动,也许这些改动在你的工作拷贝马上发生,而版本库只在你提交的时候才发生改变。</para>
           </listitem>
@@ -489,7 +489,7 @@
           copy</command>、<command>svn move</command>、和
           <command>svn delete</command>可以使用URL工作。</para>
 
-        <para>URL操作的运作方式是因为在中使用工作拷贝的运作方式时,工作拷贝成为一个<quote>集结地</quote>,可以在提交之前整理组织,直接对URL操作就没有这种奢侈,所以当你直接操作URL的时候,所有以上的动作代表一个立即的提交。</para>
+        <para>指定URL的操作运作方式有一些区别,因为在使用工作拷贝的运作方式时,工作拷贝成为一个<quote>集结地</quote>,可以在提交之前整理组织所要做的修改,直接对URL操作就没有这种奢侈,所以当你直接操作URL的时候,所有以上的动作代表一个立即的提交。</para>
 
       </sidebar>
 
@@ -498,9 +498,9 @@
     <sect2 id="svn-ch-3-sect-5.3">
       <title>检查你的变化</title>
       
-      <para>当你完成修改,你需要提交他们到版本库,但是在此之前,检查一下做过什么修改是个好主意,通过提交前的检查,你可以做一个精确的log信息,你也可以发现你不小心修改的文件。此外,这是一个审查和仔细察看修改的好机会,你可通过命令<command>svn
+      <para>当你完成修改,你需要提交他们到版本库,但是在此之前,检查一下做过什么修改是个好主意,通过提交前的检查,你可以整理一份精确的日志信息,你也可以发现你不小心修改的文件,给了你一次恢复修改的机会。此外,这是一个审查和仔细察看修改的好机会,你可通过命令<command>svn
         status</command>、<command>svn diff</command>、and
-        <command>svn revert</command>精确地察看所做的修改。你可以使用前两个命令察看工作拷贝中的修改,使用第3个来撤销一些(或所有)的修改。</para>
+        <command>svn revert</command>精确地察看所做的修改。你可以使用前两个命令察看工作拷贝中的修改,使用第三个来撤销部分(或全部)的修改。</para>
       
       <!-- pll - Fri 07 Feb 2003 12:55:07                                   -->
       <!-- I find this following paragraph a little unclear.  Mostly for    -->
@@ -517,9 +517,9 @@
         <para>相对于其他命令,你会更多地使用这个<command>svn status</command>命令。</para>
         
         <sidebar>
-          <title>CVS用户:保持更新! CVS Users: Hold That Update!</title>
+          <title>CVS用户:控制另类的更新!</title>
           
-          <para>你也许使用<command>cvs update</command>来看你做了哪些修改,<command>svn status</command>会给你所有你做的改变—而不需要访问版本库或在不知情的情况下与其他用户作的更改比较。</para>
+          <para>你也许使用<command>cvs update</command>来看你做了哪些修改,<command>svn status</command>会给你所有你做的改变—而不需要访问版本库,并且不会在不知情的情况下与其他用户作的更改比较。</para>
         
           <para>在Subversion,<command>update</command>只是做这件事—将工作拷贝更新到版本库的最新版本,你可以消除使用<command>update</command>察看本地修改的习惯。</para>
 
@@ -529,21 +529,21 @@
           status</command>可能返回的状态码(注意,<literal>#</literal>之后的不是<command>svn status</command>打印的)。</para>
       
         <screen>
-  L    abc.c               # svn has a lock in its .svn directory for abc.c
-M      bar.c               # the content in bar.c has local modifications
- M     baz.c               # baz.c has property but no content modifications
-X      3rd_party           # this dir is part of an externals definition
-?      foo.o               # svn doesn't manage foo.o
-!      some_dir            # svn manages this, but it's either missing or incomplete
-~      qux                 # versioned as file/dir/link, but type has changed
-I      .screenrc           # svn doesn't manage this, and is configured to ignore it
-A  +   moved_dir           # added with history of where it came from
-M  +   moved_dir/README    # added with history and has local modifications
-D      stuff/fish.c        # this file is scheduled for deletion
-A      stuff/loot/bloo.h   # this file is scheduled for addition
-C      stuff/loot/lump.c   # this file has conflicts from an update
-R      xyz.c               # this file is scheduled for replacement
-    S  stuff/squawk        # this file or dir has been switched to a branch
+  L    abc.c               # svn已经在.svn目录锁定了abc.c
+M      bar.c               # bar.c的内容已经在本地修改过了
+ M     baz.c               # baz.c属性有修改,但没有内容修改
+X      3rd_party           # 这个目录是外部定义的一部分
+?      foo.o               # svn并没有管理foo.o
+!      some_dir            # svn管理这个,但它可能丢失或者不完整
+~      qux                 # 作为file/dir/link进行了版本控制,但类型已经改变
+I      .screenrc           # svn不管理这个,配置确定要忽略它
+A  +   moved_dir           # 包含历史的添加,历史记录了它的来历
+M  +   moved_dir/README    # 包含历史的添加,并有了本地修改
+D      stuff/fish.c        # 这个文件预定要删除
+A      stuff/loot/bloo.h   # 这个文件预定要添加
+C      stuff/loot/lump.c   # 这个文件在更新时发生冲突
+R      xyz.c               # 这个文件预定要被替换
+    S  stuff/squawk        # 这个文件已经跳转到了分支
 </screen>
       
         <para>在这种格式下,<command>svn status</command>打印五列字符,紧跟一些空格,接着是文件或者目录名。第一列告诉一个文件的状态或它的内容,返回代码解释如下:</para>
@@ -561,7 +561,7 @@
           <varlistentry>
             <term><computeroutput>C      item</computeroutput></term>
             <listitem>
-              <para>文件<filename>item</filename>发生冲突,在从服务器更新时与本地版本交迭时发生,在提交到版本库前,必须手工的解决冲突。</para>
+              <para>文件<filename>item</filename>发生冲突,在从服务器更新时与本地版本发生交迭,在你提交到版本库前,必须手工的解决冲突。</para>
             </listitem>
           </varlistentry>
 
@@ -613,7 +613,7 @@
           <varlistentry>
             <term><computeroutput>~      item</computeroutput></term>
             <listitem>
-              <para>文件、目录或是符号链<filename>item</filename>在版本库已经存在,但你的工作拷贝中的是另一个。举一个例子,你删除了一个版本库的文件,新建了一个在原来的位置,而且没有使用<command>svn delete</command>或是<command>svn add</command>。</para>
+              <para>文件、目录或是符号链<filename>item</filename>在版本库已经存在,但你的工作拷贝中的是另一个。举一个例子,你删除了一个版本库的文件,新建了一个在原来的位置,而且整个过程中没有使用<command>svn delete</command>或是<command>svn add</command>。</para>
             </listitem>
           </varlistentry>
 
@@ -633,9 +633,9 @@
         
         <para>第三列只显示空白或者<computeroutput>L</computeroutput>,<computeroutput>L</computeroutput>表示Subversion已经在<filename>.svn</filename>工作区域锁定了这个项目,当你运行<command>svn
           commit</command>正在运行的时候—也许正在输入log信息,运行<command>svn
-          status</command>你可以看到<computeroutput>L</computeroutput>标记,如果Subversion并没有运行,可以假定Subversion发生中断并且已经锁定,你必须运行<command>svn cleanup</command>来清除锁定(本节后面将有更多论述)。</para>
+          status</command>你可以看到<computeroutput>L</computeroutput>标记,如果这时候Subversion并没有运行,可以推测Subversion发生中断并且已经锁定,你必须运行<command>svn cleanup</command>来清除锁定(本节后面将有更多论述)。</para>
         
-        <para>第四列只会显示空白或<computeroutput>+</computeroutput>,<computeroutput>+</computeroutput>的意思是一个有附加历史信息的文件或目录预定添加或者修改到版本库,通常出现在<command>svn move</command>或是<command>svn copy</command>时,如果是看到<computeroutput>A  +</computeroutput>就是说要包含历史的增加,它可以是一个文件或是拷贝的根目录。<computeroutput>+</computeroutput>表示它是即将包含历史增加到版本库的目录的一部分,也就是说他的父目录要拷贝,它只是跟着一起的。 <computeroutput>M  +</computeroutput>表示他将要包含历史的增加,并且已经更改了,首先会随父目录进行包含历史的增加,然后本地的修改提交到更改后的版本。</para>
+        <para>第四列只会显示空白或<computeroutput>+</computeroutput>,<computeroutput>+</computeroutput>的意思是一个有附加历史信息的文件或目录预定添加或者修改到版本库,通常出现在<command>svn move</command>或是<command>svn copy</command>时,如果是看到<computeroutput>A  +</computeroutput>就是说要包含历史的增加,它可以是一个文件或是拷贝的根目录。<computeroutput>+</computeroutput>表示它是即将包含历史增加到版本库的目录的一部分,也就是说他的父目录要拷贝,它只是跟着一起的。 <computeroutput>M  +</computeroutput>表示它将要它含历史的增加,并且已经更改了。当你提交时,首先会随父目录进行包含历史的增加,然后本地的修改提交到更改后的版本。</para>
 
         <para>第五列只显示空白或是<computeroutput>S</computeroutput>,表示这个目录或文件已经转到了一个分支下了(使用<command>svn
           switch</command>)。</para>
@@ -663,7 +663,7 @@
                 44        36    harry     stuff/things/gloo.c
 </screen>
            
-        <para>这是<command>svn status</command>的<quote>加长形式</quote>,第一列保持相同,第二项显示一个工作版本号,第三和第四列显示最后一次修改的版本号和修改人。</para>
+        <para>这是<command>svn status</command>的<quote>加长形式</quote>,第一列保持相同,第二列显示一个工作版本号,第三和第四列显示最后一次修改的版本号和修改人。</para>
 
         <para>上面所有的<command>svn
           status</command>调用并没有联系版本库,只是与<filename>.svn</filename>中的元数据进行比较的结果,最后,是<option>--show-updates</option>(<option>-u</option>)参数,它将会联系版本库为已经过时的数据添加新信息:</para>
@@ -678,14 +678,14 @@
 Status against revision:   46
 </screen>
            
-        <para>注意这两个星号:如果你现在执行<command>svn update</command>,你的<filename>README</filename>和<filename>trout.c</filename>会被更新,这告诉你许多有用的信息—你可以在提交之前,你需要使用更新操作得到文件<filename>README</filename>的更新,或者说文件已经过时,版本库拒绝了你的提交。(后面还有更多关于此主题)。</para>
+        <para>注意这两个星号:如果你现在执行<command>svn update</command>,你的<filename>README</filename>和<filename>trout.c</filename>会被更新,这告诉你许多有用的信息—你可以在提交之前,需要使用更新操作得到文件<filename>README</filename>的更新,或者说文件已经过时,版本库会拒绝了你的提交。(后面还有更多关于此主题)。</para>
 
       </sect3>
 
       <sect3 id="svn-ch-3-sect-5.3.2">
         <title><command>svn diff</command></title>
         
-        <para>另一种检查修改的方式是<command>svn diff</command>命令,你可以通过不带参数的<command>svn diff</command><emphasis>精确的</emphasis>找出你所做的修改,这会输出统一区别格式:<footnote><para>Subversion使用内置区别引擎,缺省情况下产生统一区别格式。如果你期望不通的输出格式,你可以使用<option>--diff-cmd</option>指定外置的区别程序,并且通过<option>--extensions</option>传递其他参数,举个例子,察看本地文件<filename>foo.c</filename>的区别,同时忽略空格修改,你可以运行<command>svn diff --diff-cmd /usr/bin/diff
+        <para>另一种检查修改的方式是<command>svn diff</command>命令,你可以通过不带参数的<command>svn diff</command><emphasis>精确的</emphasis>找出你所做的修改,这会输出统一区别格式:<footnote><para>Subversion使用内置区别引擎,缺省情况下输出为统一区别格式。如果你期望不同的输出格式,你可以使用<option>--diff-cmd</option>指定外置的区别程序,并且通过<option>--extensions</option>传递其他参数,举个例子,察看本地文件<filename>foo.c</filename>的区别,同时忽略空格修改,你可以运行<command>svn diff --diff-cmd /usr/bin/diff
           --extensions '-bc' foo.c</command>。</para>
           </footnote>
         </para>
@@ -733,7 +733,7 @@
         
         <para><command>svn diff</command>命令通过比较你的文件和<filename>.svn</filename>的<quote>原始</quote>文件来输出信息,预定要增加的文件会显示所有增加的文本,要删除的文件会显示所有要删除的文本。</para>
 
-        <para>输出的格式<firstterm>统一区别格式</firstterm>(unified diff format),删除的行前面加一个<literal>-</literal>,添加的行前面有一个<literal>+</literal>,<command>svn diff</command>命令也打印文件名和<command>打补丁</command>需要的信息,所以你可以同过重定向一个区别文件来生成<quote>补丁</quote>:</para>
+        <para>输出的格式为<firstterm>统一区别格式</firstterm>(unified diff format),删除的行前面加一个<literal>-</literal>,添加的行前面有一个<literal>+</literal>,<command>svn diff</command>命令也打印文件名和<command>打补丁</command>需要的信息,所以你可以通过重定向一个区别文件来生成<quote>补丁</quote>:</para>
 
         <screen>
 $ svn diff > patchfile
@@ -746,7 +746,7 @@
       <sect3 id="svn-ch-3-sect-5.3.3">
         <title><command>svn revert</command></title>
 
-        <para>假设你通过上面的diff输出知道你不小心用编辑器在<filename>README</filename>中输入了一些字符。
+        <para>假设你通过上面的diff输出发现你不小心用编辑器在<filename>README</filename>中输入了一些字符。
     </para>
       
         <para>这是使用<command>svn
@@ -805,7 +805,7 @@
           <command>svn revert</command>)都可以在没有网络的情况下工作,这让你在没有网络连接时的管理修改过程更加简单,像在飞机上旅行,乘坐火车往返或是在海滩上奋力工作时。</para>
 
         <para>Subversion通过在<filename>.svn</filename>管理区域使用原始的版本缓存来做到这一点,这使得恢复本地版本而<emphasis>不必访问网络</emphasis>,这个缓存(叫做<quote>text-base</quote>)也允许Subversion可以根据原始版本生成一个压缩的增量(<quote>区别</quote>)
-提交—即使你有个非常快的网络,有这样一个缓存有极大的好处,非常的快,而且只向服务器提交修改的部分,一开始看起来不重要,但当你要提交一个400M大小的文件的修改时,你就会明白!</para>
+提交—即使你有个非常快的网络,有这样一个缓存有极大的好处,非常的快,而且只向服务器提交修改的部分,这一点乍一看好像并不重要,但当你要提交一个400M大小的文件的修改时,你就会明白!</para>
     </sidebar>
 
     </sect2>
@@ -826,9 +826,9 @@
            
       <para><computeroutput>U</computeroutput>和<computeroutput>G</computeroutput>没必要关心,文件干净的接受了版本库的变化,文件标示为<computeroutput>U</computeroutput>表明本地没有修改,文件已经根据版本库更新。<computeroutput>G</computeroutput>标示合并,标示本地已经修改过,与版本库没有重迭的地方,已经合并。</para>
            
-      <para>但是C<computeroutput>C</computeroutput>表示冲突,说明服务器上的改动同你的改动冲突了,你需要自己手工去解决。</para>
+      <para>但是<computeroutput>C</computeroutput>表示冲突,说明服务器上的改动同你的改动冲突了,你需要自己手工去解决。</para>
            
-      <para>当冲突发生了,有三件事可以帮助你注意到和解决问题:</para>
+      <para>当冲突发生了,有三件事可以帮助你注意到这种情况和解决问题:</para>
            
       <itemizedlist>
 
@@ -873,7 +873,7 @@
         
       </itemizedlist>
       
-      <para>举一个例子,Sally在改变了<filename>sandwich.txt</filename>,Harry刚刚改变了本地拷贝中的这个文件并且提交到服务器,Sally在提交之前更新它的工作拷贝得到了冲突:</para>
+      <para>举一个例子,Sally在改变了<filename>sandwich.txt</filename>,Harry刚刚改变了他的本地拷贝中的这个文件并且提交到服务器,Sally在提交之前更新它的工作拷贝得到了冲突:</para>
       
       <screen>
 $ svn update
@@ -925,7 +925,7 @@
 
         <para>第一次尝试解决冲突让人感觉很害怕,但经过一点训练,它简单的像是骑着车子下坡。</para>
 
-        <para>这里一个简单的例子,由于不良的交流,你和同事Sally,与你同时编辑了<filename>sandwich.txt</filename>。Sally提交了修改,当你准备更新你的版本,冲突发生了,我们不得不去修改<filename>sandwich.txt</filename>来解决这个问题。首先,看一下这个文件:</para>
+        <para>这里一个简单的例子,由于不良的交流,你和同事Sally,同时编辑了<filename>sandwich.txt</filename>。Sally提交了修改,当你准备更新你的版本,冲突发生了,我们不得不去修改<filename>sandwich.txt</filename>来解决这个问题。首先,看一下这个文件:</para>
 
         <screen>
 $ cat sandwich.txt
@@ -965,7 +965,7 @@
 >>>>>>> .r2
 </screen>
 
-        <para>通常你并不希望只是删除冲突标志和Sally的修改—当她收到三明治时,会非常的吃惊。所以你应该走到她的办公室或是拿起电话告诉Sally,你没办法从从意大利熟食店得到想要的泡菜。<footnote><para>如果你向他们询问,他们会把你带到城外的车轨上。</para></footnote>一旦你们确认了提交内容后,修改文件并且删除冲突标志。</para>
+        <para>通常你并不希望只是删除冲突标志和Sally的修改—当她收到三明治时,会非常的吃惊。所以你应该走到她的办公室或是拿起电话告诉Sally,你没办法从从意大利熟食店得到想要的泡菜。<footnote><para>如果你向他们询问,他们非常有理由把你带到城外的铁轨上。</para></footnote>一旦你们确认了提交内容后,修改文件并且删除冲突标志。</para>
 
         <screen>
 Top piece of bread
@@ -1009,7 +1009,7 @@
       </sect3>
 
       <sect3 id="svn-ch-3-sect-5.4.3">
-        <title>踢悬空球:使用<command>svn revert</command></title>
+        <title>下注:使用<command>svn revert</command></title>
 
         <para>如果你得到冲突,经过检查你决定取消自己的修改并且重新编辑,你可以恢复你的修改:</para>
 
@@ -1020,20 +1020,20 @@
 sandwich.txt
 </screen>
 
-        <para>注意,当你恢复冲突文件时,不需要运行<command>svn resolved</command>。</para>
+        <para>注意,当你恢复一个冲突的文件时,不需要再运行<command>svn resolved</command>。</para>
 
       </sect3>
 
-      <para>现在我们准备好提交修改了,注意<command>svn resolved</command>不像我们本章学过的其他命令一样需要参数,在任何你认为解决了冲突,就运行<command>svn resolved</command>,—一旦删除了临时文件,Subversion会让你提交这文件,即使存在冲突标记。</para>
+      <para>现在我们准备好提交修改了,注意<command>svn resolved</command>不像我们本章学过的其他命令一样需要参数,在任何你认为解决了冲突的时候,只需要小心运行<command>svn resolved</command>,—一旦删除了临时文件,Subversion会让你提交这文件,即使文件中还存在冲突标记。</para>
       
     </sect2>
     
     <sect2 id="svn-ch-3-sect-5.5">
       <title>提交你得修改</title>
       
-      <para>最后!你得修改结束了,你合并了所有修改,你准备好提交到版本库。</para>
+      <para>最后!你的修改结束了,你合并了服务器上所有的修改,你准备好提交修改到版本库。</para>
       
-      <para><command>svn commit</command>命令发送所有的修改到版本库,当你提交修改时,你需要提供一些描述修改的<firstterm>log信息</firstterm>,你得信息会附到这个修订版本上,如果信息很简短,你可以在命令行中使用<option>--message</option>(<option>-m</option>)选项:</para>
+      <para><command>svn commit</command>命令发送所有的修改到版本库,当你提交修改时,你需要提供一些描述修改的<firstterm>日志信息</firstterm>,你的信息会附到这个修订版本上,如果信息很简短,你可以在命令行中使用<option>--message</option>(<option>-m</option>)选项:</para>
            
       <screen>
 $ svn commit --message "Corrected number of cheese slices."
@@ -1051,7 +1051,7 @@
 Committed revision 4.
 </screen>
 
-      <para>如果你没有指定<option>--message</option>或者<option>--file</option>选项,subversion会自动地启动你最喜欢的编辑器(见<xref linkend="svn-ch-7-sect-1.3.2"/>的<literal>editor-cmd</literal>部分)来编辑日志信息。</para>
+      <para>如果你没有指定<option>--message</option>或者<option>--file</option>选项,Subversion会自动地启动你最喜欢的编辑器(见<xref linkend="svn-ch-7-sect-1.3.2"/>的<literal>editor-cmd</literal>部分)来编辑日志信息。</para>
         
         
       <tip>
@@ -1068,7 +1068,7 @@
 </screen>
       </tip>
 
-      <para>版本库不知道也不关心你的修改作为一个整体是否有意义,它只检查没有别人修改了同一个文件,如果别人<emphasis>已经</emphasis>修改这样做了,你的整个提交会失败,并且提示你一个或多个文件已经过时了:</para>
+      <para>版本库不知道也不关心你的修改作为一个整体是否有意义,它只检查是否有其他人修改了同一个文件,如果别人<emphasis>已经</emphasis>这样做了,你的整个提交会失败,并且提示你一个或多个文件已经过时了:</para>
 
 <screen>
 $ svn commit --message "Add another rule"
@@ -1093,7 +1093,7 @@
   <sect1 id="svn-ch-3-sect-6">
     <title>检验历史</title>
 
-    <para>我们曾经说过,版本库就像是一台时间机器,它记录了所有提交的所有修改,允许你检查文件或目录以及相关的元数据的历史。通过一个subversion命令你可以根据时间或修订号取出一个过去的版本(或者恢复现在的工作拷贝),然而,有时候我们只是想<emphasis>看看</emphasis>历史而不想<emphasis>回到</emphasis>历史。</para>
+    <para>我们曾经说过,版本库就像是一台时间机器,它记录了所有提交的所有修改,允许你检查文件或目录以及相关元数据的历史。通过一个subversion命令你可以根据时间或修订号取出一个过去的版本(或者恢复现在的工作拷贝),然而,有时候我们只是想<emphasis>看看</emphasis>历史而不想<emphasis>回到</emphasis>历史。</para>
            
     <para>有许多命令可以为你提供版本库历史:</para>
 
@@ -1133,7 +1133,7 @@
     <sect2 id="svn-ch-3-sect-6.1">
       <title><command>svn log</command></title>
 
-      <para>找出一个文件或目录的历史信息,使用<command>svn log</command>命令,<command>svn log</command>将会提供你一条记录,包括:谁做对文件或目录作了修改、那个修订版本作了修改、修订版本的日期和时间、还有如果你提供了日志信息,也会显示。</para>
+      <para>找出一个文件或目录的历史信息,使用<command>svn log</command>命令,<command>svn log</command>将会提供你一条记录,包括:谁做对文件或目录作了修改、那个修订版本作了修改、修订版本的日期和时间、还有如果你当时提供了日志信息,也会显示。</para>
            
       <screen>
 $ svn log
@@ -1173,7 +1173,7 @@
            
       <para>这样<emphasis>只会</emphasis>显示这个工作文件(或者URL)做过修订的版本的日志信息。</para>
            
-      <para>如果你希望得到目录和文件更多的信息,你可以对<command>svn log</command>命令使用<option>--verbose</option> (<option>-v</option>)参数,因为Subversion允许移动和复制文件和目录,所以跟踪路径修改非常重要,在详细模式下,<command>svn
+      <para>如果你希望得到目录和文件更多的信息,你可以对<command>svn log</command>命令使用<option>--verbose</option> (<option>-v</option>)开关,因为Subversion允许移动和复制文件和目录,所以跟踪路径修改非常重要,在详细模式下,<command>svn
         log</command> 输出中会包括一个路径修改的历史:</para>
 
       <screen>
@@ -1201,7 +1201,7 @@
 $
 </screen>
 
-        <para>乍一看,好像是一个错误,但是想一下修订版本号是作用在版本库整体之上的,如果你没有提供路径,<command>svn log</command>会使用当前目录作为默认的目标,所以,作为结果,如果你对一个本身和子目录在指定版本到现在没有做过修改的目录运行这个命令,你会得到空的日志。如果你希望察看某个版本做的修改的日志,只需要直接告诉<command>svn log</command>使用版本库顶级的目录,例如<command>svn log -r 2
+        <para>乍一看,好像是一个错误,但是想一下修订版本号是作用在版本库整体之上的,如果你没有提供路径,<command>svn log</command>会使用当前目录作为默认的目标,所以,作为结果,如果你对一个本身和子目录在指定版本到现在没有做过修改的目录运行这个命令,你会得到空的日志。如果你希望察看某个版本做的修改的日志,只需要直接告诉<command>svn log</command>使用版本库顶级的目录作为参数,例如<command>svn log -r 2
           http://svn.collab.net/repos/svn</command>。</para>
 
       </sidebar>
@@ -1257,7 +1257,7 @@
       <sect3 id="svn-ch-3-sect-6.2.2">
         <title>比较工作拷贝和版本库</title>
 
-        <para>如果传递一个<option>--revision</option>(<option>-r</option>)参数,你得工作拷贝会与指定的版本比较。</para>
+        <para>如果传递一个<option>--revision</option>(<option>-r</option>)参数,你的工作拷贝会与指定的版本比较。</para>
           
         <screen>
 $ svn diff --revision 3 rules.txt 
@@ -1342,7 +1342,7 @@
     <sect2 id="svn-ch-3-sect-6.4">
       <title><command>svn list</command></title>
       
-      <para><command>svn list</command>可以不下载文件到本地目录来察看目录中的文件:</para>
+      <para><command>svn list</command>可以在不下载文件到本地目录的情况下来察看目录中的文件:</para>
       
       <screen>
 $ svn list http://svn.collab.net/repos/svn
@@ -1364,12 +1364,12 @@
    2785 sally               Jul 29 19:07 trunk/
 </screen>
 
-      <para>这些列告诉你文件和目录最后修改的版本、做出修改的用户、如果是文件,文件的大小和最后的修改日期、还有项目的名字。</para>
+      <para>这些列告诉你文件和目录最后修改的修订版本、做出修改的用户、如果是文件,文件的大小和最后的修改日期、还有项目的名字。</para>
  
     </sect2>
 
     <sect2 id="svn-ch-3-sect-6.5">
-      <title>于历史的最后一个词</title>
+      <title>关于历史的最后一个词</title>
 
       <para>除了以上的命令,你可以使用带参数<option>--revision</option>的<command>svn update</command>和<command>svn
         checkout</command>来使整个工作拷贝<quote>回到过去</quote><footnote><para>看到了吧?我们说过Subversion是一个时间机器。</para></footnote>:</para>
@@ -1392,12 +1392,12 @@
   <sect1 id="svn-ch-3-sect-7">
     <title>其他有用的命令</title>
 
-      <para>不如本章前面的命令常用,你偶尔会需要这些命令。</para>
+      <para>不如本章前面的命令常用,单你偶尔还是会需要这些命令。</para>
 
     <sect2 id="svn-ch-3-sect-7.1">
       <title><command>svn cleanup</command></title>
 
-      <para>当Subversion改变你的工作拷贝(或是<filename>.svn</filename>中的任何信息),他会尽可能的小心,在修改任何事情之前,它把意图写到日志文件中去,然后执行log文件中的命令,然后删掉日志文件,这与分类帐的文件系统架构类似。如果subversion的操作中断了(举个例子:进程被杀死了,机器死掉了),日志文件会保存在硬盘上,通过重新执行日志文件,subversion可以完成上一次开始的操作,你的工作靠别可以回到一致的状态。</para>
+      <para>当Subversion改变你的工作拷贝(或是<filename>.svn</filename>中的任何信息),它会尽可能的小心,在修改任何事情之前,它把意图写到日志文件中去,然后执行log文件中的命令,然后删掉日志文件,这与分类帐的文件系统架构类似。如果subversion的操作中断了(举个例子:进程被杀死了,机器死掉了),日志文件会保存在硬盘上,通过重新执行日志文件,subversion可以完成上一次开始的操作,你的工作拷贝可以回到一致的状态。</para>
 
       <para>这就是<command>svn cleanup</command>所作的:它查找工作拷贝中的所有遗留的日志文件,删除进程中的锁。如果subversion告诉你工作拷贝中的一些部分已经<quote>锁定</quote>了,你就需要运行这个命令了。同样,<command>svn status</command>将会使用<literal>L</literal> 显示锁定的项目:</para>
 
@@ -1452,8 +1452,9 @@
   <sect1 id="svn-ch-3-sect-8">
     <title>摘要</title>
         
-      <para>我们已经覆盖了大多数subversion的客户端命令,引人注目的例外是分支与合并以及属性(见<xref linkend="svn-ch-4"/>),然而你也许会希望跳到<xref linkend="svn-ch-9"/>来察看所有不同的命令—怎样使你的工作更容易。</para>
-
+      <para>我们已经覆盖了大多数subversion的客户端命令,引人注目的例外是处理分支与合并(见<xref linkend="svn-ch-4"/>)以及属性(见<xref linkend="svn-ch-7-sect-2"/>)的命令,然而你也许会希望跳到<xref linkend="svn-ch-9"/>来察看所有不同的命令—怎样利用它们使你的工作更容易。</para>
+      
+ 
   </sect1>
 
 </chapter>

Modified: trunk/src/zh/book/glossary.xml
==============================================================================
--- trunk/src/zh/book/glossary.xml	(original)
+++ trunk/src/zh/book/glossary.xml	Fri Oct 21 05:57:12 2005
@@ -64,7 +64,7 @@
         <glossterm>delta(增量)</glossterm>
 
         <glossdef>
-          <para>提交时只提交区别,也就是增量的模式</para>
+          <para>提交时只提交区别,也就是增量的模式。</para>
         </glossdef>
       </glossentry>
 
@@ -72,7 +72,7 @@
         <glossterm>directive(指示)</glossterm>
 
         <glossdef>
-          <para>Apache配置文件中的配置选项</para>
+          <para>Apache配置文件中的配置选项。</para>
         </glossdef>
       </glossentry>
             
@@ -94,7 +94,15 @@
         <glossterm>porting changes(搬运修改)</glossterm>
 
         <glossdef>
-          <para>合并两个分支的行为称作搬运修改</para>
+          <para>合并两个分支的行为称作搬运修改。</para>
+        </glossdef>
+      </glossentry>
+      
+      <glossentry>
+        <glossterm>pristine copy(原始拷贝)</glossterm>
+
+        <glossdef>
+          <para>Subversion在管理区域为每个文件保留了一个备份,这是上一个版本(叫做“BASE”版本)没有修改的(没有关键字扩展,没有行结束翻译,没有任何其他区别)拷贝。</para>
         </glossdef>
       </glossentry>
       



More information about the svnbook-dev mailing list