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

rocksun noreply at red-bean.com
Wed Sep 27 01:01:55 CDT 2006


Author: rocksun
Date: Wed Sep 27 01:01:55 2006
New Revision: 2445

Modified:
   trunk/src/zh/book/appa.xml
   trunk/src/zh/book/appb.xml
   trunk/src/zh/book/ch09.xml

Log:
Complete ship from En1.2
* appa.xml: need translate
* appb.xml: need translate
* ch09.xml: need translate

Modified: trunk/src/zh/book/appa.xml
==============================================================================
--- trunk/src/zh/book/appa.xml	(original)
+++ trunk/src/zh/book/appa.xml	Wed Sep 27 01:01:55 2006
@@ -138,46 +138,57 @@
     <para>对于Subversion,我们通过修改<command>svn status</command>的输出使之同时满足阅读和解析的需要来努力消除这种混乱,同样,<command>svn update</command>只会打印将要更新的文件信息,而<emphasis>不是</emphasis>本地修改。
     </para>
 
+  <sect2 id="svn.forcvs.status-vs-update.status">
+    <title>Status</title>
     <para><command>svn status</command>打印所有本地修改的文件,缺省情况下,不会联系版本库,然而这个命令接受一些选项,如下是一些最常用的:
     </para>
 
-    <variablelist>
-      <varlistentry>
-        <term><option>-u</option></term>
-        <listitem>
-          <para>联系版本库来确定,然后显示,过时的信息。
-          </para>
-        </listitem>
-      </varlistentry>
-      
-      <varlistentry>
-        <term><option>-v</option></term>
-        <listitem>
-          <para>显示<emphasis>所有</emphasis>版本控制之下的条目。</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option>-N</option></term>
-        <listitem>
-          <para>非递归运行(不传递到子目录)。</para>
-        </listitem>
-      </varlistentry>
-    </variablelist>
+   <para><command>svn status</command> prints all files that have
+        local modifications.  By default, the repository is not
+        contacted.  While this subcommand accepts a fair number of
+        options, the following are the most commonly used ones:</para>
+
+      <variablelist>
+        <varlistentry>
+          <term><option>-u</option></term>
+          <listitem>
+            <para>Contact the repository to determine, and then display,
+              out-of-dateness information.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>-v</option></term>
+          <listitem>
+            <para>Show <emphasis>all</emphasis> entries under
+              version control.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term><option>-N</option></term>
+          <listitem>
+            <para>Run non-recursively (do not descend into
+              subdirectories).</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+
+      <para>The <command>status</command> command has two output
+        formats.  In the default <quote>short</quote> format, local
+        modifications look like this:</para>
 
-    <para><command>status</command>命令有两种输出格式,缺省是<quote>简短</quote>格式,本地修改看起来是这样:
-    </para>
-
-    <screen>
+      <screen>
 $ svn status
 M      foo.c
 M      bar/baz.c
 </screen>
 
-    <para>如果你指定<option>--show-updates</option>(<option>-u</option>),输出会使用比较长的格式:
-    </para>
+      <para>If you specify the <option>--show-updates</option>
+        (<option>-u</option>) switch, a longer output format is
+        used:</para>
 
-    <screen>
+      <screen>
 $ svn status -u
 M            1047   foo.c
        *     1045   faces.html
@@ -186,40 +197,61 @@
 Status against revision:   1066
 </screen>
 
