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

rocksun svnbook-dev at red-bean.com
Thu Nov 24 05:12:11 CST 2005


Author: rocksun
Date: Thu Nov 24 05:12:10 2005
New Revision: 1856

Modified:
   trunk/src/zh/book/appa.xml
   trunk/src/zh/book/appb.xml
   trunk/src/zh/book/appc.xml
   trunk/src/zh/book/appd.xml
   trunk/src/zh/book/ch06.xml
   trunk/src/zh/book/ch08.xml
   trunk/src/zh/book/ch09.xml
   trunk/src/zh/book/glossary.xml

Log:
* zh/book/ch06.xml: nearly the last modification
* zh/book/ch08.xml: nearly the last modification
* zh/book/ch09.xml: nearly the last modification
* zh/book/appa.xml: nearly the last modification
* zh/book/appb.xml: nearly the last modification
* zh/book/appc.xml: nearly the last modification
* zh/book/appd.xml: nearly the last modification
* zh/book/glossary.xml: nearly the last modification


Modified: trunk/src/zh/book/appa.xml
==============================================================================
--- trunk/src/zh/book/appa.xml	(original)
+++ trunk/src/zh/book/appa.xml	Thu Nov 24 05:12:10 2005
@@ -40,7 +40,7 @@
     <para>Subversion会记录目录树的结构,不仅仅是文件的内容。这是编写Subversion替代CVS最重要的一个原因。
     </para>
 
-    <para>以下是对你意味着什么的说明,作为一个前CVS用户:</para>
+    <para>以下是对你这意味着什么的说明,作为一个前CVS用户:</para>
 
     <itemizedlist>
       <listitem>
@@ -60,7 +60,7 @@
     <para>让我们再讨论一下最后一点,目录版本化是一个困难的问题;因为我们希望允许混合修订版本的工作拷贝,有一些防止我们滥用这个模型的限制。
     </para>
 
-    <para>从理论观点,我们定义<quote>目录<filename>foo</filename>的修订版本5</quote>意味着一组目录条目和属性。现在假定我们从<filename>foo</filename>开始添加和删除文件,然后提交。如果说我们还有<filename>foo</filename>的修订版本5就是一个谎言。然而,如果说我们在提交之后***<filename>foo</filename>修订版本号码,这也是一个谎言;<filename>foo</filename>还有一些修改我们没有得到,因为我们还没有更新。
+    <para>从理论观点,我们定义<quote>目录<filename>foo</filename>的修订版本5</quote>意味着一组目录条目和属性。现在假定我们从<filename>foo</filename>开始添加和删除文件,然后提交。如果说我们还有<filename>foo</filename>的修订版本5就是一个谎言。然而,如果说我们在提交之后增加了一位<filename>foo</filename>的修订版本号码,这也是一个谎言;<filename>foo</filename>还有一些修改我们没有得到,因为我们还没有更新。
     </para>
     
     <para>Subversion通过在<filename>.svn</filename>区域偷偷的纪录添加和删除来处理这些问题,当你最后运行<command>svn update</command>,所有的账目会到版本库结算,并且目录的新修订版本号会正确设置。<emphasis>因此,只有在更新之后才可以真正安全地说我们有了一个<quote>完美的</quote>修订版本目录。</emphasis>在大多数时候,你的工作拷贝会保存<quote>不完美的</quote>目录修订版本。
@@ -132,7 +132,7 @@
     <para>在Subversion,我们已经设法抹去<command>cvs status</command>和<command>cvs update</command>之间的混乱。
     </para>
 
-    <para><command>cvs status</command>命令有两个目的:第一,显示用户在工作拷贝的所有本地修改,第二,显示给用户那些文件是最新的。很不幸,因为CVS难以阅读的状态输出,许多CVS用户并没有充分利用这个命令的好处。相反,他们慢慢习惯运行<command>cvs update</command>或<command>cvs update -n</command>来快速查看他们的区别,如果用户忘记使用<option>-n</option>选项,副作用就是将还没有准备好处理的版本库修改合并到工作拷贝。
+    <para><command>cvs status</command>命令有两个目的:第一,显示用户在工作拷贝的所有本地修改,第二,显示给用户哪些文件是最新的。很不幸,因为CVS难以阅读的状态输出,许多CVS用户并没有充分利用这个命令的好处。相反,他们慢慢习惯运行<command>cvs update</command>或<command>cvs update -n</command>来快速查看区别,如果用户忘记使用<option>-n</option>选项,副作用就是将还没有准备好处理的版本库修改合并到工作拷贝。
     </para>
 
     <para>对于Subversion,我们通过修改<command>svn status</command>的输出使之同时满足阅读和解析的需要来努力消除这种混乱,同样,<command>svn update</command>只会打印将要更新的文件信息,而<emphasis>不是</emphasis>本地修改。
@@ -214,7 +214,7 @@
     <!-- ###TODO:  This paragraph should be moved elsewhere.  We are
                    talking about status codes here, and not update.
                    Although CVS uses update as a form of status... -->
-    <para>Subversion合并了CVS的<literal>P</literal>和<literal>U</literal>代码为<literal>U</literal>,当一个和ving或冲突发生,Subversion只会简单得打印<literal>G</literal>或<literal>C</literal>,而不是一段完整的描述语句。
+    <para>Subversion合并了CVS的<literal>P</literal>和<literal>U</literal>代码为<literal>U</literal>,当一个合并或冲突发生,Subversion只会简单得打印<literal>G</literal>或<literal>C</literal>,而不是一段完整的描述语句。
     </para>
 
     <para>关于<command>svn
@@ -235,7 +235,7 @@
 
 
     <warning>
