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

rocksun svnbook-dev at red-bean.com
Tue Nov 8 12:13:37 CST 2005


Author: rocksun
Date: Tue Nov  8 12:13:35 2005
New Revision: 1814

Modified:
   trunk/src/zh/book/ch05.xml
Log:
* zh/book/ch05.xml: change 修订版  to 修订版本


Modified: trunk/src/zh/book/ch05.xml
==============================================================================
--- trunk/src/zh/book/ch05.xml	(original)
+++ trunk/src/zh/book/ch05.xml	Tue Nov  8 12:13:35 2005
@@ -30,13 +30,13 @@
 
       <para>从概念上来说,Subversion的版本库就是一串目录树。每一个目录树,就是版本库的文件和目录在某一时刻的快照。这些快照是客户端使用者操作的结果,叫做修订版本。</para>
 
-      <para>每一个修订版本都是以事务树开始其生命周期。做提交操作时,客户端建立了一个映射本地修改的Subversion事务(加上客户端提交操作后任何对版本库的更改),然后指导版本库将该树存储为下一个快照。要是提交成功,这个事务就会成为新的修订版树,并被赋予新的修订版号。如果因为某些原因提交失败,事务会被销毁,客户端将被通知这个事务失败。</para>
+      <para>每一个修订版本都是以事务树开始其生命周期。做提交操作时,客户端建立了一个映射本地修改的Subversion事务(加上客户端提交操作后任何对版本库的更改),然后指导版本库将该树存储为下一个快照。要是提交成功,这个事务就会成为新的修订版本树,并被赋予新的修订版本号。如果因为某些原因提交失败,事务会被销毁,客户端将被通知这个事务失败。</para>
 
-      <para>更新的动作也类似这样。客户端建立一个临时的事务树,映射工作文件的状态。然后版本库比较事务树和被请求的修订版树(通常是最新的,也就是最“年轻”的修订版树),然后发回消息通知客户端哪些变更需要将拷贝发送到修订版树。更新完成后,临时事务将被删除。</para>
+      <para>更新的动作也类似这样。客户端建立一个临时的事务树,映射工作文件的状态。然后版本库比较事务树和被请求的修订版本树(通常是最新的,也就是最“年轻”的修订版本树),然后发回消息通知客户端哪些变更需要将拷贝发送到修订版本树。更新完成后,临时事务将被删除。</para>
 
-      <para>事务树的使用,是对版本库中版本控制文件系统产生永久变更的唯一方法。一个事务的生命周期非常灵活,了解这一点很重要。在更新的情况下,事务只是马上会被销毁的临时树。在提交的情况下,事务会变成固定的修订版(如果失败的情况下,则会被删除)。在出现错误或臭虫的情况下,事务可能会被留在版本库中(不会影响任何东西,但是会占据空间)。</para>
+      <para>事务树的使用,是对版本库中版本控制文件系统产生永久变更的唯一方法。一个事务的生命周期非常灵活,了解这一点很重要。在更新的情况下,事务只是马上会被销毁的临时树。在提交的情况下,事务会变成固定的修订版本(如果失败的情况下,则会被删除)。在出现错误或臭虫的情况下,事务可能会被留在版本库中(不会影响任何东西,但是会占据空间)。</para>
 
-      <para>理论上,某天整个流程能够发展到对事务的流程控制更加细密。可以想象一个系统,在客户端完成操作,将要保存到版本库中时,每个加到它的事务都变成一个修订版。这将会使每一个新的提交都可以被别人查看到,也许是主管,也许是质量保证小组,他们可以决定是要接收这个事务成为修订版,还是放弃它。</para>
+      <para>理论上,某天整个流程能够发展到对事务的流程控制更加细密。可以想象一个系统,在客户端完成操作,将要保存到版本库中时,每个加到它的事务都变成一个修订版本。这将会使每一个新的提交都可以被别人查看到,也许是主管,也许是质量保证小组,他们可以决定是要接收这个事务成为修订版本,还是放弃它。</para>
     </sect2>
 
     <!-- ***************************************************************** -->
@@ -44,11 +44,11 @@
     <sect2 id="svn-ch-5-sect-1.2">
       <title>未受版本控制的属性</title>
 
-      <para>事务和修订版在Subversion版本库中可以附加属性。这些属性通常是属性名和属性值的映射,被用来存储与对应档案树有关的信息。这些属性名和属性值跟你的其他数据一样,被存储在版本库文件系统中。</para>
+      <para>事务和修订版本在Subversion版本库中可以附加属性。这些属性通常是属性名和属性值的映射,被用来存储与对应档案树有关的信息。这些属性名和属性值跟你的其他数据一样,被存储在版本库文件系统中。</para>
 