-    <para>在这个例子里,有两个新列,如果文件或目录已经过期了,第二列会显示星号。第三列显示工作拷贝项目的修订版本号,在上面的例子里,星号表示<filename>faces.html</filename>会在更新时更新,而<filename>bloo.png</filename>是在版本库新加的文件。(<filename>bloo.png</filename>前面的空格表示它不曾存在于工作拷贝。)
-    </para>
-
-    <!-- ###TODO describe -v here as well as -uv. -u and -v use
-         different <quote>long</quote> formats and need to be
-         documented separately. Moreover, as you can combine -u and
-         -v, it needs to be explained what each of them does. As -u is
-         much more important than -v, and the example following that
-         paragraph *is* about -u, not -v, my patch concentrated on
-         that. -->
-
-    <para>最后,你会想看一个常见状态码的快速总结:</para>
-
-    <screen>
-A    资源预定要添加
-D    资源预定要删除
-M    资源有本地修改
-C    资源发生冲突(修改不能完全在版本库和
-     工作拷贝之间合并)
-X    资源在工作拷贝之外(来自其他版本库,
-     见<xref linkend="svn.advanced.props.special.externals" />)
-?    资源不在版本控制之下
-!    资源丢失或者不完整(被Subversion以外的工具删除)
+      <para>In this case, two new columns appear.  The second column
+        contains an asterisk if the file or directory is out-of-date.
+        The third column shows the working-copy's revision number of the
+        item.  In the example above, the asterisk indicates that
+        <filename>faces.html</filename> would be patched if we updated,
+        and that <filename>bloo.png</filename> is a newly added file in
+        the repository.  (The absence of any revision number next to
+        <filename>bloo.png</filename> means that it doesn't yet exist in
+        the working copy.)</para>
+
+      <!-- ###TODO describe -v here as well as -uv. -u and -v use
+           different <quote>long</quote> formats and need to be
+           documented separately.  Moreover, as you can combine -u and
+           -v, it needs to be explained what each of them does.  As -u is
+           much more important than -v, and the example following that
+           paragraph *is* about -u, not -v, my patch concentrated on
+           that. -->
+
+      <para>Lastly, here's a quick summary of the most common status codes that
+        you may see:</para>
+
+      <screen>
+A    Resource is scheduled for Addition
+D    Resource is scheduled for Deletion
+M    Resource has local Modifications
+C    Resource has Conflicts (changes have not been completely merged
+       between the repository and working copy version)
+X    Resource is eXternal to this working copy (may come from another
+       repository).  See <xref linkend="svn.advanced.props.special.externals" />
+?    Resource is not under version control
+!    Resource is missing or incomplete (removed by another tool than
+       Subversion)
 </screen>
 
-    <!-- ###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>,当一个合并或冲突发生,Subversion只会简单得打印<literal>G</literal>或<literal>C</literal>,而不是一段完整的描述语句。
-    </para>
+      <para>For a more detailed discussion of <command>svn
+        status</command>, see <xref linkend="svn.tour.cycle.examine.status" />.</para>
 
-    <para>关于<command>svn
-      status</command>的详细讨论见<xref linkend="svn.tour.cycle.examine.status" />。
-    </para>
+    </sect2>
+
+    <sect2 id="svn.forcvs.status-vs-update.update">
+      <title>Update</title>
+
+      <para><command>svn update</command> updates your working copy,
+        and only prints information about files that it updates.</para>
+
+      <para>Subversion has combined the CVS <literal>P</literal> and
+        <literal>U</literal> codes into just <literal>U</literal>.  When
+        a merge or conflict occurs, Subversion simply prints
+        <literal>G</literal> or <literal>C</literal>, rather than a
+        whole sentence about it.</para>
+
+      <para>For a more detailed discussion of <command>svn
+        update</command>, see <xref linkend="svn.tour.cycle.update" />.</para>
+
+    </sect2>
 
 
   </sect1>
@@ -339,7 +371,7 @@
     <para>或许让CVS用户熟悉Subversion最好的办法就是让他们的项目继续在新系统下工作,这可以简单得通过平淡的把CVS版本库的导出数据导入到Subversion完成,或者是更加完全的方案,不仅仅包括最新数据快照,还包括所有的历史,从一个系统到另一个系统。这是一个非常困难的问题,包括推导保持原子性的修改集,转化两个系统完全不同的分支政策。但是我们还是有许多工具声称至少部分具备了的转化已存在的CVS版本库为Subversion版本库的能力。
     </para>
 
-    <para>其中一个工具是cvs2svn(<ulink url="http://cvs2svn.tigris.org/"/>),是一个Python脚本,最初是Subversion自己的开发社区的成员编写的。其他的如Chia-liang Kao的Subversion的VCP工具(<ulink url="http://svn.clkao.org/revml/branches/svn-perl/"/>)转化器插件,还有Lev Serebryakov的RefineCVS(<ulink url="http://lev.serebryakov.spb.ru/refinecvs/"/>)。这些工具具备不同程度的完成性,也许会具备完全不同的处理CVS历史的方法。无论你决定使用哪个工具,确定要执行尽可能多的验证来确定你可以接受转化结果—毕竟,你曾经努力创建这些历史!
+    <para>其中一个工具是cvs2svn(<ulink url="http://cvs2svn.tigris.org/"/>),是一个Python脚本,最初是Subversion自己的开发社区的成员编写的。其他的如Lev Serebryakov的RefineCVS(<ulink url="http://lev.serebryakov.spb.ru/refinecvs/"/>)。这些工具具备不同程度的完成性,也许会具备完全不同的处理CVS历史的方法。无论你决定使用哪个工具,确定要执行尽可能多的验证来确定你可以接受转化结果—毕竟,你曾经努力创建这些历史!
       </para>
 
     <para>关于最新的转化工具链接列表,可以访问Subversion的网站(<ulink url="http://subversion.tigris.org/project_links.html"/>)。

