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

leasun noreply at red-bean.com
Thu Sep 28 09:27:03 CDT 2006


Author: leasun
Date: Thu Sep 28 09:27:02 2006
New Revision: 2450

Modified:
   trunk/src/zh/book/ch01.xml

Log:
* zh/book/ch01.xml: remark, finish Subversion's Architecture.

Modified: trunk/src/zh/book/ch01.xml
==============================================================================
--- trunk/src/zh/book/ch01.xml	(original)
+++ trunk/src/zh/book/ch01.xml	Thu Sep 28 09:27:02 2006
@@ -42,8 +42,7 @@
 
     <para>经过14个月的编码,2001年8月31日,Subversion能够<quote>自己管理自己</quote>了,开发者停止使用CVS保存Subversion的代码,而使用Subversion本身。</para>
 
-    <para>
-    当CollabNet启动了这个项目,并且一直提供了大量的工作支持(它为一些全职的Subversion开发者提供薪水),Subversion像其它许多开源项目一样,被松散的、透明的规则管理着,这样的规则激励着知识界的精英们。CollabNet的版权许可证完全符合Debian的自由软件方针。也就是说,任何人都可以根据自己的意愿自由的下载、修改和重新发布Subversion,不需要CollabNet或其他人的授权。</para>
+    <para>当CollabNet启动了这个项目,并且一直提供了大量的工作支持(它为一些全职的Subversion开发者提供薪水),Subversion像其它许多开源项目一样,被松散的、透明的规则管理着,这样的规则激励着知识界的精英们。CollabNet的版权许可证完全符合Debian的自由软件方针。也就是说,任何人都可以根据自己的意愿自由的下载、修改和重新发布Subversion,不需要CollabNet或其他人的授权。</para>
 
   </sect1>
 
@@ -53,66 +52,57 @@
 
     <title>Subversion的特性</title>
 
-    <para>
-    当讨论Subversion为版本控制领域带来的特性的时候,通过学习它在CVS基础上所作的改进会是比较有效的方法。如果你不熟悉CVS,你会不太明白所有的特性,如果你根本就不熟悉版本控制,你会瞪着眼无所适从,你最好首先阅读一下<xref
-      linkend="svn.basic"/>,它提供了一个版本控制的简单介绍。</para>
+    <para>Subversion将很多新特性引入版本控制领域。在讲解这些特性时,我们会经常性的与CVS进行对比,以说明Subversion比CVS高明在哪里。如果不熟悉CVS,了解所有Subversion的特性会有一定的困难。而如果根本就不熟悉版本控制,你就只有干瞪眼的份儿了。因此,最好首先阅读一下<xref linkend="svn.basic"/>,这一章简单介绍了一些版本控制的基本思想和概念。</para>
 
-    <para>Subversion提供:</para>
+    <para>Subversion支持:</para>
 
     <variablelist>
       <varlistentry>
         <term>版本化的目录</term>
         <listitem>
-          <para>
-          CVS只记录单个文件的历史,但是Subversion实现了一个可以跟踪目录树更改的<quote>虚拟</quote>版本化文件系统,文件<emphasis>和</emphasis>目录都是有版本的。</para>
+          <para>CVS只能跟踪单个文件的变更历史,但是Subversion实现的<quote>虚拟</quote>版本化文件系统则可以跟踪目录树的变更。在Subversion中,文件<emphasis>和</emphasis>目录都是版本化的。</para>
         </listitem>
       </varlistentry>
 
       <varlistentry>
         <term>真实的版本历史</term>
         <listitem>
-          <para>
-          因为CVS只记录单个文件的版本,对于拷贝和改名—这些文件经常发生的操作,会改变一个目录的内容—在CVS中并不支持。在CVS里你也不可以用一个完全不同的文件覆盖原来的同名文件而又不继承原来文件的历史。通过Subversion,你可以对文件或是目录进行增加、拷贝和改名操作,也可以新增一个具有干净历史的文件。</para>
+          <para>由于只能跟踪单个文件的变更,CVS无法支持如文件拷贝和改名这些常见的操作—这些操作改变了目录的内容。同样,在CVS中,目录下的文件只要名字相同即拥有相同的历史,即使这些同名文件在历史上毫无关系。而在Subversion中,可以对文件或目录进行增加、拷贝和改名操作,也解决了同名而无关的文件之间的历史联系问题。</para>
         </listitem>
       </varlistentry>
 
       <varlistentry>
         <term>原子提交</term>
         <listitem>