-      <para>修订版和事务的属性对于跟一个资料树相关,但不是完全与这些目录和文件相关的性质很有用-即并不被客户端工作拷贝所管理的属性。举例来说,当一个新的提交事务在版本库中被创建时,Subversion给这个事务添加一个叫做<literal>svn:date</literal>的属性—一个表示事务何时被创建的时间戳。当提交进程结束,该事务成为一个固定的版本,这个档案树被赋予一个用来存储这个版本作者的用户名属性(<literal>svn:author</literal>)和一个用来存储与这个修订版关联的日志信息的属性(<literal>svn:log</literal>)。</para>
+      <para>修订版本和事务的属性对于跟一个资料树相关,但不是完全与这些目录和文件相关的性质很有用-即并不被客户端工作拷贝所管理的属性。举例来说,当一个新的提交事务在版本库中被创建时,Subversion给这个事务添加一个叫做<literal>svn:date</literal>的属性—一个表示事务何时被创建的时间戳。当提交进程结束,该事务成为一个固定的版本,这个档案树被赋予一个用来存储这个版本作者的用户名属性(<literal>svn:author</literal>)和一个用来存储与这个修订版本关联的日志信息的属性(<literal>svn:log</literal>)。</para>
 
-      <para>修订版和事务的属性都是未受版本控制的-因为当它们被修改时,先前的值就被完全舍弃了。修订版树自身是不能变更的,与之关联的属性可以修改。你可在日后添加、删除、修改修订版的属性。如果你提交一个新的修订版之后意识到遗漏了一些信息或在日志中有拼写错误,你可以直接以正确的信息覆盖<literal>svn:log</literal>的值。</para>
+      <para>修订版本和事务的属性都是未受版本控制的-因为当它们被修改时,先前的值就被完全舍弃了。修订版本树自身是不能变更的,与之关联的属性可以修改。你可在日后添加、删除、修改修订版本的属性。如果你提交一个新的修订版本之后意识到遗漏了一些信息或在日志中有拼写错误,你可以直接以正确的信息覆盖<literal>svn:log</literal>的值。</para>
     </sect2>
 
     <!-- ***************************************************************** -->
@@ -58,7 +58,7 @@
 
       <para>在Subversion1.1中,有两种方式在版本库中存储数据。一种是在BerkeleyDB数据库中存储数据;另一种是使用通常的格式,在文件中存储。因为Subversion的开发者称版本库为“版本化的文件系统”,他们接受了称后一种存储方式为FSFS,即使用本地操作系统文件系统来存储数据的版本化文件系统的习惯。</para>
 
-      <para>建立一个版本库时,管理员必须决定使用BerkeleyDB还是FSFS。他们各有优缺点,我们将描述一下。它们任何一个都不比另一个更正式,访问版本库的程序与采用哪一种实现方式无关。访问程序并不知道版本库如何存储数据,它们只是从版本库的API读取到修订版和事务树。</para>
+      <para>建立一个版本库时,管理员必须决定使用BerkeleyDB还是FSFS。他们各有优缺点,我们将描述一下。它们任何一个都不比另一个更正式,访问版本库的程序与采用哪一种实现方式无关。访问程序并不知道版本库如何存储数据,它们只是从版本库的API读取到修订版本和事务树。</para>
 
       <para>下面的表从总体上比较了 Berkeley DB 和 FSFS 版本库。下一部分将会详细讲述细节。</para>
 
@@ -118,7 +118,7 @@
             </row>
 
             <row>
-              <entry>可量测性: 修订版树数量限制</entry>
+              <entry>可量测性: 修订版本树数量限制</entry>
 
               <entry>数据库; 没有限制</entry>
 
@@ -194,9 +194,9 @@
       <sect3 id="svn-ch-5-sect-1.3.2">
         <title>FSFS</title>
 