Modified: trunk/src/zh/book/appb.xml
==============================================================================
--- trunk/src/zh/book/appb.xml	(original)
+++ trunk/src/zh/book/appb.xml	Wed Sep 27 01:01:55 2006
@@ -196,7 +196,7 @@
     <para>因为Subversion客户端不是完整的DeltaV客户端,Subversion服务器也不是完整的DeltaV服务器,但仍有值得高兴的交互特性:叫做自动版本化。
    </para>
 
-    <para>自动版本化是DeltaV标准中的可选特性,一个典型的DeltaV服务器会拒绝一个对版本控制之下文件的<literal>PUT</literal>操作,为了修改一个版本控制下的文件,服务器只会接受一系列正确的版本请求:例如<literal>MKACTIVITY</literal>、<literal>CHECKOUT</literal>、<literal>PUT</literal>和<literal>CHECKIN</literal>。但是如果DeltaV服务器支持自动版本化,服务器可以在后台假装客户端执行了一些列正确的版本请求,也就是说,DeltaV服务器可以与一个普通的WebDAV客户端交互。
+    <para>自动版本化是DeltaV标准中的可选特性,一个典型的DeltaV服务器会拒绝一个对版本控制之下文件的<literal>PUT</literal>操作,为了修改一个版本控制下的文件,服务器只会接受一系列正确的版本请求:例如<literal>MKACTIVITY</literal>、<literal>CHECKOUT</literal>、<literal>PUT</literal>和<literal>CHECKIN</literal>。但是如果DeltaV服务器支持自动版本化,服务器可以在后台假装客户端执行了一些列正确的版本请求,也就是说,DeltaV服务器可以与一个对版本化一无所知的普通WebDAV客户端交互。
    </para>
 
     <para>因为有许多操作系统已经集成了WebDAV客户端,这个特性的用例可能是这样的:假设一个办公室有许多使用Microsoft Windows或Mac OS的普通用户,每个用户<quote>装载</quote>了一个Subversion版本库,看起来就是普通的网络共享文件夹。他们像普通目录一样的操作这个目录:打开文件、编辑它们,保存它们。同时,服务器自动的版本化所有的东西,任何管理员(或有知识的用户)可以一直使用Subversion客户端来查询历史来检索旧版本的数据。
@@ -222,6 +222,41 @@
       commit</command>产生的事务。技巧就是检查修订版本的<literal>svn:autoversioned</literal>属性,如果有,则提交来自一个原始的WebDAV客户端。
      </para>
 
+<para>Another feature that may be a useful complement
+      for <literal>SVNAutoversioning</literal> comes from
+      Apache's <literal>mod_mime</literal> module.  If a generic
+      WebDAV client adds a new file to the repository, there's no
+      opportunity for the user to set the
+      the <literal>svn:mime-type</literal> property.  This might cause
+      the file to appear as <quote>generic</quote> icon when viewed
+      within a WebDAV shared folder, not having an association with
+      any application.  One remedy is to have a sysadmin (or other
+      Subversion-knowledgable person) check out a working copy and
+      manually set the <literal>svn:mime-type</literal> property on
+      necessary files. But there's potentially no end to such cleanup
+      tasks.  Instead, you can use
+      the <literal>ModMimeUsePathInfo</literal> directive in
+      your Subversion <literal><Location></literal>
+      block:</para>
+ 
+    <screen>
+<Location /repos>
+  DAV svn
+  SVNPath /path/to/repository
+  SVNAutoversioning on
+
+  ModMimeUsePathInfo on
+
+</Location>
+</screen>
+
+    <para>This directive allows <literal>mod_mime</literal> to attempt
+      automatic deduction of the mime-type on new files that enter the
+      repository via autoversioning.  The module looks at the file's
+      named extension and possibly the contents as well; if the file
+      matches some common patterns, then the the
+      file's <literal>svn;mime-type</literal> property will be set
+      automatically.</para>
   </sect1>
 
   <!-- ================================================================= -->
@@ -411,6 +446,14 @@
         <para>有各种解决问题的方法,但好像没有一种能够在各版本和各级别的Windows XP中有效。在我们的测试里,只有上面这种策略在各种系统中有效。WebDAV社区一致认为避免使用新的网络文件夹实现,而使用旧的,如果你希望在Windows XP使用真实的文件系统级的客户端,请使用第三方的程序,例如WebDrive或NetDrive。
         </para>
 