-      <para>因为Subversion把分支和标签看作普通的目录,一直要记住检出项目的<literal>trunk</literal>(<literal>http://svn.example.com/repos/calc/trunk/</literal>),而不是项目本身(<literal>http://svn.example.com/repos/calc/</literal>)。如果你错误的检出了项目本身,你会紧张的发现你的项目拷贝包含了所有的分支和标签。<footnote><para>如果在检出完成之前没有消耗完磁盘空间的话。</para></footnote></para>
+      <para>因为Subversion把分支和标签看作普通目录看待,一直要记住检出项目的<literal>trunk</literal>(<literal>http://svn.example.com/repos/calc/trunk/</literal>),而不是项目本身的(<literal>http://svn.example.com/repos/calc/</literal>)。如果你错误的检出了项目本身,你会紧张的发现你的项目拷贝包含了所有的分支和标签。<footnote><para>如果在检出完成之前没有消耗完磁盘空间的话。</para></footnote></para>
     </warning>
 
   </sect1>

Modified: trunk/src/zh/book/appb.xml
==============================================================================
--- trunk/src/zh/book/appb.xml	(original)
+++ trunk/src/zh/book/appb.xml	Thu Nov 24 05:12:10 2005
@@ -7,7 +7,7 @@
   <sect1 id="svn-ap-b-sect-1">
     <title>共同问题</title>
     
-    <para>在安装和使用Subversion的过程中会有许多问题,有一些在你更加理解Subversion之后会立刻解决,而有一些会引起麻烦,因为你已经习惯于其它版本控制系统的工作方式。也有一些其它的问题不能解决是因为Subversion在一些操作系统上有bug(考虑到Subversion运行系统的广泛性,没有遇到更多已经是一件让人吃请的事情了)。
+    <para>在安装和使用Subversion的过程中会有许多问题,有一些在你更加理解Subversion之后会立刻解决,而有一些会引起麻烦,因为你已经习惯于其它版本控制系统的工作方式。也有一些其它的问题不能解决是因为Subversion在一些操作系统上有bug(考虑到Subversion运行系统的广泛性,没有遇到更多已经是一件让人吃惊的事情了)。
     </para>
 
     <para>下面的列表是从Subversion多年使用过程中编辑出来的,如果你没有在这里发现问题,可以在Subversion网站上察看最新版本的FAQ。如果你还是有问题,可以发送包含你遇到问题详细描述的邮件到<email>users at subversion.tigris.org</email>。
@@ -27,7 +27,7 @@
         <para>你的版本库和数据都没有损坏,如果你的进程直接访问版本库(mod_dav_svn、svnlook、svnadmin或者你通过<literal>file://</literal>的URL访问),然后它会使用Berkeley DB来访问你的数据。Berkeley DB是一个日志系统,意味着在做一件事之前会记录下来所有的事情,如果你的进程被中断(例如一个终止信号或段错误),这样就会留下一个锁文件,还有一个描述未完成业务的日志文件。任何其它尝试访问数据库的进程会挂起,等待锁文件消失。为了唤醒你的版本库,你需要询问Berkeley DB是否结束工作,或者是恢复数据库到前一个已知的稳定状态。
         </para>
 
-        <para>确定你使用数据库的拥有者和管理者用户来运行这个命令,而不是root或是其他会在db目录产生root拥有文件的用户,这些文件不可以由管理数据库的非root用户打开,通常是你或你的Apache进程。也要确定在恢复时有正确的umask设置,因为如果失败会把允许访问版本库的用户组锁在外面。
+        <para>确定你使用数据库的拥有者和管理者用户来运行这个命令,而不是root或是其它会在db目录产生root拥有文件的用户,这些文件不可以由管理数据库的非root用户打开,通常是你或你的Apache进程。也要确定在恢复时有正确的umask设置,因为如果失败会把允许访问版本库的用户组锁在外面。
         </para>
 
         <para>简单的运行:</para>
@@ -49,7 +49,7 @@
         <para>Subversion的工作拷贝,就像Berkeley DB使用日志机制来执行所有的操作,也就是它会在事情发生前记录所有的操作。如果<command>svn</command>在一个动作中被中断,就会留下一个或多个锁文件以及相关的描述未完成动作的日志文件。(<command>svn status</command>会在锁定的目录前面显示一个<literal>L</literal>。)
         </para>
         
-        <para>任何其它尝试访问工作拷贝的进程会在看到锁定后失败,为了唤醒工作拷贝,你需要告诉客户端完成工作,做为修正,在你的工作拷贝顶级目录运行这个命令:
+        <para>任何其它尝试访问工作拷贝的进程会在看到锁定后会提示失败,为了唤醒工作拷贝,你需要告诉客户端完成工作,做为修正,在你的工作拷贝顶级目录运行这个命令:
         </para>
         
         <screen>
@@ -101,7 +101,7 @@
 svn_error: … The specified activity does not exist.
 </screen>
         
-        <para>如果<filename>REPOS/dav/</filename>目录对httpd进程不是可写的我们会看这些,检查全乡来确定Apache的httpd进程可以写访问<filename>dav/</filename>目录(当然也同样对于<filename>db/</filename>目录)。
+        <para>如果<filename>REPOS/dav/</filename>目录对httpd进程不是可写的我们会看这些,检查权限来确定Apache的httpd进程可以写访问<filename>dav/</filename>目录(当然也同样对于<filename>db/</filename>目录)。
         </para>
         
       </sect3>
@@ -174,7 +174,7 @@
         </para>
 
         <para>你看到的错误意味着动态链接器/加载器不能发现需要加载的插件,这通常是因为你使用共享库编译Subversion,然后尝试在没有首先运行<command>make
-          install</command>时运行它。另一个可能的原因是你运行了make install,但是库安装的位置动态链接器/加载器不能识别,。在Linux,你可以通过在库目录添加<filename>/etc/ld.so.conf</filename>并运行ldconfig来允许链接器/加载器找到这些库。如果你不希望这样做,或者是你没有root权限,你可以直接在LD_LIBRARY_PATH环境变量中指定库目录。
+          install</command>时运行它。另一个可能的原因是你运行了make install,但是库安装的位置动态链接器/加载器不能识别。在Linux,你可以通过在库目录添加<filename>/etc/ld.so.conf</filename>并运行ldconfig来允许链接器/加载器找到这些库。如果你不希望这样做,或者是你没有root权限,你可以直接在LD_LIBRARY_PATH环境变量中指定库目录。
         </para>
         </sect3>
 
@@ -230,7 +230,7 @@
 
           <listitem><para>使用RedHat 9的内核。</para></listitem>
 
-          <listitem><para>为你使的内核应用NPTL补丁。</para></listitem>
+          <listitem><para>为你使用的内核应用NPTL补丁。</para></listitem>
 
           <listitem><para>使用最近的(2.5.x)包括NPTL支持的内核。
           </para></listitem>
@@ -245,7 +245,7 @@
         <title>为什么日志说通过Apache(ra_dav)提交或导入的文件<quote>(no author)</quote>?
         </title>
 
-        <para>如果你允许通过Apache的匿名写访问版本库,Apache从不会要求客户端的用户名,而且在写操作中没有人证,因此Subversion对于谁做的操作一无所知,这导致了这样的日志:
+        <para>如果你允许通过Apache的匿名写访问版本库,Apache从不会要求客户端的用户名,而且在写操作中没有认证,因此Subversion对于谁做的操作一无所知,这导致了这样的日志:
         </para>
 
 <screen>
@@ -265,7 +265,7 @@
         </title>
 
         <para>这看起来是因为不同的监控文件系统变化(杀毒软件、目录服务和COM+事件通知服务)的Windows服务。这不是Subversion的bug,让修正变得很困难。当前状态的研究总结在<systemitem
-          class="url">http://www.contactor.se/~dast/svn/archive-2003-10/0136.shtml</systemitem>,一个用来减少大多数人发生概率的工作区在修订版本7598已经实现。
+          class="url">http://www.contactor.se/~dast/svn/archive-2003-10/0136.shtml</systemitem>,一个用来减少大多数人发生概率的工作在修订版本7598已经实现。
         </para>
       </sect3>
 

Modified: trunk/src/zh/book/appc.xml
==============================================================================
--- trunk/src/zh/book/appc.xml	(original)
+++ trunk/src/zh/book/appc.xml	Thu Nov 24 05:12:10 2005
@@ -152,7 +152,7 @@
         <varlistentry>
           <term>svn checkout/list</term>
           <listitem>
-            <para>对集合执行一个深度为1的<literal>PROPFIND</literal>来得到直接孩子的列表,对每个孩子执行一个<literal>GET</literal>(也可能是一个<literal>PROPFIND</literal>),递轨道集合并且重复。
+            <para>对集合执行一个深度为1的<literal>PROPFIND</literal>来得到直接孩子的列表,对每个孩子执行一个<literal>GET</literal>(也可能是一个<literal>PROPFIND</literal>),递归到集合并且重复。
             </para>
           </listitem>
         </varlistentry>
@@ -270,7 +270,7 @@
           <para>如果一个Windows XP电脑是一个NT域的成员,它看起来不能连接到WebDAV共享,重复提示要输入用户名和密码,即使Apache服务器没有要求进行认证!如果这个机器不是NT域的一部分,这个共享可以成功装载。
           </para>
             
-          <para>这个问题源于Windows XP创建网络文件夹快捷方式(<filename>.lnk</filename>文件)的方法的白边。它有时候会使用<quote>UNC</quote> (Universal Naming Convention) 路径来代替WebDAV共享URL,这导致资源管理器尝试使用SMB而不是HTTP来进行连接。
+          <para>这个问题源于Windows XP创建网络文件夹快捷方式(<filename>.lnk</filename>文件)的方法的bug。它有时候会使用<quote>UNC</quote> (Universal Naming Convention) 路径来代替WebDAV共享URL,这导致资源管理器尝试使用SMB而不是HTTP来进行连接。
           </para>
             
           <para>这个问题的解决方法是在Windows 2000创建<filename>.lnk</filename>快捷方式,然后拷贝到Windows XP电脑,如果有人可以逆转<filename>.lnk</filename>文件的格式,也可以使用十六进制编辑器来<quote>修正</quote>快捷方式。

Modified: trunk/src/zh/book/appd.xml
==============================================================================
--- trunk/src/zh/book/appd.xml	(original)
+++ trunk/src/zh/book/appd.xml	Thu Nov 24 05:12:10 2005
@@ -169,7 +169,7 @@
   <!-- *** SECTION 4:  HIGHER LEVEL TOOLS                              *** -->
   <!-- ******************************************************************* -->
   <sect1 id="svn-ap-d-sect-4">
-    <title>Higher Level Tools</title>
+    <title>高级工具</title>
 
     <variablelist>
 
@@ -201,7 +201,7 @@
       <varlistentry>
         <term>svk (<systemitem
           class="url">http://svk.elixus.org/</systemitem>)</term>
-        <listitem><para>基于Subversion的分散式版本控制工具</para></listitem>
+        <listitem><para>基于Subversion的分布式版本控制工具</para></listitem>
       </varlistentry>
 
       <varlistentry>

Modified: trunk/src/zh/book/ch06.xml
==============================================================================
--- trunk/src/zh/book/ch06.xml	(original)
+++ trunk/src/zh/book/ch06.xml	Thu Nov 24 05:12:10 2005
@@ -881,7 +881,7 @@
         <para>在另一个极端,你可以配置为拒绝所有人的认证,所有客户端必须提供证明自己身份的证书,你通过<literal>Require valid-user</literal>指示来阻止无条件的认证,并且定义一种认证的手段。</para>
 
         <example id="svn-ch-6-sect-4.4.2-ex-2">
-          <title>A sample configuration for authenticated access.</title>
+          <title>一个认证访问的配置实例。</title>
           <programlisting>
 <Location /repos>
   DAV svn
@@ -1016,7 +1016,7 @@
         <para>在另一方面,也有一个安全舱门允许你用安全特性来交换速度,如果你不是坚持要求有每目录授权(如不使用 <command>mod_authz_svn</command>和类似的模块),你就可以关闭所有的路径检查,在你的<filename>httpd.conf</filename>文件,使用<literal>SVNPathAuthz</literal>指示:</para>
 
         <example id="svn-ch-6-sect-4.4.3-ex-1">
-          <title>Disabling path checks altogether</title>
+          <title>关闭所有的路经检查</title>
           <programlisting>
 <Location /repos>
   DAV svn

Modified: trunk/src/zh/book/ch08.xml
==============================================================================
--- trunk/src/zh/book/ch08.xml	(original)
+++ trunk/src/zh/book/ch08.xml	Thu Nov 24 05:12:10 2005
@@ -5,7 +5,7 @@
     <para>Subversion是一个开源的软件项目,使用Apache样式的软件许可证。这个项目由位于加利福尼亚的CollabNet, Inc.软件开发公司资助。这个关于Subversion开发的社区一直欢迎新成员贡献自己的时间和注意力。鼓励志愿者做他们能做的任何帮助,不管是发现和诊断bug,精炼已存的代码还是补充新的特性。
    </para>
     
-    <para>本章是为那些希望实际参与源代码编写来帮助Subversion不断进步的人们准备的。我们要知道,在这里我们会涉及到许多软件内在的细节,在开发subversion本身—或利用subversion库开发全新工具时—所用到的许多核心技术。如果你无法预测你是否会以这种层级参与到这个软件中来,那么也可以随意跳过这一章,而你作为一个Subversion用户的体验不会受到任何影响。
+    <para>本章是为那些希望实际参与源代码编写来帮助Subversion不断进步的人们准备的。我们要知道,在这里我们会涉及到许多软件内在的细节,在开发Subversion本身—或利用Subversion库开发全新工具时—所用到的许多核心技术。如果你无法预测你是否会以这种层级参与到这个软件中来,那么也可以随意跳过这一章,而你作为一个Subversion用户的体验不会受到任何影响。
    </para>
 
   </simplesect>
@@ -106,7 +106,7 @@
       <para>Subversion文件系统通过libsvn_fs API来访问,它并不是一个安装在操作系统之上的内核级的文件系统(例如Linux ext2或NTFS),而是一个虚拟文件系统。它并未将<quote>文件</quote>和<quote>目录</quote>保存为真实的文件和目录(也就是用你熟知的shell程序可以浏览的那种),而是采用了一种抽象的后端存储方式,这个后端存储方式有两种—一个是Berkeley DB数据库环境,另一个是普通文件表示。(要了解更多关于版本库后端的信息,请看<xref
         linkend="svn-ch-5-sect-1.3"/>)。除此之外,开发社区也非常有兴趣考虑在Subversion的未来版本 中提供某种使用其它后端数据库系统的能力,也许是开放式数据库连接(ODBC)的机制。</para>
 
-      <para>libsvn_fs支持的文件系统API包含了所有其他文件系统的功能:你可以创建和删除文件和目录、拷贝和移动、修改文件内容等等。它也包含了一些不太常用的特性,如对任意文件和目录添加、修改和删除元数据(<quote>properties</quote>)的能力。此外,Subversion文件系统是一个版本化的文件系统,意味着你修改你的目录树时,Subversion会记住修改以前的样子。等等,所有的回到开始版本化的时间是在添加到文件系统的时候(且刚刚超过***)。</para>
+      <para>libsvn_fs支持的文件系统API包含了所有其他文件系统的功能:你可以创建和删除文件和目录、拷贝和移动、修改文件内容等等。它也包含了一些不太常用的特性,如对任意文件和目录添加、修改和删除元数据(<quote>properties</quote>)的能力。此外,Subversion文件系统是一个版本化的文件系统,意味着你修改你的目录树时,Subversion会记住修改以前的样子。等等,可以回到所有初始化版本库之后(且仅仅之后)的版本。</para>
 
       <para>所有你对目录树的修改包含在Subversion事务的上下文中,下面描述了修改文件系统的例程:
       </para>
@@ -150,7 +150,7 @@
         <graphic fileref="images/ch08dia1.png"/>
       </figure>
 
-      <para>当然,Subversion文件系统有一个其它文件系统的第三维—时间!
+      <para>当然,Subversion文件系统有一个其它文件系统所没有的第三维—时间!
         <footnote>
           <para>我们理解这一定会给科幻小说迷带来一个震撼,他们认为时间是<emphasis>第四</emphasis>维的,我们要为提出这样一个不同理论的断言而伤害了他们的作出道歉。
          </para>
@@ -299,7 +299,7 @@
       <para>如果说Subversion版本库层是在<quote>这条线的另一端</quote>,那版本库访问层就是这条线。负责在客户端库和版本库之间编码数据,这一层包括libsvn_ra模块加载模块,RA模块本身(现在包括了libsvn_ra_dav、libsvn_ra_local和libsvn_ra_svn),和所有一个或多个RA模块需要的附加库,例如与Apache模块mod_dav_svn通讯的libsvn_ra_dav或者是libsvn_ra_svn的服务器,<command>svnserve</command>。
      </para>
 
-      <para>因为Subversion使用URL来识别版本库资源,URL模式的URL部分(通常是<literal>file:</literal>、<literal>http:</literal>、<literal>https:</literal>或<literal>svn:</literal>)用来监测那个RA模块用来处理通讯。每个模块注册一组它们知道如何<quote>说话</quote>的协议,所以RA加载器可以在运行中监测在手边的任务中使用那个模块。通过运行<command>svn --version</command>,你可以监测Subversion命令行客户端所支持的RA模块和他们声明支持的协议:</para>
+      <para>因为Subversion使用URL来识别版本库资源,URL模式的协议部分(通常是<literal>file:</literal>、<literal>http:</literal>、<literal>https:</literal>或<literal>svn:</literal>)用来监测那个RA模块用来处理通讯。每个模块注册一组它们知道如何<quote>说话</quote>的协议,所以RA加载器可以在运行中监测在手边的任务中使用哪个模块。通过运行<command>svn --version</command>,你可以监测Subversion命令行客户端所支持的RA模块和它们声明支持的协议:</para>
      
       <screen>
 $ svn --version
@@ -355,7 +355,7 @@
         <para>作为标准HTTP/WebDAV协议的补充,Subversion也提供了一个使用自定义协议的RA实现,libsvn_ra_svn模块实现了自己的网络套接字连接,与一个独立服务器通讯—<filename>svnserve</filename>程序—在存放版本库的机器上。客户端可以使用<literal>svn://</literal>访问版本库。
        </para>
 
-        <para>这个RA实现缺乏前面小节提到的Apache的大多数有点;然而虽然如此,系统管理员会非常有兴趣,因为这配置和运行异常的简单;设置一个<filename>svnserve</filename>几乎是立刻的,它与Apache相比也是非常的小(从代码长度这方面说),让它非常容易进行安全或其他方面原因的审核。此外,一些系统管理员或许已经有了一个SSH安全基础,希望Subversion使用它,客户端使用ra_svn可以容易的使用SSH封装这个协议。
+        <para>这个RA实现缺乏前面小节提到的Apache的大多数优点;然而虽然如此,系统管理员会非常有兴趣,因为这配置和运行异常的简单;设置一个<filename>svnserve</filename>几乎是立刻的,它与Apache相比也是非常的小(从代码长度这方面说),让它非常容易进行安全或其它方面原因的审核。此外,一些系统管理员或许已经有了一个SSH安全基础,希望Subversion使用它,客户端使用ra_svn可以容易的使用SSH封装这个协议。
        </para>
 
       </sect3>
@@ -378,7 +378,7 @@
       <sect3 id="svn-ch-8-sect-1.2.4">
         <title>你的RA库在这里</title>
 
-        <para>对那些一直希望使用另一个协议来访问Subversion版本库的人,正好是为什么版本库访问层是模块化的!开发者可以简单的编写一个新的库来在一侧实现RA接口并且与另一侧的版本库通讯。你的新库可以使用存在的网络协议,或者发明你自己的。你可以使用进程间的通讯调用,或者—让我们发狂,我们会吗?—你甚至可以实现一个电子邮件为基础的协议,Subversion提供了API;你提供创造性。
+        <para>对那些一直希望使用另一个协议来访问Subversion版本库的人,正好是为什么版本库访问层是模块化的!开发者可以简单的编写一个新的库来在一侧实现RA接口并且与另一侧的版本库通讯。你的新库可以使用存在的网络协议,或者发明你自己的。你可以使用进程间的通讯调用,或者—让我们发狂,我们会吗?—你甚至可以实现一个电子邮件为基础的协议,Subversion提供了API,你提供创造性。
        </para>
 
       </sect3>
@@ -395,7 +395,7 @@
         linkend="svn-ch-8-sect-3"/>。
         </para>
 
-      <para>Subversion客户端库libsvn_client具备最广泛的职责;它的工作是结合工作拷贝库和版本库访问苦的功能,然后为希望普通版本控制的应用提供最高级的API。举个例子,<function>svn_client_checkout</function>方法是用一个URL作为参数,传递这个URL到RA层然后在特定版本库打开一个会话。然后向版本库要求一个特定的目录树,然后把目录树发送给工作拷贝库,然后把完全的工作拷贝写到磁盘(<filename>.svn</filename>目录和一切)。</para>
+      <para>Subversion客户端库libsvn_client具备最广泛的职责;它的工作是结合工作拷贝库和版本库访问库的功能,然后为希望普通版本控制的应用提供最高级的API。举个例子,<function>svn_client_checkout</function>方法是用一个URL作为参数,传递这个URL到RA层然后在特定版本库打开一个会话。然后向版本库要求一个特定的目录树,然后把目录树发送给工作拷贝库,然后把完全的工作拷贝写到磁盘(<filename>.svn</filename>目录和一切)。</para>
 
       <para>客户端库是为任何程序使用设计的,尽管Subversion的源代码包括了一个标准的命令行客户端,用客户端库编写GUI客户端也是很简单,Subversion新的GUI(或者任何新的客户端,真的)不需要紧密围绕包含的命令行客户端—他们对具有相同功能、数据和回调机制的libsvn_client的API有完全的访问权利。
      </para>
@@ -403,7 +403,7 @@
       <sidebar>
         <title>直接绑定—关于正确性</title>
 
-        <para>为什么GUI程序要直接访问libsvn_client而不以命令行客户端的包裹运行?除了效率以外,这也关系到潜在的正确性问题。一个命令行客户端程序(如Subversion提供的)如果绑定了客户端库,需要将反馈和请求数据字节从C翻译为刻度的输出,这种翻译时有损耗的,程序不能得到API所提供的所有信息,或者是得到紧凑的信息。
+        <para>为什么GUI程序要直接访问libsvn_client而不以命令行客户端的包裹运行?除了效率以外,这也关系到潜在的正确性问题。一个命令行客户端程序(如Subversion提供的)如果绑定了客户端库,需要将反馈和请求数据字节从C翻译为可读的输出,这种翻译是有损耗的,程序不能得到API所提供的所有信息,或者是得到紧凑的信息。
        </para>
 
         <para>如果你已经包裹了这样一个命令行程序,第二个程序只能访问已经经过解释的(如我们提到的,不完全)信息,需要<emphasis>再次</emphasis>转化为<emphasis>它本身的</emphasis>展示格式。由于各层的包裹,原始数据的完整性越来越难以保证,结果很像对喜欢的录音带或录像带反复的拷贝(一个拷贝…)。
@@ -428,7 +428,7 @@
 
     <!-- ***************************************************************** -->
     <sect2 id="svn-ch-8-sect-2.1">
-      <title>Apache便携运行库</title>
+      <title>Apache可移植运行库</title>
       <para>伴随Subversion自己的数据类型,你会看到许多<literal>apr_</literal>开头的数据类型引用—来自Apache便携运行库(APR)的对象。APR是Apache便携运行库,源自为了服务器代码的多平台性,尝试将不同的操作系统特定字节与操作系统无关代码隔离。结果就提供了一个基础API的库,只有一些适度区别—或者是广泛的—来自各个操作系统。Apache HTTP服务器很明显是APR库的第一个用户,Subversion开发者立刻发现了使用APR库的价值。意味着Subversion没有操作系统特定的代码,也意味着Subversion客户端可以在Server存在的平台编译和运行。当前这个列表包括,各种类型的Unix、Win32、OS/2和Mac OS X。
      </para>
 
@@ -512,7 +512,7 @@
       <para>在本章的前面小节,我们提到<filename>libsvn_client</filename>接口,并且解释了它存在的唯一目的是为了简化编写Subversion客户端的过程,下面是一个如何同SWIG绑定访问库的简短例子,简单的几句Python代码,我们就可以检出一个完全功能的Subversion工作拷贝!</para>
 
       <example id="svn-ch-8-sect-2.3-ex-2">
-        <title>A Simple Script to Check Out a Working Copy.</title>
+        <title>一段检出工作拷贝的简单脚本</title>
 
         <programlisting>
 #!/usr/bin/env python
@@ -664,7 +664,7 @@
     <title>WebDAV</title>
 
     <para>WebDAV(<quote>Web-based Distributed Authoring
-      and Versioning</quote>的缩写)是一个标准HTTP协议的扩展,把web变成一个可读写的媒体,作为当今基本的只读媒体的替代。原理就是目录和文件时可以共享的—都是可读写的对象—通过web。RFCs2518和3253描述了WebDAV/DeltaV 对于HTTP的扩展,存放于(随之有许多其他有用的信息)<systemitem
+      and Versioning</quote>的缩写)是一个标准HTTP协议的扩展,把web变成一个可读写的媒体,作为当今基本的只读媒体的替代。原理就是目录和文件时可以共享的—都是可读写的对象—通过web。RFCs2518和3253描述了WebDAV/DeltaV 对于HTTP的扩展,存放于(随之有许多其它有用的信息)<systemitem
       class="url">http://www.webdav.org/</systemitem>。</para>
 
     <para>已经有一些操作系统文件浏览器可以使用WebDAV装配网络目录,在Win32中,Windows浏览器可以像普通共享文件夹一样浏览叫做网络文件夹(只是一个设置好WebDAV的网络位置)的目录,在Mac OS X也有这个能力,就像Nautilus和Konqueror作的(分别对应GNOME和KDE)。
@@ -687,11 +687,11 @@
 
     <para>一个内存池是程序所需要分配内存的一个抽象表示,不选择使用标准的<function>malloc()</function>从操作系统直接申请内存,而使用向APR申请的池申请创建的(使用<function>apr_pool_create()</function>方法)内存。APR会从操作系统分配合适的内存块这些内存可以立刻在程序里使用,当程序需要更多的池内存时,它会使用APR的池API方法,如<function>apr_palloc()</function>,返回池中的基本内存位置,这个程序可以继续从池中请求内存,在超过最初的池的容量后,APR会自动满足程序的要求扩大池的大小,直到系统没有足够的内存。</para>
 
-    <para>现在,如果这是池故事的结尾,我们就不应该再作过多的关注,很幸运,不是这个情况。池不可以仅仅被创建;它也可以被清空和销毁,分别使用<function>apr_pool_clear()</function>和<function>apr_pool_destroy()</function>。这给了用户灵活性来分配许多—或者是数千—东西自这个池,然后使用一个命令来清空!更进一步,池由登记,你可以为前一步创建的池创建<quote>子池</quote>。当你清空一个池,所有的子池会被销毁;如果你销毁一个池,它和所有的子池也会被销毁。</para>
+    <para>现在,如果这是池故事的结尾,我们就不应该再作过多的关注,很幸运,不是这个情况。池不可以仅仅被创建;它也可以被清空和销毁,分别使用<function>apr_pool_clear()</function>和<function>apr_pool_destroy()</function>。这给了用户灵活性来分配许多—或者是数千—东西自这个池,然后使用一个命令来清空!更进一步,池可以分级,你可以为前一步创建的池创建<quote>子池</quote>。当你清空一个池,所有的子池会被销毁;如果你销毁一个池,它和所有的子池也会被销毁。</para>
 
     <para>在我们进一步研究之前,开发者会发现在Subversion源代码中并没有对前面提到的APR池方法有很多的调用,APR提供了许多扩展机制,像使用自定义的附加到池的<quote>用户数据</quote>的能力,注册当池销毁时的所要调用的清理方法的机制,Subversion使用一些不太琐碎的方法来利用这些扩展,所以Subversion提供了(大多数代码使用的)包裹方法<function>svn_pool_create()</function>、<function>svn_pool_clear()</function>和<function>svn_pool_destroy()</function>。</para>
 
-    <para>尽管池帮助我们基本的内存管理,池的创建确实投射出了循环和迭代场景,因为反复在循环中经常没有界限,在深度迭代中,一定区域的内存消耗变得不可预料,很幸运,使用嵌套的内存池可以简单的管理这种潜在的混乱情形,下面的例子描述了在这个情形下嵌套池的基本使用非常平常—迭代的对目录树的遍历,对树上的每一个部分做一些人物。
+    <para>尽管池帮助我们基本的内存管理,池的创建确实投射出了循环和迭代场景,因为反复在循环中经常没有界限,在深度迭代中,一定区域的内存消耗变得不可预料,很幸运,使用嵌套的内存池可以简单的管理这种潜在的混乱情形,下面的例子描述了在这个情形下嵌套池的基本使用非常平常—迭代的对目录树的遍历,对树上的每一个部分做一些任务。
    </para>
 
     <example id="svn-ch-8-sect-5-ex-1">
@@ -780,7 +780,7 @@
 </programlisting>
     </example>
 
-    <para>在前一个例子里描述了在循环和迭代情况下有效地池使用,每次迭代会从为传递给池的建立一个子池开始,池在循环区域中使用在每次迭代清理。结果是内存使用比例和深度成比例,而不是顶级目录包含所有的子目录的总数量。当迭代的第一个调用最终结束时,实际上只有很小的传递过来的数据存放在池中,现在想想一下如果在每片数据使用时使用<function>alloc()</function>和<function>free()</function>时会面临的复杂性!</para>
+    <para>在前一个例子里描述了在循环和迭代情况下有效地池使用,每次迭代会从为方法传递一个新建的子池开始,池在循环区域中使用,在每次迭代清理。结果是内存使用比例和深度成比例,而不是顶级目录包含所有的子目录的总数量。当迭代的第一个调用最终结束时,实际上只有很小的传递过来的数据存放在池中,现在想想一下如果在每片数据使用时使用<function>alloc()</function>和<function>free()</function>时会面临的复杂性!</para>
     
     <para>池并不是对所有的应用是理想的,但是在Subversion中非常有用,作为一个Subversion开发者,你会需要学会适应池并且正确地使用它,内存使用的bug和膨胀可能会非常难于诊断和修正,但是APR提供的pool结构被证明了是非常的方便的,节约时间的功能。</para>
 
@@ -800,34 +800,9 @@
     <sect2 id="svn-ch-8-sect-6.1">
       <title>加入社区</title>
       
-      <para>
-      The first step in community participation is to find a way
-        to stay on top of the latest happenings.  To do this most
-        effectively, you will want to subscribe to the main developer
-        discussion list (<email>dev at subversion.tigris.org</email>) and
-        commit mail list (<email>svn at subversion.tigris.org</email>).
-        By following these lists even loosely, you will have access
-        to important design discussions, be able to see actual changes
-        to Subversion source code as they occur, and be able to
-        witness peer reviews of those changes and proposed changes.
-        These email based discussion lists are the primary
-        communication media for Subversion development.  See the
-        Mailing Lists section of the website for other
-        Subversion-related lists you might be interested in.</para>
-
-      <para>But how do you know what needs to be done?  It is quite
-        common for a programmer to have the greatest intentions of
-        helping out with the development, yet be unable to find a good
-        starting point.  After all, not many folks come to the
-        community having already decided on a particular itch they
-        would like to scratch.  But by watching the developer
-        discussion lists, you might see mentions of existing bugs or
-        feature requests fly by that particularly interest you.  Also,
-        a great place to look for outstanding, unclaimed tasks is the
-        Issue Tracking database on the Subversion website.  There you
-        will find the current list of known bugs and feature requests.
-        If you want to start with something small, look for issues
-        marked as <quote>bite-sized</quote>.</para>
+      <para>加入社区的第一步是关注最新发生的事情,最有效的办法是订阅主要的开发邮件列表(<email>dev at subversion.tigris.org</email>)和提交邮件列表(<email>svn at subversion.tigris.org</email>)。通过轻松的跟踪这些列表,你可以参与最重要的设计讨论,并且可以看到实际发生效果的Subversion代码,并且可以见证这些修改并提出修改建议。这些基于邮件列表的讨论是我们Subversion开发最主要的交流媒体。如果你对其他Subversion相关的列表有兴趣,可以查看本网站的邮件列表部分。</para>
+
+      <para>但是你如何知道需要做什么?这是一个希望参与帮助我们开发的程序员最关心的问题,很难找到一个好的开始。毕竟,来到社区的很多人并没有已经决定好了要做什么,但是通过阅读开发者的讨论,你会看到很感兴趣的已知bug或特性需求。另外也可以在问题追踪数据库找出那些突出的没有人做的任务,这里你会发现当前列表的已知bug和特性需求,如果你希望从一些小事开始,可以查看那些标记为<quote>bite-sized</quote>的问题。</para>
       
     </sect2>
     
@@ -864,11 +839,11 @@
     <sect2 id="svn-ch-8-sect-6.3">
       <title>开始熟悉社区政策</title>
       
-      <para>现在你有了包含最新Subversion源代码的工作拷贝,你一定希望来通过工作拷贝顶级目录下的<filename>HACKING</filename>文件来做一次浏览。这个<filename>HACKING</filename>文件包含了如何对Subversion做贡献的说明,包括如何正确地格式化代码与余下的代码基保持一致性,如何使用有效的提交日志描述你的被提议修改,如何测试修改,等等。对Subversion源代码的提交特权是赢得的—被精英所管理。
+      <para>现在你有了包含最新Subversion源代码的工作拷贝,你一定希望来通过工作拷贝顶级目录下的<filename>HACKING</filename>文件来做一次浏览。这个<filename>HACKING</filename>文件包含了如何对Subversion做贡献的说明,包括如何正确地格式化代码与余下的代码基保持一致性,如何使用有效的提交日志描述你的被提议修改,如何测试修改,等等。对Subversion源代码的提交特权是需要争取得到的—被精英所管理。
         <footnote>
           <para>浅薄的看起来这像是某种高人一等的优越感,<quote>赢得你的提交特权</quote>这个概念关于效率—检查和应用别人的修改是否安全和有用会花费大量的时间和精力,与之相比的是取消危险的代码的潜在代价。</para>
         </footnote>
-        <filename>HACKING</filename>文件是一个无价的资源,当它来确定你被提议作的修改取得了赞美表示它们值得不会被学术性拒绝。</para>
+        <filename>HACKING</filename>文件是一个无价的资源,它可以确保你被提议作的修改能够取得承认,而不会因为技术原因被拒绝。</para>
 
     </sect2>
 
@@ -880,21 +855,21 @@
 
       <para>Subversion有一个相当彻底
         <footnote>
-          <para>你或许希望抓一些爆米花,在这个情况下,在附近花三十分钟转一下,渡过非交互的机器活动。***</para>
+          <para>在这个情况下,你或许希望抓一些爆米花,在附近花三十分钟转一下,渡过非交互的机器时间。</para>
         </footnote>
         的回归测试套件,你提议的修改期望不会带来任何这种测试失败,通过在源代码根目录运行<command>make check</command>(在Unix)你可以完全测试你的修改。提交会导致测试套间失败的代码是拒绝(或者是提供一个好的日志信息)你贡献的代码的最快方法。</para>
         
 
       <!-- ### TODO: Describe building and testing on Windows. -->
 
-      <para>在最好的情况下,你实际上应该添加适当的测试到测试套件来验证你提议的修改工作正常,实际上,有时候一个人可以做到的最好贡献就是让添加的测试能够独立起来。你可以添加回归测试来保护当前工作的代码在将来修改时这个区域里不会触发失败。另外,你也可以写测试来描述已知的失败,为了这个目的,Subversion测试套件允许你指定一个给定的测试是期望会失败的(叫做<literal>XFAIL</literal>),而且只要Subversion按照预期失败,一个<literal>XFAIL</literal>测试会认为是一个成功。最后,测试组件越好,就会花费更少的时间来诊断潜在晦涩回归bug。
+      <para>在最好的情况下,你实际上应该添加适当的测试到测试套件来验证你提议的修改工作正常,实际上,有时候一个人可以做到的最好贡献就是让添加的测试能够独立起来。你可以添加回归测试来保护当前工作的代码在将来修改时这个区域里不会触发失败。另外,你也可以写测试来描述已知的失败,为了这个目的,Subversion测试套件允许你指定一个给定的测试是期望会失败的(叫做<literal>XFAIL</literal>),而且只要Subversion按照预期失败,一个<literal>XFAIL</literal>测试会认为是一个成功。最后,测试组件越好,就会花费更少的时间来诊断潜在的晦涩的回归bug。
      </para>
 
     </sect2>
 
     <!-- ***************************************************************** -->
     <sect2 id="svn-ch-8-sect-6.5">
-      <title>捐赠你的修改</title>
+      <title>贡献你的修改</title>
       
       <para>当完成了对源代码的修改,写一个干净的和细致的日志信息来描述那些修改和原因。然后,发送一个包含日志信息和<command>svn diff</command>(在Subversion工作拷贝顶级目录运行)输出的邮件到开发者列表。如果社区成员认为你的修改可以接受,一些有提交权限(允许在Subversion源代码版本库提交新的修订版本)的用户会添加你的新的修改到公共源代码树。回想对版本库直接的提交权限是赋予那些展现能力的人—如果你展示了对Subversion的理解,编程能力,和<quote>团队精神</quote>,你会很可能授予那个权限。</para>
 

Modified: trunk/src/zh/book/ch09.xml
==============================================================================
--- trunk/src/zh/book/ch09.xml	(original)
+++ trunk/src/zh/book/ch09.xml	Thu Nov 24 05:12:10 2005
@@ -24,12 +24,12 @@
 $ svn status -v myfile
 </screen>
 
-    <para>你可以在<xref linkend="svn-ch-3"/>发现更多使用客户端命令的例子,以及<xref linkend="svn-ch-7-sect-2"/>中的管理术性命令。</para>
+    <para>你可以在<xref linkend="svn-ch-3"/>发现更多使用客户端命令的例子,以及<xref linkend="svn-ch-7-sect-2"/>中的管理属性的命令。</para>
     
     <sect2 id="svn-ch-9-sect-1.1">
       <title><command>svn</command>选项</title> 
       
-      <para>虽然Subversion的子命令有一些不同的选项,所有的选项是全局的—也就是说,每个选项保证是表示同样的事情,而不管是那个子命令使用的。举个例子,<option>--verbose</option>(<option>-v</option>)一直意味着<quote>冗长输出</quote>,而不管使用它的命令是什么。</para>
+      <para>虽然Subversion的子命令有一些不同的选项,但有的选项是全局的—也就是说,每个选项保证是表示同样的事情,而不管是哪个子命令使用的。举个例子,<option>--verbose</option>(<option>-v</option>)一直意味着<quote>冗长输出</quote>,而不管使用它的命令是什么。</para>
 
       <variablelist>
         
@@ -68,8 +68,7 @@
         <varlistentry>
           <term><option>--dry-run</option></term>
           <listitem>
-            <para>练运行一个命令的效果,但没有实际的修改—可以用在磁盘和版本库。
-            Goes through all the motions of running a command,</para>
+            <para>检验运行一个命令的效果,但没有实际的修改—可以用在磁盘和版本库。</para>
           </listitem>
         </varlistentry>
       
@@ -84,7 +83,7 @@
         <varlistentry>
           <term><option>--encoding</option> <replaceable>ENC</replaceable></term>
           <listitem>
-            <para>告诉Subversion你的提交日志信息是通过提供的字符集编码的,缺省时你的操作系统的本地位置,如果你的提交信息使用其它编码,你一定要指定这个值。</para>
+            <para>告诉Subversion你的提交日志信息是通过提供的字符集编码的,缺省时是你的操作系统的本地编码,如果你的提交信息使用其它编码,你一定要指定这个值。</para>
           </listitem>
         </varlistentry>
 
@@ -92,7 +91,7 @@
           <term><option>--extensions</option> (<option>-x</option>)
           <replaceable>ARGS</replaceable></term>
           <listitem>
-            <para>指定一个或多个Subversion传递给提供文件之间区别的外部区别程序的参数,如果你忘传递多个参数,你一定能够要用引号(例如,<command>svn diff --diff-cmd /usr/bin/diff -x
+            <para>指定一个或多个Subversion传递给提供文件区别的外部区别程序的参数,如果你要传递多个参数,你一定能够要用引号(例如,<command>svn diff --diff-cmd /usr/bin/diff -x
               "-b -E"</command>)括起所有的参数。这个选项<emphasis>只有</emphasis>在使用<option>--diff-cmd</option>选项时使用。</para>
           </listitem>
         </varlistentry>
@@ -117,7 +116,7 @@
         <varlistentry>
           <term><option>--force-log</option></term>
           <listitem>
-            <para>将传递给<option>--message</option>(<option>-m</option>)或者<option>--file</option>(<option>-F</option>)的可疑参数指定为有效可接受。缺省情况下,如果选项的参数看起来成为子命令的目标,Subversion会提出一个错误,例如,你传递一个版本化的文件路径给<option>--file</option>(<option>-F</option>)选项,Subversion会认为出了点错误,因为路径代替了有意为操作的目标,而且你仅仅是没有提供其它的—未版本化的—作为日志信息的文件。为了确认你的意图并且不考虑这类错误,传递<option>--force-log</option>选项给命令来接受它作为日志信息。
+            <para>将传递给<option>--message</option>(<option>-m</option>)或者<option>--file</option>(<option>-F</option>)的可疑参数指定为有效可接受。缺省情况下,如果选项的参数看起来会成为子命令的目标,Subversion会提出一个错误,例如,你传递一个版本化的文件路径给<option>--file</option>(<option>-F</option>)选项,Subversion会认为出了点错误,认为你将目标对象当成了参数,而你并没有提供其它的—未版本化的文件作为日志信息的文件。为了确认你的意图并且不考虑这类错误,传递<option>--force-log</option>选项给命令来接受它作为日志信息。
             </para>
           </listitem>
         </varlistentry>
@@ -168,7 +167,7 @@
         <varlistentry>
           <term><option>--no-auth-cache</option></term>
           <listitem>
-            <para>阻止在Subversion管理区域缓存认证信息(如用户名密码)。
+            <para>阻止在Subversion管理区缓存认证信息(如用户名密码)。
             </para>
           </listitem>
         </varlistentry>
@@ -183,7 +182,7 @@
         <varlistentry>
           <term><option>--no-diff-deleted</option></term>
         <listitem>
-            <para>防止Subversion打印删除文件的区别信息,缺省的行为方式是当你删除了一个文件后运行<command>svn diff</command>来打印的区别与删除文件所有的内容得到的结果一样。
+            <para>防止Subversion打印删除文件的区别信息,缺省的行为方式是当你删除了一个文件后运行<command>svn diff</command>打印的区别与删除文件所有的内容得到的结果一样。
            </para>
           </listitem>
         </varlistentry>
@@ -200,7 +199,7 @@
         <varlistentry>
           <term><option>--non-interactive</option></term>
           <listitem>
-            <para>如果认证失败,或者是不充分的凭证时,防止出现要求凭证的提示(例如用户名和密码)。这在运行自动脚本时非常有用,更适合让Subversion失败而不是提示更多的信息。
+            <para>如果认证失败,或者是不充分的凭证时,防止出现要求凭证的提示(例如用户名和密码)。这在运行自动脚本时非常有用,只是让Subversion失败而不是提示更多的信息。
            </para>
           </listitem>
         </varlistentry>
@@ -288,7 +287,7 @@
         <varlistentry>
           <term><option>--show-updates</option> (<option>-u</option>)</term>
           <listitem>
-            <para>导致客户端显示本地拷贝那些文件已经过期,这不会实际更新你的任何文件—只是显示了如果你运行<command>svn update</command>时更新的文件。
+            <para>导致客户端显示本地拷贝哪些文件已经过期,这不会实际更新你的任何文件—只是显示了如果你运行<command>svn update</command>时更新的文件。
             </para>
           </listitem>
         </varlistentry>
@@ -311,7 +310,7 @@
           <term><option>--targets</option>
             <replaceable>FILENAME</replaceable></term>
           <listitem>
-            <para>告诉Subversion从你提供的文件名来得到希望操作的文件列表,而不是在命令行列出所有的文件。
+            <para>告诉Subversion从你提供的文件中得到希望操作的文件列表,而不是在命令行列出所有的文件。
             </para>
           </listitem>
         </varlistentry>
@@ -327,7 +326,7 @@
         <varlistentry>
           <term><option>--verbose</option> (<option>-v</option>)</term>
           <listitem>
-            <para>请求客户端在运行子命令打印尽量多的信息,会导致Subversion答应额外的字段,每个文件的细节信息或者是关于动作的附加信息。</para>
+            <para>请求客户端在运行子命令打印尽量多的信息,会导致Subversion打印额外的字段,每个文件的细节信息或者是关于动作的附加信息。</para>
           </listitem>
         </varlistentry>
         
@@ -452,7 +451,7 @@
         <refsect1>
           <title>描述</title>
           
-          <para>显示特定文件和URL内嵌的作者和修订版本信息。每一行文本,都在开头用着一行最后修改的作者(用户名)和的修订版本号作为标记。</para>
+          <para>显示特定文件和URL内嵌的作者和修订版本信息。每一行文本在开头都放了最后修改的作者(用户名)和修订版本号。</para>
         </refsect1>
 
         <refsect1>
@@ -956,7 +955,7 @@
 A  +   bar.txt
 </screen>
 
-          <para>拷贝你的工作拷贝的一个项目到版本库的URL(直接的啼叫,所以需要提供一个提交信息):</para>
+          <para>拷贝你的工作拷贝的一个项目到版本库的URL(直接的提交,所以需要提供一个提交信息):</para>
 
           <screen>
 $ svn copy near.txt file:///tmp/repos/test/far-away.txt -m "Remote copy."
@@ -1223,7 +1222,8 @@
           <para>使用<quote>@</quote>语法与修订版本3000和35000比较:</para>
 
           <screen>
-$ svn diff http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500
+$ svn diff http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 \
+http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500
 Index: COMMITTERS
 ===================================================================
 --- COMMITTERS	(revision 3000)
@@ -1256,8 +1256,7 @@
 $ svn diff -r 3000:3500 --old http://svn.collab.net/repos/svn/trunk COMMITTERS README HACKING
           </screen>
 
-          <para>If you have a working copy, you can obtain the
-            differences without typing in the long URLs:</para>
+          <para>如果你有工作拷贝,你不必输入这么长的URL:</para>
 
           <screen>
 $ svn diff -r 3000:3500 COMMITTERS 
@@ -1372,7 +1371,7 @@
       <refentry id="svn-ch-9-sect-1.2-re-help">
         <refnamediv>
           <refname>svn help</refname>
-          <refpurpose>Help!</refpurpose>
+          <refpurpose>帮助!</refpurpose>
         </refnamediv>
         <refsect1>
           <title>概要</title>
@@ -1432,7 +1431,7 @@
 
         <refsect1>
           <title>变化</title>
-          <para>Repository</para>
+          <para>版本库</para>
         </refsect1>
 
         <refsect1>
@@ -1505,17 +1504,17 @@
           <para>打印你的工作拷贝的路径信息,包括:</para>
 
           <itemizedlist>
-            <listitem><para>Path</para></listitem>
-            <listitem><para>Name</para></listitem>
+            <listitem><para>路经</para></listitem>
+            <listitem><para>名称</para></listitem>
             <listitem><para>URL</para></listitem>
-            <listitem><para>Revision</para></listitem>
-            <listitem><para>Node Kind</para></listitem>
-            <listitem><para>Last Changed Author</para></listitem>
-            <listitem><para>Last Changed Revision</para></listitem>
-            <listitem><para>Last Changed Date</para></listitem>
-            <listitem><para>Text Last Updated</para></listitem>
-            <listitem><para>Properties Last Updated</para></listitem>
-            <listitem><para>Checksum</para></listitem>
+            <listitem><para>修订版本</para></listitem>
+            <listitem><para>节点类型</para></listitem>
+            <listitem><para>最后修改的作者</para></listitem>
+            <listitem><para>最后修改的修订版本</para></listitem>
+            <listitem><para>最后修改的日期</para></listitem>
+            <listitem><para>最后更新的文本</para></listitem>
+            <listitem><para>最后更新的属性</para></listitem>
+            <listitem><para>核对</para></listitem>
           </itemizedlist>
         </refsect1>
 
@@ -1586,7 +1585,7 @@
       <refentry id="svn-ch-9-sect-1.2-re-list">
         <refnamediv>
           <refname>svn list</refname>
-          <refpurpose>列出版本库的目录条目。</refpurpose>
+          <refpurpose>列出版本库目录的条目。</refpurpose>
         </refnamediv>
         <refsect1>
           <title>概要</title>
@@ -1855,7 +1854,7 @@
 ------------------------------------------------------------------------
 </screen>
 
-            <para>这只意味着这条路径在那个修订版本没有修改,如果从版本库的顶级目录运行这个命令,或者是你知道那个修订版本修改了那个文件,你可以显示的指定它:</para>
+            <para>这只意味着这条路径在那个修订版本没有修改,如果从版本库的顶级目录运行这个命令,或者是你知道那个修订版本修改了那个文件,你可以明确的指定它:</para>
             
             <screen>
 $ svn log -r 20 touched.txt 
@@ -1989,7 +1988,7 @@
 
         <refsect1>
           <title>变化</title>
-          <para>如果是是对URL操作则会影响版本库,否则是工作拷贝</para>
+          <para>如果是对URL操作则会影响版本库,否则是工作拷贝</para>
         </refsect1>
 
         <refsect1>
@@ -2096,7 +2095,7 @@
 
         <refsect1>
           <title>是否访问版本库</title>
-          <para>只有在对URl操作时会</para>
+          <para>只有在对URL操作时会</para>
         </refsect1>
 
         <refsect1>
@@ -2403,7 +2402,7 @@
         <refsect1>
           <title>例子</title>
 
-          <para>你可以使用proplist卡ucgajab你的工作拷贝的一个项目的属性:
+          <para>你可以使用proplist察看你的工作拷贝的一个项目的属性:
           </para>
 
           <screen>
@@ -2415,7 +2414,7 @@
 </screen>
 
           <para>通过<option>--verbose</option>选项,svn
-            proplist会非常便利的也会显示属性的值:</para>
+            proplist也可以非常便利的显示属性的值:</para>
 
           <screen>
 $ svn proplist --verbose foo.c
@@ -2498,7 +2497,7 @@
 property 'svn:mime-type' set on 'foo.jpg'
 </screen>
 
-          <para>在UNIX系统,如果你希望一个文件设置执行权限:、
+          <para>在UNIX系统,如果你希望一个文件设置执行权限:
           </para>
 
           <screen>
@@ -2537,7 +2536,7 @@
 </screen>
 
           <note>
-            <para>缺省,你不可以在Subversion版本库修改修订版本属性,你的版本库管理员必须显示的通过创建一个名字为<literal>pre-revprop-change</literal>的钩子来允许修订版本属性修改,关于钩子脚本的详情请见xref
+            <para>缺省,你不可以在Subversion版本库修改修订版本属性,你的版本库管理员必须显示的通过创建一个名字为<literal>pre-revprop-change</literal>的钩子来允许修订版本属性修改,关于钩子脚本的详情请见<xref
               linkend="svn-ch-5-sect-2.1"/>。
               </para>
           </note>
@@ -2809,7 +2808,7 @@
 
           </variablelist>
 
-          <para>第二列高速一个文件或目录的属性的状态。</para>
+          <para>第二列告诉一个文件或目录的属性的状态。</para>
 
           <variablelist>
             
@@ -2925,7 +2924,7 @@
           <para>如果传递<option>--verbose</option>选项,最后提交的修订版本和最后的提交作者会在后面显示。
           </para>
           
-          <para>工作拷贝路径永远是最后一个阻断,所以它可以包括空格。</para>
+          <para>工作拷贝路径永远是最后一个字段,所以它可以包括空格。</para>
 
         </refsect1>
 
@@ -2972,7 +2971,7 @@
 A  +   wc/qax.c
 </screen>
 
-          <para>如果你希望找出工作拷贝那些文件是最新的,使用<option>--show-updates</option>选项(这不会对工作拷贝有任何修改)。这里你会看到<filename>wc/foo.c</filename>在上次更新后有了修改:</para>
+          <para>如果你希望找出工作拷贝哪些文件是最新的,使用<option>--show-updates</option>选项(这不会对工作拷贝有任何修改)。这里你会看到<filename>wc/foo.c</filename>在上次更新后有了修改:</para>
 
           <screen>
 $ svn status --show-updates wc
@@ -2989,8 +2988,7 @@
               </para>
           </note>
 
-          <para>And finally, the most information you can get out of
-            the status subcommand:</para>
+          <para>最后,是你能从status子命令得到的所有信息:</para>
 
           <screen>
 $ svn status --show-updates --verbose wc
@@ -3118,7 +3116,7 @@
             </para>
             
             <itemizedlist>
-              <listitem><para>I如果工作拷贝需要反映一个版本库的新目录,只需要使用<command>svn
+              <listitem><para>如果工作拷贝需要反映一个版本库的新目录,只需要使用<command>svn
                   switch</command>。
                   </para></listitem>
 
@@ -3155,35 +3153,35 @@
             <varlistentry>
               <term>A</term>
               <listitem>
-                <para>Added</para>
+                <para>添加</para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>D</term>
               <listitem>
-                <para>Deleted</para>
+                <para>删除</para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>U</term>
               <listitem>
-                <para>Updated</para>
+                <para>更新</para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>C</term>
               <listitem>
-                <para>Conflict</para>
+                <para>冲突</para>
               </listitem>
             </varlistentry>
 
             <varlistentry>
               <term>G</term>
               <listitem>
-                <para>Merged</para>
+                <para>合并</para>
               </listitem>
             </varlistentry>
 
@@ -3238,7 +3236,7 @@
 Updated to revision 32.
 </screen>
 
-          <para>你也可以将工作拷贝更新的旧的修订版本(Subversion没有CVS的<quote>sticky</quote>文件的概念;见<xref
+          <para>你也可以将工作拷贝更新到旧的修订版本(Subversion没有CVS的<quote>sticky</quote>文件的概念;见<xref
             linkend="svn-ap-a"/>):</para>
 
           <screen>
@@ -3338,7 +3336,7 @@
           <term><option>--parent-dir
           <replaceable>DIR</replaceable></option></term>
           <listitem>
-            <para>当加载一个导出文件,根路径为<replaceable>DIR</replaceable>而不是<filename>/</filename>。
+            <para>当加载一个转储文件时,根路径为<replaceable>DIR</replaceable>而不是<filename>/</filename>。
             </para>
           </listitem>
         </varlistentry>
@@ -3445,7 +3443,7 @@
       <refentry id="svn-ch-9-sect-2.2-re-dump">
         <refnamediv>
           <refname>svnadmin dump</refname>
-          <refpurpose>将文件系统的内容导出到标准输出。</refpurpose>
+          <refpurpose>将文件系统的内容转储到标准输出。</refpurpose>
         </refnamediv>
         <refsect1>
           <title>概要</title>
@@ -3454,10 +3452,10 @@
         <refsect1>
           <title>描述</title>
 
-          <para>使用<quote>dumpfile</quote>可携带格式将文件系统的内容导出到标准输出,将反馈发送到标准错误。导出的修订版本从<replaceable>LOWER</replaceable>到<replaceable>UPPER</replaceable>。如果没有提供修订版本,会导出所有的修订版本树,如果只提供<replaceable>LOWER</replaceable>,导出一个修订版本树,通常的用法见<xref linkend="svn-ch-5-sect-3.5"/>。
+          <para>使用<quote>dumpfile</quote>可移植格式将文件系统的内容转储到标准输出,将反馈发送到标准错误,导出的修订版本从<replaceable>LOWER</replaceable>到<replaceable>UPPER</replaceable>。如果没有提供修订版本,会导出所有的修订版本树,如果只提供<replaceable>LOWER</replaceable>,导出一个修订版本树,通常的用法见<xref linkend="svn-ch-5-sect-3.5"/>。
          </para>
 
-          <para>如果Subversion的导出文件的大小是非常重要的,你可以使用<option>--deltas</option>来减小<command>svnadmin</command>创建的导出文件的大小。通过这个选项,就不会写出每次修订版本的内容,<command>svnadmin dump</command>指挥写出版本之间的区别。然而,创建增量导出文件的坏处—对CPU的要求更高,<command>svndumpfilter</command>不可以对这个文件操作,而且非增量的导出文件可以更好的压缩。
+          <para>如果Subversion的转储文件很大,你可以使用<option>--deltas</option>来减小<command>svnadmin</command>创建的导出文件的大小。通过这个选项,就不会写出每次修订版本的内容,<command>svnadmin dump</command>只会写出版本之间的区别。然而,创建增量导出文件的坏处—对CPU的要求更高,<command>svndumpfilter</command>不可以对这个文件操作,而且非增量的转储文件可以更好的压缩。
           </para>
 
             </refsect1>
@@ -3475,7 +3473,7 @@
         <refsect1>
           <title>例子</title>
 
-          <para>导出整个版本库:</para>
+          <para>转储整个版本库:</para>
 
           <screen>
 $ svnadmin dump /usr/local/svn/repos
@@ -3487,7 +3485,7 @@
 …
 </screen>
 
-          <para>从版本库增量导出一个单独的事务:</para>
+          <para>从版本库增量转储一个单独的事务:</para>
 
           <screen>
 $ svnadmin dump /usr/local/svn/repos -r 21 --incremental 
@@ -3531,7 +3529,7 @@
       <refentry id="svn-ch-9-sect-2.2-re-hotcopy">
         <refnamediv>
           <refname>svnadmin hotcopy</refname>
-          <refpurpose>制作一个版本库的热拷贝。</refpurpose>
+          <refpurpose>制作一个版本库的热备份。</refpurpose>
         </refnamediv>
         <refsect1>
           <title>概要</title>
@@ -3541,7 +3539,7 @@
         <refsect1>
           <title>描述</title>
 
-          <para>这个子命令会制作一个版本库的完全<quote>热</quote>拷贝,包括所有的钩子,配置文件,当然还有数据库文件。如果你传递<option>--clean-logs</option>选项,<command>svnadmin</command>会执行热拷贝操作,然后删除不用的Berkeley DB日志文件。你可以在任何时候运行这个命令得到一个版本库的安全拷贝,不管其他进程是否使用这个版本库。
+          <para>这个子命令会制作一个版本库的完全<quote>热</quote>拷贝,包括所有的钩子,配置文件,当然还有数据库文件。如果你传递<option>--clean-logs</option>选项,<command>svnadmin</command>会执行热拷贝操作,然后删除不用的Berkeley DB日志文件。你可以在任何时候运行这个命令得到一个版本库的安全拷贝,不管其它进程是否使用这个版本库。
          </para>
 
         </refsect1>
@@ -3591,14 +3589,14 @@
           <title>描述</title>
 
           <para>
-          Berkeley DB创建了记录所有版本库修改的日志,允许我们在面对大灾难时恢复。除非你开启了<literal>DB_LOGS_AUTOREMOVE</literal>,否则日志文件会累积,尽管大多数是不再使用可以从磁盘删除得到空间。详情见<xref
+          Berkeley DB创建了记录所有版本库修改的日志,允许我们在面对大灾难时恢复。除非你开启了<literal>DB_LOGS_AUTOREMOVE</literal>,否则日志文件会累积,尽管大多数是不再使用,可以从磁盘删除得到空间。详情见<xref
             linkend="svn-ch-5-sect-3.3"/>。</para>
         </refsect1>
 
         <refsect1>
           <title>例子</title>
           
-          <para>Remove all unused log files from a repository:</para>
+          <para>删除所有不用的日志文件:</para>
 
         <screen>
 $ svnadmin list-unused-dblogs /path/to/repos
@@ -3616,7 +3614,7 @@
       <!-- ================================================================= -->
       <refentry id="svn-ch-9-sect-2.2-re-load">
         <refnamediv>
-          <refname>svnadmin load</refname> <refpurpose>从标准输出读取<quote>导出文件</quote>格式流。
+          <refname>svnadmin load</refname> <refpurpose>从标准输出读取<quote>转储文件</quote>格式流。
           </refpurpose>
         </refnamediv>
         <refsect1>
@@ -3626,7 +3624,7 @@
         <refsect1>
           <title>描述</title>
 
-          <para>从标准输出读取<quote>导出文件</quote>格式流,提交新的修订版本到版本库文件系统,发送进展反馈到标准输出。
+          <para>从标准输出读取<quote>转储文件</quote>格式流,提交新的修订版本到版本库文件系统,发送进展反馈到标准输出。
          </para>
         </refsect1>
 
@@ -3644,7 +3642,7 @@
         <refsect1>
           <title>例子</title>
 
-          <para>这里显示了从备份文件加载一个版本库(当然,使用<command>svnadmin
+          <para>这里显示了加载一个备份文件到版本库(当然,使用<command>svnadmin
             dump</command>):
             </para>
 
@@ -3725,7 +3723,7 @@
         <refsect1>
           <title>例子</title>
           
-          <para>Recover a hung repository:</para>
+          <para>恢复挂起的版本库:</para>
 
           <screen>
 $ svnadmin recover /usr/local/svn/repos/ 
@@ -3736,7 +3734,7 @@
 The latest repos revision is 34.
 </screen>
 
-          <para>恢复数据库需要一个版本库的独占锁,入股uo另一个进程访问版本库,<command>svnadmin recover</command>会出错:
+          <para>恢复数据库需要一个版本库的独占锁,如果另一个进程访问版本库,<command>svnadmin recover</command>会出错:
           </para>
           <screen>
 $ svnadmin recover /usr/local/svn/repos
@@ -3746,7 +3744,7 @@
 $
 </screen>
 
-          <para><option>--wait</option>选项可以导致<command>svnadmin recover</command>一直等待其他进程断开连接:
+          <para><option>--wait</option>选项可以导致<command>svnadmin recover</command>一直等待其它进程断开连接:
           </para>
 
           <screen>
@@ -3779,7 +3777,7 @@
         <refsect1>
           <title>描述</title>
 
-          <para>删除版本库突出的事物,更多细节在xref
+          <para>删除版本库突出的事物,更多细节在<xref
             linkend="svn-ch-5-sect-3.2"/>。
             </para>
         </refsect1>
@@ -3808,8 +3806,7 @@
 $ svnadmin rmtxns /usr/local/svn/repos/  `svnadmin lstxns /usr/local/svn/repos/`
 </screen>
 
-          <para>Which will remove all uncommitted transactions from
-            your repository.</para>
+          <para>从版本库删除所有未提交的事务。</para>
 
         </refsect1>
       </refentry>
@@ -3876,14 +3873,14 @@
         <refsect1>
           <title>描述</title>
 
-          <para>如果希望验证版本库的完整性可以运行这个命令,原理是通过在内部导出所有的修订版本并且丢掉输出遍历版本库的所有修订版本。
+          <para>如果希望验证版本库的完整性可以运行这个命令,原理是通过在内部转储遍历所有的修订版本并且丢掉输出。
          </para>
         </refsect1>
 
         <refsect1>
           <title>例子</title>
           
-          <para>验证挂起的版本库:</para>
+          <para>检验挂起的版本库:</para>
 
           <screen>
 $ svnadmin verify /usr/local/svn/repos/ 
@@ -3908,12 +3905,11 @@
 
     <para>因为<command>svnlook</command>通过直接版本库访问(因此只可以在保存版本库的机器上工作)工作,所以他通过版本库的路径访问,而不是URL。</para>
 
-    <para>如果没有指定修订版本或事物,
-    If no revision or transaction is specified,<command>svnlook</command>缺省的是版本库最年轻的(最新的)修订版本。
+    <para>如果没有指定修订版本或事物,<command>svnlook</command>缺省的是版本库最年轻的(最新的)修订版本。
     </para>
     
     <sect2 id="svn-ch-9-sect-3.1">
-      <title><command>svnlook</command> Switches</title>
+      <title><command>svnlook</command>选项</title>
       
       <para><command>svnlook</command>的选项是全局的,就像<command>svn</command>和<command>svnadmin</command>;然而,大多数选项只会应用到一个子命令,因为<command>svnlook</command>的功能是(有意的)限制在一定范围的。
      </para>
@@ -4060,7 +4056,7 @@
         <refsect1>
           <title>描述</title>
 
-          <para>打印在特定修订版本或事物的路径,也是在第一列使用<quote>svn
+          <para>打印在特定修订版本或事物修改的路径,也是在第一列使用<quote>svn
             update样式的</quote>状态字符:<literal>A</literal>表示添加,<literal>D</literal>表示删除,<literal>U</literal>表示更新(修改)。
            </para>
 
@@ -4244,7 +4240,7 @@
         <refsect1>
           <title>描述</title>
 
-          <para>显示svnlook的帮助信息,这个命令如同<command>svn help</command>的兄弟,也是你的朋友,即使你从不调用它,并且忘掉了邀请它加入你上一次聚会。
+          <para>显示svnlook的帮助信息,这个命令如同<command>svn help</command>的兄弟,也是你的朋友,即使你从不调用它,并且忘掉了邀请它加入你的上一次聚会。
           </para>
         </refsect1>
 
@@ -4543,7 +4539,7 @@
       <refentry id="svn-ch-9-sect-3.2-re-uuid">
         <refnamediv>
           <refname>svnlook uuid</refname>
-          <refpurpose>答应版本库的<literal>UUID</literal>。</refpurpose>
+          <refpurpose>打印版本库的<literal>UUID</literal>。</refpurpose>
         </refnamediv>
         <refsect1>
           <title>概要</title>
@@ -4607,10 +4603,10 @@
 
     <title><command>svnserve</command></title>
     
-    <para><command>svnserve</command>允许Subversion版本库使用<literal>svn</literal>网络协议,你可以作为独立服务器进程运行svnserve,或者是使用其他进程,如<command>inetd</command>、<command>xinetd</command>或<command>sshd</command>为你启动进程。
+    <para><command>svnserve</command>允许Subversion版本库使用<literal>svn</literal>网络协议,你可以作为独立服务器进程运行svnserve,或者是使用其它进程,如<command>inetd</command>、<command>xinetd</command>或<command>sshd</command>为你启动进程。
    </para>
 
-    <para>一旦客户端已经选择了一个版本库来传递它的URL,<command>svnserve</command>会读取版本库目录的<filename>conf/svnserve.conf</filename>文件,来检测版本库特定的设置,如使用哪个认证数据库来和应用怎样的授权策略。关于<filename>svnserve.conf</filename>文件的详情见<xref linkend="svn-ch-6-sect-3"/>。
+    <para>一旦客户端已经选择了一个版本库来传递它的URL,<command>svnserve</command>会读取版本库目录的<filename>conf/svnserve.conf</filename>文件,来检测版本库特定的设置,如使用哪个认证数据库和应用怎样的授权策略。关于<filename>svnserve.conf</filename>文件的详情见<xref linkend="svn-ch-6-sect-3"/>。
    </para>
     
     <sect2 id="svn-ch-9-sect-4.1">
@@ -4640,7 +4636,7 @@
         <varlistentry>
           <term><option>--listen-host</option>=<replaceable>HOST</replaceable></term>
           <listitem>
-            <para>导致<command>svnserve</command>监听<replaceable>HOST</replaceable>,可能是一个主机名或是一个IP地址。
+            <para><command>svnserve</command>监听的<replaceable>HOST</replaceable>,可能是一个主机名或是一个IP地址。
            </para>
           </listitem>
         </varlistentry>
@@ -4656,7 +4652,7 @@
         <varlistentry>
           <term><option>--inetd</option> (<option>-i</option>)</term>
           <listitem>
-            <para>导致<command>svnserve</command>使用标准输出/标准输入文件描述符,更准确的是作为<command>inetd</command>的守护进程***。
+            <para>导致<command>svnserve</command>使用标准输出/标准输入文件描述符,更准确的是使用<command>inetd</command>作为守护进程。
            </para>
           </listitem>
         </varlistentry>
@@ -4664,7 +4660,7 @@
         <varlistentry>
           <term><option>--help</option> (<option>-h</option>)</term>
           <listitem>
-            <para>显示有用的概要和选则。</para>
+            <para>显示有用的摘要和选项。</para>
           </listitem>
         </varlistentry>
 
@@ -4712,7 +4708,7 @@
         <varlistentry>
           <term><option>--listen-once</option> (<option>-X</option>)</term>
           <listitem>
-            <para>导致<command>svnserve</command>在svn端口接受一个连接,维护它并且推出。这个选项主要用来调试。
+            <para>导致<command>svnserve</command>在svn端口接受一个连接,维护完成它退出。这个选项主要用来调试。
            </para>
           </listitem>
         </varlistentry>
@@ -4777,7 +4773,7 @@
           <varlistentry>
             <term><option>--help</option> (<option>-h</option>)</term>
             <listitem>
-              <para>打印帮助总结。</para>
+              <para>打印帮助摘要。</para>
             </listitem>
           </varlistentry>
     
@@ -4795,13 +4791,13 @@
       <refsect1 id="svn-ch-9-sect-5.1.4">
         <title>例子</title>
 
-        <para>如果工作拷贝都一样的修订版本(例如,在更新后那一刻),然后会打印修订版本:
+        <para>如果工作拷贝都是一样的修订版本(例如,在更新后那一刻),会打印修订版本:
         </para>
 
         <screen>$ svnversion .
 4168</screen>
 
-        <para>添加TRAIL_URL来展示工作拷贝不是从你希望的地方跳转过来:</para>
+        <para>添加TRAIL_URL来展示工作拷贝不是从你希望的地方跳转过来的:</para>
 
         <screen>$ svnversion . /repos/svn/trunk
 4168</screen>

Modified: trunk/src/zh/book/glossary.xml
==============================================================================
--- trunk/src/zh/book/glossary.xml	(original)
+++ trunk/src/zh/book/glossary.xml	Thu Nov 24 05:12:10 2005
@@ -144,7 +144,7 @@
 
     <glossentry>
       <glossterm>unified diff
-        format(统一区别格式)</glossterm>
+        format(标准区别格式)</glossterm>
 
       <glossdef>
         <para>标示文件区别的一种格式。</para>




More information about the svnbook-dev mailing list