-        <para>在2004年中期,另一种版本库存储系统慢慢形成了:一种不需要数据库的存储系统。FSFS版本库在一个文件中存储修订版树,所以版本库中所有的修订版都在一个子文件夹中有限的几个文件里。事务在单独的子目录中被创建,创建完成后,一个单独的事务文件被创建并移动到修订版目录,这保证提交是原子性的。因为一个修订版文件是持久不可改变的,版本库也可以做到热备份,就象BerkeleyDB版本库一样。</para>
+        <para>在2004年中期,另一种版本库存储系统慢慢形成了:一种不需要数据库的存储系统。FSFS版本库在一个文件中存储修订版本树,所以版本库中所有的修订版本都在一个子文件夹中有限的几个文件里。事务在单独的子目录中被创建,创建完成后,一个单独的事务文件被创建并移动到修订版本目录,这保证提交是原子性的。因为一个修订版本文件是持久不可改变的,版本库也可以做到热备份,就象BerkeleyDB版本库一样。</para>
 
-        <para>修订版文件格式代表了一个修订版的目录结构,文件内容,和其他修订版树中相关信息。不像BerkeleyDB数据库,这种存储格式可跨平台并且与CPU架构无关。因为没有日志或用到共享内存的文件,数据库能被网络文件系统安全的</para>
+        <para>修订版本文件格式代表了一个修订版本的目录结构,文件内容,和其他修订版本树中相关信息。不像BerkeleyDB数据库,这种存储格式可跨平台并且与CPU架构无关。因为没有日志或用到共享内存的文件,数据库能被网络文件系统安全的</para>
 
         <para>访问和检查只读环境。缺少数据库花消同时也意味着版本库的总体体积可以稍小一点。</para>
 
@@ -240,7 +240,7 @@
 $ svnadmin create /path/to/repos
 </screen>
 
-    <para>这个命令在目录<filename>/path/to/repos</filename>创建了一个新的版本库。这个新的版本库会以修订版版本0开始其生命周期,里面除了最上层的根目录(<filename>/</filename>),什么都没有。刚开始,修订版0有一个修订版</para>
+    <para>这个命令在目录<filename>/path/to/repos</filename>创建了一个新的版本库。这个新的版本库会以修订版本版本0开始其生命周期,里面除了最上层的根目录(<filename>/</filename>),什么都没有。刚开始,修订版本0有一个修订版本</para>
 
     <para>属性<literal>svn:date</literal>,被设置为版本库创建的时间。</para>
 
@@ -297,7 +297,7 @@
         <term>db</term>
 
         <listitem>
-          <para>你所有的受版本控制数据的所在之处。这个目录或者是个Berkeley DB环境(满是数据表和其他东西)或者是一个包含修订版文件的FSFS环境。</para>
+          <para>你所有的受版本控制数据的所在之处。这个目录或者是个Berkeley DB环境(满是数据表和其他东西)或者是一个包含修订版本文件的FSFS环境。</para>
         </listitem>
       </varlistentry>
 
@@ -508,7 +508,7 @@
       <sect3 id="svn-ch-5-sect-3.1.1">
         <title>svnlook</title>
 
-        <para><command>svnlook</command>是Subversion提供的用来查看版本库中不同的修订版和事务。这个程序不会修改版本库内容-这是个“只读”的工具。<command>svnlook</command>通常用在版本库挂钩程序中,用来记录版本库即将提交的变更(<command>用在pre-commit挂钩时)</command>或者已经提交的(用在<command>post-commit</command>挂钩时)。版本库管理员可以将这个工具用于诊断。</para>
+        <para><command>svnlook</command>是Subversion提供的用来查看版本库中不同的修订版本和事务。这个程序不会修改版本库内容-这是个“只读”的工具。<command>svnlook</command>通常用在版本库挂钩程序中,用来记录版本库即将提交的变更(<command>用在pre-commit挂钩时)</command>或者已经提交的(用在<command>post-commit</command>挂钩时)。版本库管理员可以将这个工具用于诊断。</para>
 
         <para><command>svnlook</command> 的语法很直接:</para>
 
@@ -522,16 +522,16 @@
 …
 </screen>
 
-        <para>几乎<command>svnlook</command>的每一个子命令都能操作修订版或事务树,显示资料树的信息,或是它与版本库中上一个修订版的不同。你可以用<option>--revision</option> 和 <option>--transaction</option>选项指定要查看的修订版或事务。注意,虽然修订版号看起来像自然数,但是事务名称是包含英文字母与数字的字符串。请记住文件系统只允许浏览未提交的事务(还没有形成一个新的修订版的事务)。多数版本库没有这种事务,因为事务通常或者被提交了(这样便不能被查看),或者被中止然后删除。</para>
+        <para>几乎<command>svnlook</command>的每一个子命令都能操作修订版本或事务树,显示资料树的信息,或是它与版本库中上一个修订版本的不同。你可以用<option>--revision</option> 和 <option>--transaction</option>选项指定要查看的修订版本或事务。注意,虽然修订版本号看起来像自然数,但是事务名称是包含英文字母与数字的字符串。请记住文件系统只允许浏览未提交的事务(还没有形成一个新的修订版本的事务)。多数版本库没有这种事务,因为事务通常或者被提交了(这样便不能被查看),或者被中止然后删除。</para>
 