+       <para>A final tip: if you're attempting to use XP Web Folders,
+          make sure you have the absolute latest version from
+          Microsoft.  For example, Microsoft released a bug-fixed
+          version in January 2005, available at
+          <ulink url="http://support.microsoft.com/?kbid=892211"/>.
+          In particular, this release is known to fix a bug whereby
+          browsing a DAV share shows an unexpected infinite
+          recursion.</para>
       </sect3>
 
       <sect3 id="svn.webdav.clients.file-explorer-extensions.linux-de">

Modified: trunk/src/zh/book/ch09.xml
==============================================================================
--- trunk/src/zh/book/ch09.xml	(original)
+++ trunk/src/zh/book/ch09.xml	Wed Sep 27 01:01:55 2006
@@ -77,7 +77,7 @@
           <term><option>--editor-cmd</option>
             <replaceable>CMD</replaceable></term>
           <listitem>
-            <para>指定一个外部程序来编辑日志信息或是属性值。</para>
+            <para>指定一个外部程序来编辑日志信息或是属性值。如何设定缺省编辑器见<xref linkend="svn.advanced.confarea.opts.config"/>的<literal>editor-cmd</literal>小节。</para>
           </listitem>
         </varlistentry>
       
@@ -732,7 +732,7 @@
         <refsect1>
           <title>描述</title>
 
-          <para>递归清理工作拷贝,删除未完成的操作锁定。如果你得到一个<quote>工作拷贝已锁定</quote>的错误,运行这个命令可以删除无效的锁定,让你的工作拷贝再次回到可用的状态。
+          <para>递归清理工作拷贝,删除未完成的工作拷贝锁定,并恢复未完成的操作。如果你得到一个<quote>工作拷贝已锁定</quote>的错误,运行这个命令可以删除无效的锁定,让你的工作拷贝再次回到可用的状态。
             </para>
 
           <para>如果,因为一些原因,运行外置的区别程序(例如,用户输入或是网络错误)有时候会导致一个<command>svn update</command>失败,使用<option>--diff3-cmd</option>选项可以完全清除你的外置区别程序所作的合并,你也可以使用<option>--config-dir</option>指定任何配置目录,但是你应该不会经常使用这些选项。</para>
@@ -2899,7 +2899,8 @@
             <varlistentry>
               <term>'R'</term>
               <listitem>
-                <para>项目在工作拷贝中已经被替换了。</para>
+                <para>项目在工作拷贝中已经被替换了。这意味着文件预定要删除,然后有一个同样名称的文件要在同一个位置替换它。
+               </para>
               </listitem>
             </varlistentry>
 
@@ -2978,7 +2979,7 @@
 
           </variablelist>
 
-          <para>第三列只在工作拷贝锁定时才会出现。</para>
+          <para>第三列只在工作拷贝锁定时才会出现。(见<xref linkend="svn.tour.other.cleanup"/>。)</para>
 
           <variablelist>
             
@@ -3407,7 +3408,8 @@
         <refsect1>
           <title>描述</title>
 
-          <para><command>svn update</command>会把版本库的修改带到工作拷贝,如果没有给定修订版本,它会把你的工作拷贝更新到<literal>HEAD</literal>修订版本,否则,它会把工作拷贝更新到你用<option>--revision</option>指定的修订版本。为了保持同步,也会删除所有在工作拷贝发现的无效锁定。
+          <para><command>svn update</command>会把版本库的修改带到工作拷贝,如果没有给定修订版本,它会把你的工作拷贝更新到<literal>HEAD</literal>修订版本,否则,它会把工作拷贝更新到你用<option>--revision</option>指定的修订版本。为了保持同步,也会删除所有在工作拷贝发现的无效锁定(见<xref
+            linkend="svn.tour.other.cleanup"/>)。
           </para>
 
           <para>对于每一个更新的项目开头都有一个表示所做动作的字符,这些字符有下面的意思:
@@ -4052,7 +4054,9 @@
 The latest repos revision is 34.
 </screen>
 
-          <para>恢复数据库需要一个版本库的独占锁,如果另一个进程访问版本库,<command>svnadmin recover</command>会出错:
+          <para>恢复数据库需要一个版本库的独占锁(这是一个<quote>数据库锁</quote>;见<xref 
+          linkend="svn.advanced.locking.meanings"/>),如果另一个进程访问版本库,<command>svnadmin 
+          recover</command>会出错:
           </para>
           <screen>
 $ svnadmin recover /usr/local/svn/repos