-          <para>
-          一系列的改动,要么全部提交到版本库,要么一个也不提交,这样可以让用户构建一个所要提交修改的逻辑块,防止部分修改提交到版本库。</para>
+          <para>一系列相关的更改,要么全部提交到版本库,要么一个也不提交。这样用户就可以将相关的更改组成一个逻辑整体,防止出现部分修改而另一部分未修改的情况提交到版本库中。</para>
         </listitem>
       </varlistentry>
 
       <varlistentry>
         <term>版本化的元数据</term>
         <listitem>
-          <para>
-          每一个文件或目录都有一套属性—键和它们的值,你可以建立并存储任何键/值对,属性也是随时间的流逝而纳入版本控制的,很像文件的内容。</para>
+          <para>每一个文件和目录都有自己的一组属性—键和它们的值。可以根据需要建立并存储任何键/值对。和文件本身的内容一样,属性也在版本控制之下。</para>
         </listitem>
       </varlistentry>
 
       <varlistentry>
         <term>可选的网络层</term>
         <listitem>
-          <para>
-          Subversion在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion可以作为一个扩展模块与Apache结合,这给了Subversion在稳定性和交互性方面很大的好处,可以直接使用服务器的特性—认证、授权和传输压缩等等。也有一个轻型的,单独运行的Subversion服务,这个服务使用自己的协议可以轻松的用SSH封装。</para>
+          <para>Subversion在版本库访问的实现上具有较高的抽象程度,利于人们实现新的网络访问机制。Subversion可以作为一个扩展模块嵌入到Apache之中。这种方式在稳定性和交互性方面有很大的优势,可以直接使用服务器的成熟技术—认证、授权和传输压缩等等。此外,Subversion自身也实现了一个轻型的,可独立运行的服务器软件。这个服务器使用了一个特定的协议,这个协议可以轻松的用SSH封装。</para>
         </listitem>
       </varlistentry>
 
       <varlistentry>
         <term>一致的数据操作</term>
         <listitem>
-          <para>
-          Subversion表示文件是建立在二进制文件区别算法基础上的,对于文本(可读)和二进制(不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,区别信息是在网络上双向传递的。</para>
+          <para>Subversion用一个二进制差异算法描述文件的变化,对于文本(可读)和二进制(不可读)文件其操作方式是一致的。这两种类型的文件压缩存储在版本库中,而差异信息则在网络上双向传递。</para>
         </listitem>
       </varlistentry>
 
       <varlistentry>
-        <term>有效率的分支和标签</term>
+        <term>高效的分支和标签操作</term>
         <listitem>
-          <para>
-          分支与标签的代价不与工程的大小成比例,Subversion建立分支与标签时只是拷贝整个工程,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时间。
+          <para>在Subversion中,分支与标签操作的开销与工程的大小无关。Subversion的分支和标签操作用只是一种类似于硬链接的机制拷贝整个工程。因而这些操作通常只会花费很少且相对固定的时间。
           </para>
         </listitem>
       </varlistentry>
@@ -120,8 +110,7 @@
       <varlistentry>
         <term>可修改性</term>
         <listitem>
-          <para>
-          Subversion没有历史负担,它由一系列良好的共享C库实现,具有定义良好的API,这使得Subversion非常容易维护,可以轻易的用其他语言操作。</para>
+          <para>Subversion没有历史负担,它以一系列优质的共享C程序库的方式实现,具有定义良好的API。这使得Subversion非常容易维护,和其它语言的互操作性很强。</para>
         </listitem>
       </varlistentry>
 
@@ -135,15 +124,14 @@
 
     <title>Subversion的架构</title>
 
-    <para><xref linkend="svn.intro.architecture.dia-1"/>从高处<quote>俯视</quote>Subersion的设计。</para>
+    <para><xref linkend="svn.intro.architecture.dia-1"/>给出了Subversion设计总体上的<quote>俯视图</quote>。</para>
     
     <figure id="svn.intro.architecture.dia-1">
       <title>Subversion的架构</title>
       <graphic fileref="images/ch01dia1.png"/>
     </figure>
 
-    <para>
-    一端是保存你所有纳入版本控制的数据的Subversion版本库,在另一端是你的Subvesion客户端程序,管理着所有纳入版本控制数据的本地影射(叫做<quote>工作拷贝</quote>),在这两极之间是各种各样的版本库访问(RA)层,一些使用电脑网络通过网络服务器访问版本库,一些则绕过网络服务器直接访问版本库。</para>
+    <para>图中的一端是保存所有在版本控制下数据的Subversion版本库,另一端是Subvesion的客户端程序,管理着所有在版本控制下数据的本地影射(称为<quote>工作拷贝</quote>),在这两极之间是各种各样的版本库访问(RA)层,某些使用电脑网络通过网络服务器访问版本库,某些则绕过网络服务器直接访问版本库。</para>
 
   </sect1>
 




More information about the svnbook-dev mailing list