-        <para>如果没有<option>--revision</option>和<option>--transaction</option>选项,<command>svnlook</command>会查看版本库中最年轻的修订版(或“HEAD”)。所以下边的两个命令执行结果完全相同,当位于<filename>/path/to/repos</filename>的版本库中,19是最年轻的修订版的时候:</para>
+        <para>如果没有<option>--revision</option>和<option>--transaction</option>选项,<command>svnlook</command>会查看版本库中最年轻的修订版本(或“HEAD”)。所以下边的两个命令执行结果完全相同,当位于<filename>/path/to/repos</filename>的版本库中,19是最年轻的修订版本的时候:</para>
 
         <screen>
 $ svnlook info /path/to/repos
 $ svnlook info /path/to/repos --revision 19
 </screen>
 
-        <para>这些子命令的唯一例外,是<command>svnlook youngest</command>命令,它不需要选项,只会显示出<literal>HEAD</literal>修订版号。</para>
+        <para>这些子命令的唯一例外,是<command>svnlook youngest</command>命令,它不需要选项,只会显示出<literal>HEAD</literal>修订版本号。</para>
 
         <screen>
 $ svnlook youngest /path/to/repos
@@ -571,9 +571,9 @@
 
         <para>这种输出是人可阅读的,像是时间戳这种有意义的条目,使用文本表示,而不是其他比较晦涩的方式。这种输出也是机器可读的-因为日志信息可以有多行,没有长度的限制,<command>svnlook</command>在日志消息之前提供了消息的长度。这使得脚本或者其他对这个命令进行的封装提供了更强的功能,比如日志消息使用了多少内存,或在这个输出成为最后一个字节之前应该忽略多少字节。</para>
 
-        <para>另一个<command>svnlook</command>常见的用法是查看修订版树或事务树的内容。
+        <para>另一个<command>svnlook</command>常见的用法是查看修订版本树或事务树的内容。
         <command>svnlook tree</command> 命令显示在请求的树中的目录和文件。如果你提供了
-        <option>--show-ids</option> 选项,它还会显示每个路径的文件系统节点修订版ID(这一点对开发者往往很有用)。</para>
+        <option>--show-ids</option> 选项,它还会显示每个路径的文件系统节点修订版本ID(这一点对开发者往往很有用)。</para>
 
         <screen>
 $ svnlook tree /path/to/repos --show-ids
@@ -603,7 +603,7 @@
         <para>如果你看过树中目录和文件的布局,你可以使用<command>svnlook cat</command>,<command>svnlook propget</command>, 和 <command>svnlook  proplist</command> 命令来查看这些目录和文件的细节。</para>
 
         <para><command>svnlook</command>
-        还可以做很多别的查询,显示我们先前提到的信息的一些子集,报告指定的修订版或事务中哪些路径曾经被修改过,显示对文件和目录做过的文本和属性的修改,等等。下面是<command>svnlook</command>命令能接受的子命令的介绍,以及这些子命令的输出:</para>
+        还可以做很多别的查询,显示我们先前提到的信息的一些子集,报告指定的修订版本或事务中哪些路径曾经被修改过,显示对文件和目录做过的文本和属性的修改,等等。下面是<command>svnlook</command>命令能接受的子命令的介绍,以及这些子命令的输出:</para>
 
         <variablelist>
           <varlistentry>
@@ -742,7 +742,7 @@
             </term>
 
             <listitem>
-              <para>显示最年轻的修订版号。</para>
+              <para>显示最年轻的修订版本号。</para>
             </listitem>
           </varlistentry>
         </variablelist>
@@ -785,7 +785,7 @@
             </term>
 
             <listitem>
-              <para>在指定的修订版范围内,对其中修改过的路径做deltification操作。如果没有指定修订版,这条命令会修改HEAD修订版。</para>
+              <para>在指定的修订版本范围内,对其中修改过的路径做deltification操作。如果没有指定修订版本,这条命令会修改HEAD修订版本。</para>
             </listitem>
           </varlistentry>
 



More information about the svnbook-dev mailing list