@@ -5384,6 +5388,203 @@
     </refentry>
   </sect1>
 
+  <!-- ================================================================= -->
+  <!-- ================================================================= -->
+  <!-- ================================================================= -->
+  <sect1 id="svn.ref.properties">
+
+    <title><command>Subversion properties</command></title>
+
+
+    <refentry id="svn.ref.svnprops">
+      <refnamediv>
+
+        <refname>Subversion-defined properties</refname> <refpurpose>
+        properties defined by Subversion to control behavior.</refpurpose>
+
+      </refnamediv>
+
+      <refsect1 id="svn.ref.svnprops.desc">
+        <title>Description</title>
+
+        <para>Subversion allows users to invent arbitrarily-named
+          versioned properties on files and directories, as well as
+          unversioned properties on revisions.  The only restriction
+          is on properties prefixed with <quote>svn:</quote>.
+          Properties in that namespace are reserved for Subversion's
+          own use.  While these properties may be set by users to
+          control Subversion's behavior, users may not invent new
+          <quote>svn:</quote> properties.</para>
+
+      </refsect1>
+
+      <refsect1 id="svn.ref.properties.versioned-props">
+        <title>Versioned Properties</title>
+
+        <variablelist>
+
+          <varlistentry>
+            <term><literal>svn:executable</literal></term>
+            <listitem>
+
+              <para>If present on a file, the client will make the
+                file executable in Unix-hosted working copies.  See
+                <xref
+                linkend="svn.advanced.props.special.executable"/>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:mime-type</literal></term>
+            <listitem>
+
+              <para>If present on a file, the value indicates the
+                file's mime-type.  This allows the client to decide
+                whether line-based contextual merging is safe to
+                perform during updates, and can also affect how the
+                file behaves when fetched via web browser.  See
+                <xref
+                linkend="svn.advanced.props.special.mime-type"/>. </para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:ignore</literal></term>
+            <listitem>
+
+              <para>If present on a directory, the value is a list of
+                unversioned file patterns to be ignored
+                by <command>svn status</command> and other
+                subcommands.  See
+                <xref
+                linkend="svn.advanced.props.special.ignore"/></para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:keywords</literal></term>
+            <listitem>
+
+              <para>If present on a file, the value tells the client
+                how to expand particular keywords within the file.
+                See
+                <xref
+                linkend="svn.advanced.props.special.keywords"/>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:eol-style</literal></term>
+            <listitem>
+
+              <para>If present on a file, the value tells the client
+                how to manipulate the file's line-endings in the
+                working copy.  See
+                <xref
+                linkend="svn.advanced.props.special.eol-style"/>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:externals</literal></term>
+            <listitem>
+
+              <para>If present on a directory, the value is a
+                multi-line list of other paths and URLs the client
+                should check out.  See
+                <xref
+                linkend="svn.advanced.props.special.externals"/>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:special</literal></term>
+            <listitem>
+
+              <para>If present on a file, indicates that the file is
+                not an ordinary file, but a symbolic link or other
+                special object.  See
+                <xref
+                linkend="svn.advanced.props.special.special"/>.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:needs-lock</literal></term>
+            <listitem>
+
+              <para>If present on a file, tells the client to make the
+                file read-only in the working copy, as a reminder that
+                the file should be locked before editing begins.  See
+                <xref
+                linkend="svn.advanced.locking.lock-communication"/>.</para>
+
+            </listitem>
+          </varlistentry>
+
+        </variablelist>
+      </refsect1>
+
+      <refsect1 id="svn.ref.properties.unversioned-props">
+        <title>Unversioned Properties</title>
+
+        <variablelist>
+
+          <varlistentry>
+            <term><literal>svn:author</literal></term>
+            <listitem>
+
+              <para>If present, contains the authenticated username of
+                the person who created the revision.  (If not present,
+                then the revision was committed anonymously.)</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:date</literal></term>
+            <listitem>
+
+              <para>Contains the UTC time the revision was created, in
+                ISO format.  The value comes from the server
+                machine's clock.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:log</literal></term>
+            <listitem>
+
+              <para>Contains the log message describing the
+                revision.</para>
+
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term><literal>svn:autoversioned</literal></term>
+            <listitem>
+
+              <para>If present, the revision was created via the
+                autoversioning feature.  See
+                <xref linkend="svn.webdav.autoversioning"/>.</para>
+
+            </listitem>
+          </varlistentry>
+
+        </variablelist>
+      </refsect1>
+    </refentry>
+  </sect1>
+
 
 
 </chapter>




More information about the svnbook-dev mailing list