[svnbook] r5304 committed - branches/1.8/zh/book/ch02-basic-usage.xml

wuzhouhui at users.sourceforge.net wuzhouhui at users.sourceforge.net
Fri Jun 2 19:25:25 CDT 2017


Revision: 5304
          http://sourceforge.net/p/svnbook/source/5304
Author:   wuzhouhui
Date:     2017-06-03 00:25:24 +0000 (Sat, 03 Jun 2017)
Log Message:
-----------
Branch 1.8/zh: chapter 2 translated.

Modified Paths:
--------------
    branches/1.8/zh/book/ch02-basic-usage.xml

Modified: branches/1.8/zh/book/ch02-basic-usage.xml
===================================================================
--- branches/1.8/zh/book/ch02-basic-usage.xml	2017-06-03 00:21:48 UTC (rev 5303)
+++ branches/1.8/zh/book/ch02-basic-usage.xml	2017-06-03 00:25:24 UTC (rev 5304)
@@ -1,8 +1,12 @@
 <!-- -*- sgml -*- -->
 
 <chapter id="svn.tour">
+  <!--
   <title>Basic Usage</title>
+  -->
+  <title>基本用法</title>
 
+  <!--
   <para>Theory is useful, but its application is just plain fun.
     Let's move now into the details of using Subversion.  By the time
     you reach the end of this chapter, you will be able to perform all
@@ -12,7 +16,15 @@
     making changes and examining those changes.  You'll also see how
     to bring changes made by others into your working copy, examine
     them, and work through any conflicts that might arise.</para>
+  -->
+  <para>理论是很用的, 但是实际使用它们的乐趣却很简单. 现在我们开始介绍使用
+    Subversion 的细节, 到这一章结束时, 读者在日常工作中使用 Subversion 将
+    不会遇到太大的问题. 本章首先介绍如何把文件纳入 Subversion, 然后对代码
+    进行首次检出, 接下来将对代码进行一些修改, 并检查修改前后的代码差异. 读
+    者还将会看到如何把其他人的修改应用到自己的工作副本中, 检查修改并解决可
+    能的冲突.</para>
 
+  <!--
   <para>This chapter will not provide exhaustive coverage
     of all of Subversion's commands—rather, it's a conversational
     introduction to the most common Subversion tasks that you'll
@@ -20,7 +32,13 @@
     <xref linkend="svn.basic"/> and are familiar with the general
     model of Subversion.  For a complete reference of all commands,
     see <xref linkend="svn.ref.svn"/>.</para>
+  -->
+  <para>本章不会介绍 Subversion 的所有命令 — 而是以对话的方式介绍在使
+    用 Subversion 的过程中最经常遇到的问题. 本章假设读者已经读过并理解了
+    <xref linkend="svn.basic"/> 的内容, 而且熟悉 Subversion 的一般模型. 关
+    于全部命令的完整参考手册, 请阅读 <xref linkend="svn.ref.svn"/>.</para>
 
+  <!--
   <para>Also, this chapter assumes that the reader is seeking
     information about how to interact in a basic fashion with an
     existing Subversion repository.  No repository means no working
@@ -31,7 +49,14 @@
     <xref linkend="svn.reposadmin"/>.  But don't expect the
     examples in this chapter to work without the user having access
     to a Subversion repository.</para>
+  -->
+  <para>另外, 本章还假设读者已经拥有了一个已存在的 Subversion 仓库. 没有仓库
+    就没有工作副本, 没有工作副本就无法实践本章的内容. 在因特网上可以找到许多
+    提供免费或廉价的 Subversion 仓库托管服务的网站, 如果读者想要自己创建仓库,
+    请阅读 <xref linkend="svn.reposadmin"/>. 为了练习本章的例子, 读者必须对
+    Subversion 仓库拥有访问权限.</para>
 
+  <!--
   <para>Finally, any Subversion operation that contacts the repository
     over a network may potentially require that the user authenticate.
     For the sake of simplicity, our examples throughout this chapter
@@ -42,12 +67,21 @@
     <xref linkend="svn.serverconfig.netmodel.creds"/> for a detailed
     description of Subversion's handling of authentication and client
     credentials.</para>
+  -->
+  <para>最后, 如果某个 Subversion 命令需要通过网络连接仓库, 这可能需要用户
+    认证. 为简单起见, 本章的所有例子都会避开和认证相关的内容. 需要注意的是,
+    如果读者想把本章介绍的内容应用到某个真实世界中的 Subversion 实例, 你很可
+    能需要向服务器提供用户名与密码. 关于认证和客户端证书的更多内容, 请阅读
+    <xref linkend="svn.serverconfig.netmodel.creds"/>.</para>
 
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.tour.help">
+    <!--
     <title>Help!</title>
+    -->
+    <title>帮助!</title>
 
     <indexterm>
       <primary>svn</primary>
@@ -55,6 +89,7 @@
       <tertiary>help</tertiary>
     </indexterm>
 
+    <!--
     <para>It goes without saying that this book exists to be a source
       of information and assistance for Subversion users new and old.
       Conveniently, though, the Subversion command-line is
@@ -62,6 +97,11 @@
       shelf (wooden, virtual, or otherwise).  The <command>svn
       help</command> command is your gateway to that built-in
       documentation:</para>
+    -->
+    <para>本书的目的是成为 Subversion 新老用户的助手与信息来源, 不过,
+      Subversion 的命令行工具本身就带有丰富的帮助文档, 如此一来, 读者就
+      用不着每次都从书架上拿这本书. 命令 <command>svn help</command> 是
+      打开内置文档的入口:</para>
 
     <informalexample>
       <screen>
@@ -84,11 +124,17 @@
 </screen>
     </informalexample>
 
+    <!--
     <para>As described in the previous output, you can ask for help on
       a particular subcommand by running <userinput>svn help
       <replaceable>SUBCOMMAND</replaceable></userinput>.  Subversion
       will respond with the full usage message for that subcommand,
       including its syntax, options, and behavior:</para>
+    -->
+    <para>上面的输出内容已经说了, 读者可以用 <userinput>svn help <replaceable>
+      SUBCOMMAND</replaceable></userinput> 查看特定子命令的帮助信息,
+      Subversion 会输出这个子命令完整的使用方法, 包括它的语法, 选项和行
+      为:</para>
 
     <informalexample>
       <screen>
@@ -104,7 +150,11 @@
     </informalexample>
 
     <sidebar>
+      <!--
       <title>Options and Switches and Flags, Oh My!</title>
+      -->
+      <title>选项 (Options), 开关 (Switches) 和标志 (Flags), 这都是什
+        么鬼?</title>
         
       <indexterm>
         <primary>svn</primary>
@@ -111,6 +161,7 @@
         <secondary>options</secondary>
       </indexterm>
 
+      <!--
       <para>The Subversion command-line client has numerous command
         modifiers.  Some folks refer to such things
         as <quote>switches</quote> or <quote>flags</quote>—in
@@ -119,15 +170,22 @@
         subcommand, plus a set of options which are globally supported
         by all subcommands, listed near the bottom of the built-in
         usage message for that subcommand.</para>
+      -->
+      <para> Subversion 的客户端命令行工具拥有大量的命令修饰符, 有些人把它们
+        叫作 <quote>开关</quote> 或 <quote>标志</quote> — 本书把它叫
+        作 <quote>选项</quote>. 读者将会看到特定的 <command>svn</command>
+        子命令支持的选项, 再加上所有子命令都支持的全局选项, 全局选项显示在
+        子命令帮助信息靠近底部的位置.</para>
 
+      <!--
       <para>Subversion's options have two distinct forms:  short
         options are a single hyphen followed by a single letter, and
         long options consist of two hyphens followed by several
         letters and hyphens (e.g., <literal>-s</literal>
-        and <literal>--this-is-a-long-option</literal>, respectively).
+        and <literal>-this-is-a-long-option</literal>, respectively).
         Every option has at least one long format.  Some, such as
-        the <option>--changelist</option> option, feature an
-        abbreviated long-format alias (<option>--cl</option>, in this
+        the <option>-changelist</option> option, feature an
+        abbreviated long-format alias (<option>-cl</option>, in this
         case).  Only certain options—generally the most-used
         ones—have an additional short format.  To maintain
         clarity in this book, we usually use the long form in code
@@ -136,9 +194,21 @@
         short form (to make it easier to remember).  Use the form
         you're more comfortable with when executing your own
         Subversion commands.</para>
+      -->
+      <para>Subversion 的选项有两种形式: 短选项由一个连字符和一个英文字母
+        组成, 长选项以两个连续的连字符开始, 后跟几个英文字母和连字符 (例如
+        短选项 <literal>-s</literal> 和长选项 <literal>--this-is-a-long-option
+        </literal>), 每一个选项都至少有一个长格式. 有些选项, 例如 <option>
+        --changelist</option>, 会有一个缩写的长格式别名 (<option>--cl
+      </option>), 只有特定的几个选项 — 通常是最经常用到的选项 —
+      才会拥有一个额外的短格式. 为了使书中的内容更加清晰, 在登录中我们通常
+      使用选项的长格式, 但是在描述选项时, 如果该选项存在短格式, 我们将会
+      同时长格式 (为了清晰) 和短格式 (为了方便记忆). 读者在执行 Subversion
+      命令时, 可以自由选择选项的格式.</para>
 
     </sidebar>
 
+    <!--
     <para>Many Unix-based distributions of Subversion include manual
       pages of the sort that can be invoked using
       the <command>man</command> program, but those tend to carry only
@@ -150,6 +220,12 @@
       Subversion-related discussions just begging to be located by
       your favorite search engine.  Subversion help is never too far
       away.</para>
+    -->
+    <para>许多基于 Unix 的 Subversion 发行版都包含了手册页, 可以通过命令
+      <command>man</command> 打开, 但是手册页往往只是指出了帮助信息的真正
+      位置, 例如项目网址. 另外, 有些公司会通过论坛和有偿咨询提供 Subversion
+      的帮助与支持. 当然, 还有资源最丰富的因特网. 获取 Subversion 的帮助从
+      来就不是一件难事.</para>
 
   </sect1>
 
@@ -157,17 +233,29 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.tour.importing">
+    <!--
     <title>Getting Data into Your Repository</title>
+    -->
+    <title>往仓库中添加数据</title>
 
+    <!--
     <para>You can get new files into your Subversion
       repository in two ways: <command>svn import</command> and <command>svn
       add</command>.  We'll discuss <command>svn import</command> now
       and will discuss <command>svn add</command> later in this
       chapter when we review a typical day with Subversion.</para>
+    -->
+    <para>往 Subversion 仓库中添加新文件有 2 种办法:
+      <command>svn import</command> 和 <command>svn add</command>. 这里先介绍
+      <command>svn import</command>, <command>svn add</command> 在本章的后面
+      再作介绍.</para>
 
     <!-- =============================================================== -->
     <sect2 id="svn.tour.importing.import">
+      <!--
       <title>Importing Files and Directories</title>
+      -->
+      <title>导入文件和目录</title>
 
       <indexterm>
         <primary>svn</primary>
@@ -175,6 +263,7 @@
         <tertiary>import</tertiary>
       </indexterm>
 
+      <!--
       <para>The <command>svn import</command> command is a quick way to
         copy an unversioned tree of files into a repository, creating
         intermediate directories as necessary.  <command>svn
@@ -182,6 +271,11 @@
         are immediately committed to the repository.  You typically
         use this when you have an existing tree of files that you want to
         begin tracking in your Subversion repository.  For example:</para>
+      -->
+      <para>命令 <command>svn import</command> 可以快速地向仓库中添加新文件
+        或目录. <command>svn import</command> 不要求工作副本, 新增的文件会
+        马上提交到仓库中. 使用该命令的典型情况是用户想要把一个已存在的文件
+        树添加到 Subversion 仓库中, 例如:</para>
 
       <informalexample>
         <screen>
@@ -198,6 +292,7 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>The previous example copied the contents of the local
         directory <filename>mytree</filename> into the directory
         <filename>some/project</filename> in the repository.  Note
@@ -205,6 +300,11 @@
         first—<command>svn import</command> does that for you.
         Immediately after the commit, you can see your data in the
         repository:</para>
+      -->
+      <para>上面的例子把本地目录 <filename>mytree</filename> 中的内容添加到
+        仓库的 <filename>some/project</filename> 目录中. 注意, 用户在导入
+        前无需创建新目录 — <command>svn import</command> 会自动完成这
+        些工作. 提交后, 用户就可以在仓库中看到新增的文件和目录:</para>
 
       <informalexample>
         <screen>
@@ -216,18 +316,27 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>Note that after the import is finished, the original local
         directory is <emphasis>not</emphasis> converted into a working
         copy.  To begin working on that data in a versioned fashion,
         you still need to create a fresh working copy of that
         tree.</para>
+      -->
+      <para>注意, 导入完成后, 本地的原始目录并没有被转换成工作副本, 为了能够以
+        版本控制的方式对文件进行管理, 用户仍然需要创建一份最新的工作副本.
+      </para>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.tour.importing.layout">
+      <!--
       <title>Recommended Repository Layout</title>
+      -->
+      <title>推荐的仓库布局</title>
 
+      <!--
       <para>Subversion provides the ultimate flexibility in terms of
         how you arrange your data.  Because it simply versions
         directories and files, and because it ascribes no particular
@@ -238,6 +347,12 @@
         to navigate different Subversion repositories which may carry
         completely different and unpredictable arrangements of the
         data within them.</para>
+      -->
+      <para>为了方便用户管理数据, Subversion 提供了很大的灵活性. Subversion
+        只是简单地对目录和文件进行版本控制, 不会给它们附上特殊的意义, 用户
+        完全可以按照自己的喜好来决定数据的布局. 不过, 这种灵活性有时也会带
+        来一些麻烦, 如果用户同时在 2 个或多个布局完成不同的仓库中浏览, 而这
+        些仓库的布局又没有规律, 那么人们往往会感到迷失, 不知身在何处.</para>
 
       <para>
         <indexterm>
@@ -251,7 +366,24 @@
         </indexterm>
         <indexterm>
           <primary>project root</primary>
-        </indexterm>To counteract this confusion, we recommend that
+        </indexterm>为了避免这种问题, 我们推荐读者遵循传统的仓库布局 (这种布局
+        出现在很久以前, Subversion 项目早期阶段就已经开始使用), 传统布局的
+        特点是, 仓库中的目录名可以向用户传达出与它们所存放的数据相关的信息.
+        大多数项目都有一条公认的开发 <quote>主线</quote>, 或者叫作
+        <firstterm>主干</firstterm> (<firstterm>trunk</firstterm>); 还有一
+        些 <firstterm>分支</firstterm> (<firstterm>branches</firstterm>), 分
+        支是某一条开发线的分叉; 还有一些 <firstterm>标签</firstterm>
+        (<firstterm>tags</firstterm>), 标签是某一条开发线的稳定版快照.
+        我们首先建议
+        每一个项目都仓库中都一个公认的 <firstterm>项目根目录</firstterm>
+        (<firstterm>project root</firstterm>), 目录中只存放和该项目相关的
+        数据. 然后, 我们建议每一个项目根目录下都有一个表示开发主线的
+        <filename>trunk</filename> 子目录, 存放所有分支的 <filename>branches
+        </filename> 子目录, 存放所有标签的 <filename>tags</filename> 子目录.
+        如果仓库只存放单个项目, 那么仓库的根目录也可以作为项目根目录.</para>
+
+        <!--
+        To counteract this confusion, we recommend that
         you follow a repository layout convention (established long
         ago, in the nascency of the Subversion project itself) in
         which a handful of strategically named Subversion repository
@@ -275,8 +407,12 @@
         tags (or collections of tags) will be created.  Of course, if
         a repository houses only a single project, the root of the
         repository can serve as the project root, too.</para>
+        -->
 
+      <!--
       <para>Here are some examples:</para>
+      -->
+      <para>这里有一些例子:</para>
 
       <informalexample>
         <screen>
@@ -295,6 +431,7 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>We talk much more about tags and branches in
         <xref linkend="svn.branchmerge"/>.  For details and some
         advice on how to set up repositories when you have multiple
@@ -301,13 +438,23 @@
         projects, see <xref linkend="svn.branchmerge.maint.layout"/>.
         Finally, we discuss project roots more in
         <xref linkend="svn.reposadmin.projects.chooselayout"/>.</para>
+      -->
+      <para>关于标签和分支的更多内容, 我们将在 <xref linkend="svn.branchmerge"/>
+        介绍. 如果用户要为多个项目创建仓库, 其中的细节与建议请参考
+        <xref linkend="svn.branchmerge.maint.layout"/>. 关于项目根目录的更多
+        内容, 我们将在 <xref linkend="svn.reposadmin.projects.chooselayout"/>
+        介绍.</para>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.tour.importing.naming">
+      <!--
       <title>What's In a Name?</title>
+      -->
+      <title>名字中有什么</title>
 
+      <!--
       <para>Subversion tries hard not to limit the type of data you
         can place under version control.  The contents of files and
         property values are stored and transmitted as binary data, and
@@ -317,7 +464,14 @@
         particular file.  There are a few places, however, where
         Subversion places restrictions on information it
         stores.</para>
+      -->
+      <para>Subversion 尽量不去限制用户想要管理的数据类型, 文件的内容及其
+        属性被看成二进制数据进行存放和传输,
+        <xref linkend="svn.advanced.props.special.mime-type"/> 将会介绍如何向
+        Subversion 提示某个文件不需要 <quote>文本</quote> 操作. 然而, 在有些
+        地方, Subversion 会限制其中所存放的数据类型.</para>
 
+      <!--
       <para>Subversion internally handles certain bits of
         data—for example, property names, pathnames, and log
         messages—as UTF-8-encoded Unicode.  This is not to say
@@ -327,7 +481,13 @@
         encoding system in use on your computer, if such a conversion
         can meaningfully be done (which is the case for most common
         encodings in use today).</para>
+      -->
+      <para>某些数据由 Subversion 内部进行处理 — 例如属性名, 文件路径,
+        日志消息 — 这些数据使用 UTF-8 编码. 不过这并不意味着和 Subversion
+        交互时一定要使用 UTF-8 编码. 一般情况下, Subversion 客户端会自动对
+        编码进行转换, 不需要用户参与.</para>
 
+      <!--
       <para>In WebDAV exchanges and older versions of some of
         Subversion's administrative files, paths are used as XML
         attribute values, and property names in XML tag names.  This
@@ -338,7 +498,16 @@
         path names to prevent paths from being broken up in diffs or
         in the output of commands such as <command>svn log</command>
         or <command>svn status</command>.</para>
+      -->
+      <para>在 WebDAV 交易所和版本比较老的 Subversion 管理文件中, 文件路径是
+        XML 的属性值, 属性名是 XML 的标签名, 此时文件路径只能包含合法的
+        XML (1.0) 字符, 属性也只能使用 ASCII 字符. Subversion 禁止在文件路径
+        中出现 <literal>TAB</literal>, <literal>CR</literal> 和
+        <literal>LF</literal> 这些字符, 避免在差异比较时, 或者在命令
+        <command>svn log</command> 和 <command>svn status</command> 和输出中
+        文件路径被错误地断开.</para>
 
+      <!--
       <para>While it may seem like a lot to remember, in practice
         these limitations are rarely a problem.  As long as your
         locale settings are compatible with UTF-8 and you don't use
@@ -348,8 +517,15 @@
         <quote>legally correct</quote> versions for internal
         use it will automatically escape illegal
         path characters as needed in URLs that you type.</para>
+      -->
+      <para>听起来有许多规则需要记住, 但是在实际使用时这些限制极少会对用户产
+        生影响. 只要用户的本地化设置和 UTF-8 兼容, 而且不在文件路径中使用
+        控制字符, 在和 Subversion 通信时就不会产生任何问题. 客户端命令行工具
+        也能提供帮助 — 为了方便内部使用, 用户在输入 URL 时, 命令行工具
+        自动地对非法路径字符进行转义, 从而创建出方便内部使用的合法路径.</para>
 
       <warning>
+      <!--
         <para>Of course, when it comes to choosing valid path names,
           Subversion isn't the only limiting factor.  Teams using
           multiple operating systems need to consider the limitations
@@ -364,6 +540,13 @@
           broad awareness of the various limitations introduced by
           different operating systems and filesystems, then, is
           recommended.</para>
+      -->
+        <para>在选择有效的路径名时, Subversion 不是唯一的限制因素, 使用多个
+          操作系统的开发团队还需要考虑不同操作系统对路径名的限制. 例如,
+          Windows 不允许文件名包含冒号, 但是使用 Linux 系统的用户可以轻易地
+          在仓库中添加这样的文件, 这些文件将不能被 Windows 用户检出. 有些
+          操作系统区分文件名的大小写, 而有些不区分. 所以, 和 Subversion 相比,
+          用户更应该注意不同的操作系统和文件系统所产生的限制.</para>
       </warning>
 
     </sect2>
@@ -373,7 +556,10 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.tour.initial">
+      <!--
     <title>Creating a Working Copy</title>
+      -->
+    <title>创建工作副本</title>
 
     <para>
       <indexterm>
@@ -380,7 +566,13 @@
         <primary>svn</primary>
         <secondary>subcommands</secondary>
         <tertiary>checkout</tertiary>
-      </indexterm>Most of the time, you will start using a Subversion
+      </indexterm>
+      大多数时候, 用户开始使用仓库是通过执行 <firstterm>检出</firstterm>
+      (<firstterm>checkout</firstterm>) 命令. 检出仓库中的目录将会在用户的
+      本地主机上创建一个该目录的工作副本. 除非特意指定, 否则这个副本将包
+      含仓库最新版本的数据:</para>
+      <!--
+      Most of the time, you will start using a Subversion
       repository by performing a <firstterm>checkout</firstterm> of
       your project.  Checking out a directory from a repository
       creates a working copy of that directory on your local machine.
@@ -388,6 +580,7 @@
       (that is, most recently created or modified) versions of the
       directory and its children found in the Subversion
       repository:</para>
+      -->
 
     <informalexample>
       <screen>
@@ -402,10 +595,14 @@
 </screen>
     </informalexample>
 
+      <!--
     <para>Although the preceding example checks out the trunk
       directory, you can just as easily check out a deeper
       subdirectory of a repository by specifying that subdirectory's
       URL as the checkout URL:</para>
+      -->
+    <para>上面的例子检出的是主干目录, 但用户也可以轻易地检出更深层的子目录,
+      只需要在检出命令的参数中写上子目录对应的 URL 即可:</para>
 
     <informalexample>
       <screen>
@@ -419,6 +616,7 @@
 </screen>
     </informalexample>
 
+      <!--
     <para>Since Subversion uses a copy-modify-merge model instead of
       lock-modify-unlock (see <xref linkend="svn.basic.vsn-models"/>),
       you can immediately make changes to the files and directories in
@@ -426,8 +624,14 @@
       collection of files and directories on your system.  You can
       edit the files inside it, rename it, even delete the entire
       working copy and forget about it.</para>
+      -->
+    <para>因为 Subversion 用的是 复制-修改-合并 模型, 而非 加锁-修改-解锁
+      (见 <xref linkend="svn.basic.vsn-models"/>), 所以用户马上就可以修改
+      工作副本里的文件与目录. 工作副本就像一个普通目录, 用户可以编辑, 重
+      命名里面的文件, 甚至可以删除整个工作副本.</para>
 
     <warning>
+      <!--
       <para>While your working copy is <quote>just like any other
         collection of files and directories on your system,</quote>
         you can edit files at will, but you must tell Subversion
@@ -437,16 +641,30 @@
         <command>svn move</command> instead of the copy and move
         commands provided by your operating system.  We'll talk more
         about them later in this chapter.</para>
+      -->
+      <para>虽然工作副本 <quote>就像一个普通目录</quote>, 用户可以按照自己
+        的意愿编辑里面的文件, 但是其他事情必须告诉给 Subversion. 例如, 如果
+        用户想要复制或移动工作副本中的某个文件或目录, 必须使用
+        <command>svn copy</command> 或 <command>svn move</command>, 而不是
+        操作系统提供了复制与移动命令. 关于它们的更多内容会在后面讲到.</para>
     </warning>
 
+      <!--
     <para>Unless you're ready to commit the addition of a new file or
       directory or changes to existing ones, there's no need to
       further notify the Subversion server that you've done
       anything.</para>
+      -->
+    <para>除非用户准备提交修改, 否则不需要通知 Subversion 服务器你做了哪些
+      修改.</para>
 
     <sidebar>
+      <!--
       <title>What Is This .svn Directory?</title>
+      -->
+      <title>目录 .svn 里有什么东西?</title>
 
+      <!--
       <para>The topmost directory of a working copy—and prior to
         version 1.7, every versioned subdirectory
         thereof—contains a special administrative subdirectory
@@ -456,8 +674,15 @@
         Whatever you do, don't delete or change anything in the
         administrative area!  Subversion uses that directory and its
         contents to manage your working copy.</para>
+      -->
+      <para>工作副本的顶层目录 — 1.7 版以前是每个目录及其子目录 —
+        都有一个用于管理的子目录 <filename>.svn</filename>. 通常情况下, 操作
+        系统的目录列表指令不会显示该目录, 但它是一个非常重要的目录, 无论用户
+        做什么操作, 都不能删除或修改其中的内容, Subversion 管理工作副本的信息
+        都存放在这个目录里.</para>
     </sidebar>
 
+      <!--
     <para>Notice that in the previous pair of examples, Subversion
       chose to create a working copy in a directory named for the
       final component of the checkout URL.  This occurs only as a
@@ -467,6 +692,12 @@
       flexibility, though, allowing you to optionally specify the
       local directory name that Subversion should use for the working
       copy it creates.  For example:</para>
+      -->
+    <para>在上面的两个例子中, Subversion 在本地创建的目录名是检出命令中,
+      URL 参数的最后一个分量. 如果用户只向 <command>svn checkout</command>
+      提供了 URL 参数, 那么根据最后一个分量来创建目录对用户来说就比较方便.
+      不过 Subversion 客户端命令行工具也允许用户自己指定一个目录名, 例如:
+    </para>
 
     <informalexample>
       <screen>
@@ -481,9 +712,13 @@
 </screen>
     </informalexample>
 
+      <!--
     <para>If the local directory you specify doesn't yet
       exist, that's okay—<command>svn checkout</command> will
       create it for you.</para>
+      -->
+    <para>如果用户指定的本地目录不存在, <command>svn checkout</command>
+      会自动创建该目录.</para>
 
   </sect1>
 
@@ -491,23 +726,38 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.tour.cycle">
+      <!--
     <title>Basic Work Cycle</title>
+      -->
+    <title>基本工作周期</title>
 
+      <!--
     <para>Subversion has numerous features, options, bells, and
       whistles, but on a day-to-day basis, odds are that you will use
       only a few of them.  In this section, we'll run through the most
       common things that you might find yourself doing with Subversion
       in the course of a day's work.</para>
+      -->
+    <para>Subversion 支持的特性与选项非常丰富, 但是能够在日常工作中用到的却很
+      少. 本节将介绍日常工作中最常用到的 Subversion 操作.</para>
 
+      <!--
     <para>The typical work cycle looks like this:</para>
+      -->
+    <para>典型的工作周期就像:</para>
 
     <orderedlist>
       <listitem>
+      <!--
         <para><emphasis>Update your working copy.</emphasis> This
           involves the use of the <command>svn update</command>
           command.</para>
+      -->
+        <para><emphasis>更新工作副本.</emphasis> 这会用到命令
+          <command>svn update</command>.</para>
       </listitem>
       <listitem>
+      <!--
         <para><emphasis>Make your changes.</emphasis> The most common
           changes that you'll make are edits to the contents of your
           existing files.  But sometimes you need to add, remove, copy
@@ -516,14 +766,26 @@
           copy</command>, and <command>svn move</command> commands
           handle those sorts of structural changes within the working
           copy.</para>
+      -->
+        <para><emphasis>修改.</emphasis>最常见的修改就是编辑已有文件的内容,
+          但有时还要添加, 删除, 复制和移动文件或目录 — 命令
+          <command>svn add</command>, <command>svn delete</command>,
+          <command>svn copy</command> 和 <command>svn move</command> 负责
+          处理工作副本的结构性调整.</para>
       </listitem>
       <listitem>
+      <!--
         <para><emphasis>Review your changes.</emphasis>
           The <command>svn status</command> and <command>svn
           diff</command> commands are critical to reviewing the
           changes you've made in your working copy.</para>
+      -->
+        <para><emphasis>审核修改.</emphasis> 用命令
+          <command>svn status</command> 和 <command>svn diff</command>
+          查看工作副本发生了哪些变化.</para>
       </listitem>
       <listitem>
+      <!--
         <para><emphasis>Fix your mistakes.</emphasis>  Nobody's
           perfect, so as you review your changes, you may spot
           something that's not quite right.  Sometimes the easiest way
@@ -530,8 +792,14 @@
           to fix a mistake is start all over again from scratch.
           The <command>svn revert</command> command restores a file
           or directory to its unmodified state.</para>
+      -->
+        <para><emphasis>修正错误.</emphasis> 人无完人, 在审核修改时用户可
+          能会发现某些修改是不正确的. 有时候修正错误最简单的方式是撤消所有的
+          修改, 重新开始. 命令 <command>svn revert</command> 可以把文件或目
+          录恢复到修改前的样子.</para>
       </listitem>
       <listitem>
+      <!--
         <para><emphasis>Resolve any conflicts (merge others'
           changes).</emphasis>  In the time it takes you to make and
           review your changes, others might have made and published
@@ -542,19 +810,34 @@
           this.  If this results in local conflicts, you'll need to
           resolve those using the <command>svn resolve</command>
           command.</para>
+      -->
+        <para><emphasis>解决冲突 (合并其他人的修改).</emphasis> 当一个用户
+          正在修改文件时, 其他人可能已经把自己的修改提交到了服务器上. 为了防止
+          在提交修改时, 由于工作副本过而旧导致提交失败, 用户需要把其他人的修改
+          更新到本地, 用到的命令是 <command>svn update</command>. 如果命令
+          的执行结果有冲突产生, 用户需要用命令 <command>svn resolve</command>
+          解决冲突.</para>
       </listitem>
       <listitem>
+      <!--
         <para><emphasis>Publish (commit) your changes.</emphasis>
           The <command>svn commit</command> command transmits your
           changes to the repository where, if they are accepted, they
           create the newest versions of all the things you modified.
           Now others can see your work, too!</para>
+      -->
+        <para><emphasis>发布 (提交) 修改.</emphasis> 命令
+          <command>svn commit</command> 把工作副本的修改提交到仓库中, 如果修改
+          被接受, 其他用户就可以看到这些修改.</para>
       </listitem>
     </orderedlist>
 
     <!-- =============================================================== -->
     <sect2 id="svn.tour.cycle.update">
+      <!--
       <title>Update Your Working Copy</title>
+      -->
+      <title>更新工作副本</title>
 
       <indexterm>
         <primary>svn</primary>
@@ -562,6 +845,7 @@
         <tertiary>update</tertiary>
       </indexterm>
 
+      <!--
       <para>When working on a project that is being modified via
         multiple working copies, you'll want to update your working
         copy to receive any changes committed from other working
@@ -573,10 +857,20 @@
         directories, so it's best to have the latest versions
         of all your project's files and directories before making new
         changes of your own.</para>
+      -->
+      <para>如果某个项目正在被多个工作副本修改, 用户就需要更新自己本地的
+        工作副本, 以获取其他人提交的修改. 这些修改可能来自团队中的其他开发
+        人员, 也可能是自己在其他地方提交的修改. Subversion 不允许用户向过时
+        的文件或目录提交修改, 所以在开始修改前, 最好保证本地工作副本的内容
+        是最新的.</para>
 
+      <!--
       <para>Use <command>svn update</command> to bring your working
         copy into sync with the latest revision in the
         repository:</para>
+      -->
+      <para>命令 <command>svn update</command> 把仓库上的最新数据同步到本地
+        的工作副本:</para>
 
       <informalexample>
         <screen>
@@ -589,12 +883,18 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>In this case, it appears that someone committed
         modifications to both <filename>foo.c</filename>
         and <filename>bar.c</filename> since the last time you
         updated, and Subversion has updated your working copy to
         include those changes.</para>
+      -->
+      <para>从上面的例子可以看到, 在你最后一次更新了工作副本后, 有人修改了
+        <filename>foo.c</filename> 和 <filename>bar.c</filename>, Subversion
+        把更新同步到本地工作副本.</para>
 
+      <!--
       <para>When the server sends changes to your working copy via
         <command>svn update</command>, a letter code is displayed next
         to each item to let you know what actions Subversion performed
@@ -602,12 +902,22 @@
         letters mean, run <userinput>svn help update</userinput> or
         see <xref linkend="svn.ref.svn.c.update"/> in
         <xref linkend="svn.ref.svn"/>.</para>
+      -->
+      <para>通过命令 <command>svn update</command>, 服务器把修改应用到本地的
+        工作副本, 同时在被更新项目的旁边显示一个字母, 表示 Subversion 对文件
+        采取了什么操作. 为了明白这些字母的涵义, 执行
+        <userinput>svn help update</userinput> 或参考
+        <xref linkend="svn.ref.svn"/> 的
+        <xref linkend="svn.ref.svn.c.update"/>.</para>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.tour.cycle.edit">
+      <!--
       <title>Make Your Changes </title>
+      -->
+      <title>修改</title>
 
       <para>
         <indexterm>
@@ -615,7 +925,9 @@
         </indexterm>
         <indexterm>
           <primary>tree changes</primary>
-        </indexterm>Now you can get to work and make changes in your
+        </indexterm>
+      <!--
+        Now you can get to work and make changes in your
         working copy.  You can make two kinds of changes to your
         working copy: <firstterm>file changes</firstterm>
         and <firstterm>tree changes</firstterm>.  You don't need to
@@ -633,9 +945,23 @@
         addition, copying, or moving.  These changes may take place
         immediately in your working copy, but no additions or removals
         will happen in the repository until you commit them.</para>
+      -->
+        现在用户可以开始工作, 修改工作副本里的资料. 工作副本支持的修改类型分
+        为两种: <firstterm>文件修改</firstterm>
+        (<firstterm>file changes</firstterm>) 和 <firstterm>目录修改</firstterm>
+        (<firstterm>tree changes</firstterm>). 在修改文件时不需要告知
+        Subversion, 用户可以使用任意一种自己的喜欢的工具来修改文件, 例如编辑
+        器, 字处理程序, 图形工具等. Subversion 可以自动检测到哪些文件发生了
+        变化, 处理二进制文件和处理文本文件一样简单高效. 目录修改涉及到目录结构
+        的变化, 例如添加和删除文件, 重命名文件和目录, 复制文件和目录. 目录修改
+        要使用 Subversion 的操作来完成. 文件修改和目录修改只有在提交后才会更新
+        到仓库中.</para>
 
       <sidebar>
+      <!--
         <title>Versioning Symbolic Links</title>
+      -->
+        <title>对符号链接进行版本控制</title>
 
         <para>
           <indexterm>
@@ -644,7 +970,9 @@
           <indexterm>
             <primary>symbolic link</primary>
             <see>symlink</see>
-          </indexterm>On non-Windows platforms, Subversion is able to
+          </indexterm>
+      <!--
+          On non-Windows platforms, Subversion is able to
           version files of the special type <firstterm>symbolic
           link</firstterm> (or <quote>symlink</quote>).  A symlink is
           a file that acts as a sort of transparent reference to some
@@ -651,7 +979,14 @@
           other object in the filesystem, allowing programs to read
           and write to those objects indirectly by performing
           operations on the symlink itself.</para>
+      -->
+        在类 Unix 系统中, Subversion 还能对特殊的文件类型—
+        <firstterm>符号链接</firstterm> (<firstterm>symbolic link</firstterm>,
+        或者叫作 <quote>软链接 </quote>) 进行版本控制. 软链接是一种透明的
+        引用, 引用到文件系统中的其他文件或目录, 对软链接的操作会间接地作用到
+        它所引用的文件或目录上.</para>
 
+      <!--
         <para>When a symlink is committed into a Subversion
           repository, Subversion remembers that the file was in fact a
           symlink, as well as the object to which the symlink
@@ -666,9 +1001,18 @@
           can't be used as a symlink on a Windows system, it also
           won't prevent Windows users from performing their other
           Subversion-related activities.</para> </sidebar>
+      -->
+      <para>如果把一个软链接提交到仓库中, Subversion 会自动加以识别.
+        如果在不支持软链接的 Windows 操作系统中检出工作副本, Subversion 就会
+        创建一个同名的普通文件, 文件内容是软链接所指向的对象的路径, 虽然该
+        文件不能当作一个软链接使用, 但 Windows 用户仍然可以编辑该文件.</para>
+    </sidebar>
 
+      <!--
       <para>Here is an overview of the five Subversion subcommands
         that you'll use most often to make tree changes:</para>
+      -->
+      <para>下面是最常用到的 5 个改变目录结构的 Subversion 子命令:</para>
 
       <variablelist>
 
@@ -680,6 +1024,7 @@
               <secondary>subcommands</secondary>
               <tertiary>add</tertiary>
             </indexterm>
+      <!--
             <para>Use this to schedule the file, directory, or
               symbolic link <filename>FOO</filename> to be added to
               the repository.  When you next
@@ -689,7 +1034,14 @@
               underneath <filename>FOO</filename> will be scheduled
               for addition.  If you want only to add
               <filename>FOO</filename> itself, pass the
-              <option>--depth=empty</option> option.</para>
+              <option>- -depth=empty</option> option.</para>
+      -->
+            <para>这个命令把文件, 目录或软链接 <filename>FOO</filename> 添加
+              到需要进行版本控制的名单中, 在下一次提交时,
+              <filename>FOO</filename> 就会正式添加到仓库里. 如果
+              <filename>FOO</filename> 是一个目录, 那么目录内的所有内容都会
+              被添加到仓库中. 如果只想添加 <filename>FOO</filename> 它自己,
+              就带上选项 <option>--depth=empty</option>.</para>
           </listitem>
         </varlistentry>
 
@@ -701,6 +1053,7 @@
               <secondary>subcommands</secondary>
               <tertiary>delete</tertiary>
             </indexterm>
+      <!--
             <para>Use this to schedule the file, directory, or
               symbolic link <filename>FOO</filename> to be deleted
               from the repository.  If <filename>FOO</filename> is a
@@ -718,6 +1071,16 @@
               again present in <literal>HEAD</literal>, see
               <xref linkend="svn.branchmerge.basicmerging.resurrect"
               />.</para></footnote></para>
+      -->
+      <para>从工作副本中删除文件, 目录或符号链接 <filename>FOO</filename>,
+        在下一次提交时, <filename>FOO</filename> 就会从仓库中删除.
+        <footnote><para>当然, 不会有东西可以从仓库中完全删除 —它们
+            只是从修改号 <literal>HEAD</literal> 中删除, 可以从更早的
+            修改版中看到被删除的条目, 只要用户愿意, 可以把删除的条目恢复
+            到 <literal>HEAD</literal> 中, 参考
+            <xref linkend="svn.branchmerge.basicmerging.resurrect"/>.
+      </para></footnote></para>
+
           </listitem>
         </varlistentry>
 
@@ -729,6 +1092,7 @@
               <secondary>subcommands</secondary>
               <tertiary>copy</tertiary>
             </indexterm>
+      <!--
             <para>Create a new item <filename>BAR</filename> as a
               duplicate of <filename>FOO</filename> and automatically
               schedule <filename>BAR</filename> for addition.  When
@@ -737,7 +1101,14 @@
               originally come from <filename>FOO</filename>).
               <command>svn copy</command> does not create intermediate
               directories unless you pass the
-              <option>--parents</option> option.</para>
+              <option>- -parents</option> option.</para>
+      -->
+            <para>从 <filename>FOO</filename> 复制出一个
+              <filename>BAR</filename>, 并把 <filename>BAR</filename> 添加到
+              需要进行版本控制的名单中. <filename>BAR</filename> 被提交到仓库
+              后, Subversion 会记录它是由 <filename>FOO</filename> 复制得到的.
+              除非带上选项 <option>--parents</option>, 否则
+              <command>svn copy</command> 不会创建父目录.</para>
           </listitem>
         </varlistentry>
 
@@ -749,6 +1120,7 @@
               <secondary>subcommands</secondary>
               <tertiary>move</tertiary>
             </indexterm>
+      <!--
             <para>This command is exactly the same as running
               <userinput>svn copy FOO BAR; svn delete FOO</userinput>.
               That is, <filename>BAR</filename> is scheduled for
@@ -756,7 +1128,13 @@
               <filename>FOO</filename> is scheduled for removal.
               <command>svn move</command> does not create intermediate
               directories unless you pass the
-              <option>--parents</option> option.</para>
+              <option>- -parents</option> option.</para>
+      -->
+            <para>这条命令等价于 <userinput>svn copy FOO BAR; svn delete FOO
+              </userinput>, 也就是从 <filename>FOO</filename> 复制出一个
+              <filename>BAR</filename>, 然后再删除 <filename>FOO</filename>.
+              除非带上选项 <option>--parents</option>, 否则
+              <command>svn move</command> 不会创建父目录.</para>
           </listitem>
         </varlistentry>
 
@@ -768,10 +1146,15 @@
               <secondary>subcommands</secondary>
               <tertiary>mkdir</tertiary>
             </indexterm>
+      <!--
             <para>This command is exactly the same as running
               <userinput>mkdir FOO; svn add FOO</userinput>.  That is,
               a new directory named <filename>FOO</filename> is
               created and scheduled for addition.</para>
+      -->
+          <para>该命令等价于 <userinput>mkdir FOO; svn add FOO</userinput>,
+          也就是创建一个新目录 <filename>FOO</filename>, 并把它添加到仓库中.
+        </para>
           </listitem>
         </varlistentry>
 
@@ -778,8 +1161,12 @@
       </variablelist>
 
       <sidebar>
+      <!--
         <title>Changing the Repository Without a Working Copy</title>
+      -->
+        <title>在没有工作副本的情况下, 修改仓库</title>
 
+      <!--
         <para>Subversion <emphasis>does</emphasis> offer ways to
           immediately commit tree changes to the repository without an
           explicit commit action.  In particular, specific uses
@@ -792,7 +1179,16 @@
           repository.  We discuss the ways to commit tree changes
           without a working copy in
           <xref linkend="svn.advanced.working-without-a-wc"/>.</para>
+      -->
+        <para>Subversion <emphasis>确实</emphasis> 支持在没有显式的提交操作
+          下, 马上把目录修改提交到仓库中. 除了工作副本中的路径,
+          <command>svn mkdir</command>, <command>svn copy</command> 和
+          <command>svn delete</command> 还可以接受仓库有 URL 作为参数. 前面
+          我们也提到过, <command>svn import</command> 总是直接修改仓库.
+          我们会在 <xref linkend="svn.advanced.working-without-a-wc"/> 介绍
+          如何在没有工作副本的情况下提交目录修改.</para>
 
+      <!--
         <para>There are pros and cons to performing URL-based
           operations.  One obvious advantage to doing so is speed:
           sometimes, checking out a working copy that you don't
@@ -807,6 +1203,13 @@
           them.  And, of course, these staged changes can be as
           complex or as a simple as they need to be, yet result in but
           a single new revision when committed.</para>
+      -->
+        <para>执行基于 URL 的操作既有好处也有坏处, 比较明显的好处是速度快:
+          仅仅为了执行一个很简单的操作而检出工作副本, 未免也太麻烦了. 坏处
+          是用户一次只能执行一个或一种类型的操作. 使用工作副本最大的好处是
+          它可以作为修改的 <quote>暂存区</quote>, 在提交之前用户可以检查
+          修改是否是有意义的. 暂存区的修改既可以简单, 也可以很复杂, 它们都
+          会被当作一个单独的修订提交到仓库中.</para>
 
       </sidebar>
 
@@ -814,12 +1217,17 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.tour.cycle.examine">
+      <!--
       <title>Review Your Changes</title>
+      -->
+      <title>审核修改</title>
 
       <para>
         <indexterm>
           <primary>log message</primary>
-        </indexterm>Once you've finished making changes, you need to commit
+        </indexterm>
+      <!--
+        Once you've finished making changes, you need to commit
         them to the repository, but before you do so, it's usually a
         good idea to take a look at exactly what you've changed.  By
         examining your changes before you commit, you can compose a
@@ -832,11 +1240,24 @@
         before publishing them.  You can see an overview of the
         changes you've made by using the <command>svn status</command>
         command, and you can dig into the details of those changes by
-        using the <command>svn diff</command> command.</para>
+        using the <command>svn diff</command> command.
+      -->
+        工作副本修改完成后, 就要把它们都提交到仓库中, 不过在提交之前, 应该查看
+        一下自己到底修改了哪些东西. 通过检查修改, 用户可以写出更准确的
+        <firstterm>提交日志</firstterm> (<firstterm>log message</firstterm>,
+        和修改一起存放到仓库中的一段文本, 该文本以人类可读的形式描述了本次
+        修改的相关信息). 在审核修改时, 用户可能会发现自己无意中修改了一个不相
+        关的文件, 因此在提交之前需要撤消它的修改. 用户可以使用命令
+        <command>svn status</command> 查看修改的整体概述, 用命令
+        <command>svn diff</command> 查看修改的细节. </para>
 
       <sidebar>
+      <!--
         <title>Look Ma! No Network!</title>
+      -->
+        <title>看, 没网络!</title>
 
+      <!--
         <para>You can use the commands <command>svn status</command>,
           <command>svn diff</command>, and <command>svn
           revert</command> without any network access even if your
@@ -844,6 +1265,11 @@
           makes it easy to manage and review your changes-in-progress
           when you are working offline or are otherwise unable to
           contact your repository over the network.</para>
+      -->
+        <para>如果仓库是通过网络访问的, 那么即使没有网络连接, 用户也可以执行
+          <command>svn status</command>, <command>svn diff</command> 和
+          <command>svn revert</command>, 这就方便用户在离线的情况下管理和
+          审核未完成的修改.</para>
 
         <para>
           <indexterm>
@@ -851,7 +1277,9 @@
           </indexterm>
           <indexterm>
             <primary>delta</primary>
-          </indexterm>Subversion does this by keeping private caches
+          </indexterm>
+      <!--
+          Subversion does this by keeping private caches
           of pristine, unmodified versions of each versioned file
           inside its working copy administrative area (or prior to
           version 1.7, potentially multiple administrative areas).
@@ -866,13 +1294,25 @@
           Having this cache is a tremendous benefit—even if you
           have a fast Internet connection, it's generally much faster
           to send only a file's changes rather than the whole file to
-          the server.</para>
+          the server.
+      -->
+          为了完成这些功能, Subversion 为每一个正在被版本控制的文件, 在工作
+          副本的管理区中 (1.7 前的版本有多个管理区) 缓存一份未修改的原始文
+          件, 这就允许 Subversion 在不需要连接网络的情况下, 查看或撤消本地
+          的修改. 这些缓存 (称为 <firstterm>基文本</firstterm>,
+          <firstterm>text-base</firstterm>) 允许 Subversion 把用户的修改
+          压缩后再向服务器提交. 这样做的好处是巨大的 — 就算用户的网络
+          访问速度很快, 但是和发送整个文件相比, 只发送差异部分会快得多.
+        </para>
 
       </sidebar>
 
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.tour.cycle.examine.status">
+      <!--
         <title>See an overview of your changes</title>
+      -->
+        <title>查看修改的整体概述</title>
 
         <indexterm>
           <primary>svn</primary>
@@ -880,12 +1320,17 @@
           <tertiary>status</tertiary>
         </indexterm>
 
+      <!--
         <para>To get an overview of your changes, use the
           <command>svn status</command> command.  You'll probably use
           <command>svn status</command> more than any other Subversion
           command.</para>
+      -->
+        <para>为了看到修改的整体概述, 使用命令 <command>svn status</command>,
+          它可能是用户最常用到的一个 Subversion 命令.</para>
 
         <tip>
+      <!--
           <para>Because the <command>cvs status</command> command's
             output was so noisy, and because <command>cvs
             update</command> not only performs an update, but also
@@ -896,12 +1341,24 @@
             separate.  See
             <xref linkend="svn.forcvs.status-vs-update"/> for more
             details.</para>
+      -->
+          <para>因为 <command>cvs status</command> 的输出非常庞杂,
+            而 <command>cvs update</command> 不仅执行更新操作, 还会报告本
+            地的修改情况, 所以大多数 CVS 用户更喜欢用
+            <command>cvs update</command> 来查看修改情况. 对 Subversion 来
+            说, 更新和状态报告这两个功能是完全分离的, 更多的细节在
+            <xref linkend="svn.forcvs.status-vs-update"/>.</para>
         </tip>
 
+      <!--
         <para>If you run <userinput>svn status</userinput> at the top
           of your working copy with no additional arguments, it will
           detect and report all file and tree changes you've
           made.</para>
+      -->
+        <para>如果在工作副本的根目录不加任何参数地执行
+          <userinput>svn status</userinput>, Subversion 就会检查并报告所有的
+          文件与目录修改.</para>
 
         <informalexample>
           <screen>
@@ -915,6 +1372,7 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>In its default output mode, <command>svn
           status</command> prints seven columns of characters,
           followed by several whitespace characters, followed by a
@@ -922,6 +1380,10 @@
           of a file or directory and/or its contents.  Some of the
           most common codes that <command>svn status</command>
           displays are:</para>
+      -->
+        <para>在默认的输出模式下, <command>svn status</command> 先打印 7 列
+          字符, 然后是几个空白字符, 最后是文件或目录名. 第一列字符报告文件或
+          目录的状态, 其中最常的几种字符或状态是:</para>
 
         <variablelist>
 
@@ -928,9 +1390,13 @@
           <varlistentry>
             <term><computeroutput>?      item</computeroutput></term>
             <listitem>
+      <!--
               <para>The file, directory, or symbolic link
                 <filename>item</filename> is not under version
                 control.</para>
+      -->
+              <para>文件, 目录或符号链接 <filename>item</filename> 不在版本
+                控制的名单中.</para>
             </listitem>
           </varlistentry>
 
@@ -937,9 +1403,13 @@
           <varlistentry>
             <term><computeroutput>A      item</computeroutput></term>
             <listitem>
+      <!--
               <para>The file, directory, or symbolic link
                 <filename>item</filename> has been scheduled for
                 addition into the repository.</para>
+      -->
+              <para>文件, 目录或符号链接 <filename>item</filename> 是新增的,
+                在下一次提交时就会加入到仓库中.</para>
             </listitem>
           </varlistentry>
 
@@ -946,6 +1416,7 @@
           <varlistentry>
             <term><computeroutput>C      item</computeroutput></term>
             <listitem>
+      <!--
               <para>The file <filename>item</filename> is in a state
                 of conflict.  That is, changes received from the
                 server during an update overlap with local changes
@@ -953,6 +1424,11 @@
                 resolved during the update).  You must resolve this
                 conflict before committing your changes to the
                 repository.</para>
+      -->
+              <para>文件 <filename>item</filename> 有未解决的冲突, 意思是说从
+                服务器收到的更新和该文件的本地修改有所重叠, Subversion 在处理
+                这些重叠的修改时发生了冲突. 用户必须解决掉冲突后才能向仓库
+                提交修改.</para>
             </listitem>
           </varlistentry>
 
@@ -959,9 +1435,14 @@
           <varlistentry>
             <term><computeroutput>D      item</computeroutput></term>
             <listitem>
+      <!--
               <para>The file, directory, or symbolic link
                 <filename>item</filename> has been scheduled for
                 deletion from the repository.</para>
+      -->
+              <para>文件, 目录或符号链接 <filename>item</filename> 已被删除,
+                在下一次提交时就会从仓库中删除 <filename>item</filename>.
+              </para>
             </listitem>
           </varlistentry>
 
@@ -968,16 +1449,23 @@
           <varlistentry>
             <term><computeroutput>M      item</computeroutput></term>
             <listitem>
+      <!--
               <para>The contents of the file <filename>item</filename>
                 have been modified.</para>
+      -->
+              <para>文件 <filename>item</filename> 的内容被修改.</para>
             </listitem>
           </varlistentry>
 
         </variablelist>
 
+      <!--
         <para>If you pass a specific path to <command>svn
           status</command>, you get information about that item
           alone:</para>
+      -->
+        <para>如果给 <command>svn status</command> 传递一个路径名, 那么命
+          令只会输出和该路径相关的状态信息:</para>
 
         <informalexample>
           <screen>
@@ -986,11 +1474,16 @@
 </screen>
         </informalexample>
 
+      <!--
         <para><command>svn status</command> also has a
-          <option>--verbose</option> (<option>-v</option>) option,
+          <option>- -verbose</option> (<option>-v</option>) option,
           which will show you the status of <emphasis>every</emphasis>
           item in your working copy, even if it has not been
           changed:</para>
+      -->
+        <para><command>svn status</command> 支持选项 <option>--verbose</option>
+          (<option>-v</option>), 带上该选项后, 命令会输出当前目录中每一项的
+          状态, 即使是未被修改的项目:</para>
 
         <informalexample>
           <screen>
@@ -1007,6 +1500,7 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>This is the <quote>long form</quote> output of
           <command>svn status</command>.  The letters in the first
           column mean the same as before, but the second column shows
@@ -1013,7 +1507,12 @@
           the working revision of the item.  The third and fourth
           columns show the revision in which the item last changed,
           and who changed it.</para>
+      -->
+        <para>这是 <command>svn status</command> 的 <quote>长格式</quote>
+          (long form) 输出. 第一列字符的含义不变, 第二列显示该项在工作副本
+          中的修订号, 第三和第四列显示该项最后一次被修改的修订号和作者.</para>
 
+      <!--
         <para>None of the prior invocations to <command>svn
           status</command> contact the repository—they merely
           report what is known about the working copy items based on
@@ -1023,9 +1522,16 @@
           working copy have been modified in the repository since the
           last time you updated your working copy.  For
           this, <command>svn status</command> offers the
-          <option>--show-updates</option> (<option>-u</option>)
+          <option>- -show-updates</option> (<option>-u</option>)
           option, which contacts the repository and adds information
           about items that are out of date:</para>
+      -->
+        <para>前面执行的几次 <command>svn status</command> 都不需要和仓库
+          通信 — 它们只是根据工作副本管理区里的数据和文件当前的内容
+          来报告各个文件的状态. 有时候用户可能想知道在上一次更新之后, 哪些
+          文件在仓库中又被更新了, 为此, 可以给 <command>svn status</command>
+          带上选项 <option>--show-updates</option> (<option>-u</option>),
+          这样 Subversion 就会和仓库通信, 输出工作副本中已过时的项目:</para>
 
         <informalexample>
           <screen>
@@ -1039,6 +1545,7 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>Notice in the previous example the two asterisks: if you
           were to run <userinput>svn update</userinput> at this point,
           you would receive changes to <filename>README</filename>
@@ -1049,7 +1556,16 @@
           get the server's changes for that file before you commit, or
           the repository will reject your commit for being out of
           date.  We discuss this in more detail later.</para>
+      -->
+        <para>注意带有星号的那 2 行, 如果此时执行
+          <userinput>svn update</userinput>, 就会从仓库收到
+          <filename>README</filename> 和 <filename>trout.c</filename> 的更新.
+          除此之外我们还可以知道, 在本地被修改的文件当中, 至少有一个在仓库中
+          也被更新了 (文件 <filename>README</filename>), 所以用户必须在提交前把
+          仓库中的更新同步到本地, 否则仓库将会拒绝针对已过时文件的提交,
+          关于这点我们会在后面介绍更多的细节.</para>
 
+      <!--
         <para><command>svn status</command> can display much more
           information about the files and directories in your working
           copy than we've shown here—for an exhaustive
@@ -1057,12 +1573,21 @@
           run <userinput>svn help status</userinput> or see
           <xref linkend="svn.ref.svn.c.status"/> in
           <xref linkend="svn.ref.svn"/>.</para>
+      -->
+        <para>除了我们介绍的例子, <command>svn status</command> 还可以显示更
+          丰富的信息, 关于 <command>svn status</command> 更详细的介绍,
+          执行 <userinput>svn help status</userinput> 或阅读
+          <xref linkend="svn.ref.svn"/> 的
+          <xref linkend="svn.ref.svn.c.status"/></para>
 
       </sect3>
 
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.tour.cycle.examine.diff">
+      <!--
         <title>Examine the details of your local modifications</title>
+      -->
+        <title>查看修改的细节</title>
 
         <para>
           <indexterm>
@@ -1073,7 +1598,9 @@
           <indexterm>
             <primary>differences</primary>
             <secondary>unified diff</secondary>
-          </indexterm>Another way to examine your changes is with the
+          </indexterm>
+      <!--
+          Another way to examine your changes is with the
           <command>svn diff</command> command, which displays
           differences in file content.  When you run <userinput>svn
           diff</userinput> at the top of your working copy with no
@@ -1089,9 +1616,24 @@
           means the line was added to the file.  In the context
           of <command>svn diff</command>, those minus-sign- and
           plus-sign-prefixed lines show how the lines looked before
-          and after your modifications, respectively.</para>
+          and after your modifications, respectively.
+      -->
+          查看修改的另一个命令是 <command>svn diff</command>, 它会输出文件
+          内容的变化. 如果在工作副本的根目录不加任何参数地执行
+          <userinput>svn diff</userinput>, Subversion 就会输出工作副本中人类
+          可读的文件的变化. 文件的变化以 <firstterm>标准差异</firstterm>
+          (<firstterm>unified diff</firstterm>) 的格式输出, 这种格式把文件
+          内容的变化描述成 <quote>块</quote> (hunk) 或 <quote>片断</quote>
+          (snippet), 其中每一行文本都加上一个单字符前缀: 空格表示该行没有
+          变化; 负号 (<literal>-</literal>) 表示该行被删除; 正号
+          (<literal>+</literal>) 表示该行是新增的. 在
+          <command>svn diff</command> 的语境中, 这些冠以正负号的行显示了修改
+          前的行和修改后的行分别是什么样子的.</para>
 
+      <!--
         <para>Here's an example:</para>
+      -->
+        <para>这是一个执行 <userinput>svn diff</userinput> 的例子:</para>
 
         <informalexample>
           <screen>
@@ -1148,7 +1690,9 @@
           <indexterm>
             <primary>patch file</primary>
             <see>patches</see>
-          </indexterm>The <command>svn diff</command> command produces this
+          </indexterm>
+      <!--
+          The <command>svn diff</command> command produces this
           output by comparing your working files against its pristine
           text-base.  Files scheduled for addition are displayed as
           files in which every line was added; files scheduled for
@@ -1163,7 +1707,19 @@
           Because of this, you can share the changes you've made in
           your working copy with someone else without first committing
           those changes by creating a patch file from the redirected
-          output of <command>svn diff</command>:</para>
+          output of <command>svn diff</command>:
+      -->
+          <command>svn diff</command> 在比较了工作副本中的文件和基文本后
+          再输出它们之间的差异. 在命令的输出中, 新增的文件其每一行都被冠
+          以正号; 被删除的文件其每一行都被冠以负号. <command>svn diff</command>
+          的输出格式和程序 <command>patch</command> 以及 Subversion 1.7
+          引入的子命令 <command>svn patch</command> 兼容. 处理补丁的命令
+          (例如 <command>patch</command> 和 <command>svn patch</command>)
+          可以读取并应用 <firstterm>补丁文件</firstterm> 
+          (<firstterm>patch files</firstterm>, 简称 <quote>补丁</quote>).
+          利用补丁, 用户就可以在不提交的情况下, 把工作副本的修改分享给其他
+          人, 创建补丁的方式是把 <command>svn diff</command> 的输出重定向到
+          补丁文件里:</para>
 
         <informalexample>
           <screen>
@@ -1172,11 +1728,12 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>Subversion uses its internal diff engine, which produces
           unified diff format, by default.  If you want diff output in
           a different format, specify an external diff program using
-          <option>--diff-cmd</option> and pass any additional flags
-          that it needs via the <option>--extensions</option>
+          <option>- -diff-cmd</option> and pass any additional flags
+          that it needs via the <option>- -extensions</option>
           (<option>-x</option>) option.  For example, you might want
           Subversion to defer its difference calculation and display
           to the GNU <command>diff</command> program, asking that
@@ -1185,6 +1742,15 @@
           (another flavor of difference format) while ignoring changes
           made only to the case of the letters used in the file's
           contents:</para>
+      -->
+        <para>Subversion 默认使用它自己内部的差异比较程序, 产生标准差异格式
+          的输出. 如果用户想要其他格式的差异输出, 就用选项
+          <option>--diff-cmd</option> 指定一个外部的差异比较程序, 如果需要
+          的话, 还可以用选项 <option>--extensions</option> 向差异比较程序
+          传递其他额外的参数. 例如, 用户想用 GNU 的程序 <command>diff</command>
+          对文件 <filename>foo.c</filename> 进行差异比较, 还要求
+          <command>diff</command> 在比较时忽略大小写, 按照上下文差异格式来
+          产生输出:</para>
 
         <informalexample>
           <screen>
@@ -1201,8 +1767,12 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.tour.cycle.revert">
+      <!--
       <title>Fix Your Mistakes</title>
+      -->
+      <title>修正错误</title>
 
+      <!--
       <para>Suppose while viewing the output of <command>svn
         diff</command> you determine that all the changes you made to
         a particular file are mistakes.  Maybe you shouldn't have
@@ -1212,9 +1782,17 @@
         find a copy of how the file looked before you changed it, and
         then copy its contents atop your modified version.  You
         could attempt to apply those changes to the file again in
-        reverse using <userinput>svn patch --reverse-diff</userinput>
+        reverse using <userinput>svn patch - -reverse-diff</userinput>
         or using your operating system's <userinput>patch -R</userinput>.  
         And there are probably other approaches you could take.</para>
+      -->
+      <para>假设用户在查看 <command>svn diff</command> 的输出时发现针对某
+        一文件的修改都是错误的, 也许这个文件就不应该被修改, 也许重新开始
+        修改文件会更加容易. 为了撤消现在的修改, 用户可以再次编辑文件, 手动
+        地复原成原来的样子, 又或者是从其他地方找到一个原始文件, 把改错的
+        文件覆盖掉, 还可以用 <userinput>svn patch --reverse-diff</userinput>
+        或 <userinput>patch -R</userinput> 逆向应用补丁, 除此之外可能还有
+        其他办法.</para>
 
       <indexterm>
         <primary>svn</primary>
@@ -1222,9 +1800,13 @@
         <tertiary>revert</tertiary>
       </indexterm>
 
+      <!--
       <para>Fortunately in Subversion, undoing your work and starting
         over from scratch doesn't require such acrobatics.  Just use
         the <command>svn revert</command> command:</para>
+      -->
+      <para>幸运的是 Subversion 提供了一种简便的方法来撤消工作副本中的
+        修改, 用到的命令是 <command>svn revert</command>:</para>
 
       <informalexample>
         <screen>
@@ -1237,6 +1819,7 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>In this example, Subversion has reverted the file to its
         premodified state by overwriting it with the pristine version
         of the file cached in the text-base area.  But note that
@@ -1244,6 +1827,11 @@
         <emphasis>any</emphasis> scheduled operation—for
         example, you might decide that you don't want to add a new
         file after all:</para>
+      -->
+      <para>在上面的例子里, Subversion 利用缓存在基文本中的内容, 把文件
+        回滚到修改前的原始状态. 需要注意的是, <command>svn revert</command>
+        会撤消 <emphasis>任何</emphasis> 一个未提交的修改, 例如用户可能不
+        想往仓库中添加新文件:</para>
 
       <informalexample>
         <screen>
@@ -1259,8 +1847,11 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>Or perhaps you mistakenly removed a file from version
         control:</para>
+      -->
+      <para>或者是用户错误地删除了一个本不该删除的文件:</para>
 
       <informalexample>
         <screen>
@@ -1274,6 +1865,7 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>The <command>svn revert</command> command offers salvation
         for imperfect people.  It can save you huge amounts of time
         and energy that would otherwise be spent manually unmaking
@@ -1280,18 +1872,28 @@
         changes or, worse, disposing of your working copy and checking
         out a fresh one just to have a clean slate to work with
         again.</para>
+      -->
+      <para><command>svn revert</command> 提供了一个很好的补救机会,
+        否则的话, 用户就得花费大量的时间, 自己一点一点地手工撤消修改, 又或
+        者采用一个更麻烦的做法, 直接删除工作副本, 然后重新从服务器上检出一个
+        干净的工作副本.</para>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.tour.cycle.resolve">
+      <!--
       <title>Resolve Any Conflicts</title>
+      -->
+      <title>解决冲突</title>
 
       <para>
         <indexterm>
           <primary>conflicts</primary>
           <secondary>resolution</secondary>
-        </indexterm>We've already seen how <userinput>svn status
+          </indexterm>
+      <!--
+          We've already seen how <userinput>svn status
         -u</userinput> can predict conflicts, but dealing with those
         conflicts is still something that remains to be done.
         Conflicts can occur any time you attempt to merge or integrate
@@ -1303,9 +1905,20 @@
         changes made since your last update into your working copy.
         So how does Subversion report these conflicts to you, and how
         do you deal with them?</para>
+      -->
+      我们已经看过 <command>svn status -u</command> 如何预测是否
+        有冲突, 但是解决冲突仍然需要由用户自己来完成. 冲突可以在用户把
+        仓库中的修改合并到本地工作副本的任何时候发生, 到目前为止用户已经
+        知道的命令中, <command>svn update</command> 就有可能产生冲突—
+        该命令的唯一功能就是把仓库中的更新合并到本地工作副本. 那么当发生冲突
+        时 Subversion 如何通知用户, 以及用户应该如何处理它们?</para>
 
+      <!--
       <para>Suppose you run <userinput>svn update</userinput> and you
         see this sort of interesting output:</para>
+      -->
+      <para>假设用户在执行 <userinput>svn update</userinput> 后看到了如下
+        输出:</para>
 
       <informalexample>
         <screen>
@@ -1320,6 +1933,7 @@
         </screen>
       </informalexample>
 
+      <!--
       <para>The <computeroutput>U</computeroutput> (which stands for
         <quote>Updated</quote>) and <computeroutput>G</computeroutput>
         (for <quote>merGed</quote>) codes are no cause for concern;
@@ -1330,7 +1944,15 @@
         <computeroutput>G</computeroutput> had local changes to begin
         with, but the changes coming from the repository didn't
         overlap with those local changes.</para>
+      -->
+      <para>不用担心左边有 <computeroutput>U</computeroutput> (Updated, 更新)
+        或 <computeroutput>G</computeroutput> (merGed, 合并) 的文件, 这表示
+        它们成功地吸收了来自仓库的更新. <computeroutput>U</computeroutput>
+        表示该文件不包含本地修改, 只是用仓库中的修改更新了文件内容.
+        <computeroutput>G</computeroutput> 表示该文件含有本地修改, 但是这
+        些修改和来自仓库的修改没有重叠.</para>
 
+      <!--
       <para>It's the next few lines which are interesting.  First,
         Subversion reports to you that in its attempt to merge
         outstanding server changes into the
@@ -1345,7 +1967,13 @@
         conflict.  The most commonly used options are displayed, but
         you can see all of the options by
         typing <replaceable>s</replaceable>:</para>
-
+      -->
+      <para>再下来几行就比较有趣了. 首先, Subversion 报告说在把仓库的修改
+        合并到文件 <filename>bar.c</filename> 时, 发现其中一些修改和本地未
+        提交的修改产生了冲突. 原因可能是其他人和用户都修改了同一行, 无论是
+        因为什么, Subversion 在发现冲突时会马上把文件置成冲突状态, 然后询问
+        用户他想怎么办. 用户可以从 Subversion 给出的几个选项中选择一个,
+        如果想看完整的选项列表, 就输入 <replaceable>s</replaceable>:</para>
       <informalexample>
         <screen>
 …
@@ -1377,16 +2005,23 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>Let's briefly review each of these options before we go
         into detail on what each option means.</para>
+      -->
+      <para>先简单地介绍一下每一个选项.</para>
 
       <variablelist>
         <varlistentry>
           <term><computeroutput>(e)  edit  [edit]</computeroutput></term>
           <listitem>
+      <!--
             <para>Open the file in conflict with your favorite editor,
               as set in the environment variable
               <literal>EDITOR</literal>.</para>
+      -->
+            <para>使用环境变化 <literal>EDITOR</literal> 定义的编辑器打开
+              发生冲突的文件.</para>
           </listitem>
         </varlistentry>
 
@@ -1393,8 +2028,11 @@
         <varlistentry>
           <term><computeroutput>(df)  diff-full</computeroutput></term>
           <listitem>
+      <!--
             <para>Display the differences between the base revision
               and the conflicted file itself in unified diff format.</para>
+      -->
+            <para>按照标准差异格式显示基础修订版和冲突的文件之间的差异.</para>
           </listitem>
         </varlistentry>
 
@@ -1401,11 +2039,15 @@
         <varlistentry>
           <term><computeroutput>(r)  resolved</computeroutput></term>
           <listitem>
+      <!--
             <para>After editing a file, tell
               <command>svn</command> that you've resolved the
               conflicts in the file and that it should accept the
               current contents—basically that you've
               <quote>resolved</quote> the conflict.</para>
+      -->
+            <para>编辑完成后, 告诉 <command>svn</command> 用户已经解决了冲突,
+              现在应该接受文件的当前内容.</para>
           </listitem>
         </varlistentry>
 
@@ -1412,8 +2054,11 @@
         <varlistentry>
           <term><computeroutput>(dc)  display-conflict</computeroutput></term>
           <listitem>
+      <!--
             <para>Display all conflicting regions of the file,
               ignoring changes which were successfully merged.</para>
+      -->
+            <para>显示冲突的区域, 忽略合并成功的修改.</para>
           </listitem>
         </varlistentry>
 
@@ -1420,10 +2065,14 @@
         <varlistentry>
           <term><computeroutput>(mc)  mine-conflict  [mine-conflict]</computeroutput></term>
           <listitem>
+      <!--
             <para>Discard any newly received changes from the server
               which conflict with your local changes to the file under
               review.  However, accept and merge all non-conflicting
               changes received from the server for that file.</para>
+      -->
+            <para>丢弃从服务器收到的, 与本地冲突的所有修改, 但是接受不会产生
+              冲突的修改.</para>
           </listitem>
         </varlistentry>
 
@@ -1430,10 +2079,14 @@
         <varlistentry>
           <term><computeroutput>(tc)  theirs-conflict  [theirs-conflict]</computeroutput></term>
           <listitem>
+      <!--
             <para>Discard any local changes which conflict with
               incoming changes from the server for the file under
               review.  However, preserve all non-conflicting local
               changes to that file.</para>
+      -->
+            <para>丢弃与服务器产生冲突的所有本地修改, 但是保留不会产生冲突
+              的本地修改.</para>
           </listitem>
         </varlistentry>
 
@@ -1440,9 +2093,13 @@
         <varlistentry>
           <term><computeroutput>(mf)  mine-full  [mine-full]</computeroutput></term>
           <listitem>
+      <!--
             <para>Discard all newly received changes from the server
               for the file under review, but preserve all your local
               changes for that file.</para>
+      -->
+            <para>丢弃从服务器收到的该文件的所有修改, 但是保留该文件的
+              本地修改.</para>
           </listitem>
         </varlistentry>
 
@@ -1449,9 +2106,12 @@
         <varlistentry>
           <term><computeroutput>(tf)  theirs-full  [theirs-full]</computeroutput></term>
           <listitem>
+      <!--
             <para>Discard all your local changes to the file under
               review and use only the newly received changes from the
               server for that file.</para>
+      -->
+            <para>丢弃该文件的所有本地修改, 只使用从服务器收到的修改.</para>
           </listitem>
         </varlistentry>
 
@@ -1458,9 +2118,13 @@
         <varlistentry>
           <term><computeroutput>(m)  merge</computeroutput></term>
           <listitem>
+      <!--
             <para>Launch an internal file merge tool to perform the
               conflict resolution.  The option is available starting
               with Subversion 1.8.</para>
+      -->
+            <para>打开一个内部文件合并工具来解决冲突, 该选项从 Subversion 1.8
+              开始支持.</para>
           </listitem>
         </varlistentry>
 
@@ -1467,9 +2131,13 @@
         <varlistentry>
           <term><computeroutput>(l)  launch</computeroutput></term>
           <listitem>
+      <!--
             <para>Launch an external program to perform the conflict
               resolution.  This requires a bit of preparation
               beforehand.</para>
+      -->
+            <para>打开一个外部程序来解决冲突, 在第一次使用该选项之前需要完成
+              一些准备工作.</para>
           </listitem>
         </varlistentry>
 
@@ -1476,8 +2144,11 @@
         <varlistentry>
           <term><computeroutput>(p)  postpone  [postpone]</computeroutput></term>
           <listitem>
+      <!--
             <para>Leave the file in a conflicted state for you to
               resolve after your update is complete.</para>
+      -->
+            <para>让文件停留在冲突状态, 在更新完成后再解决冲突.</para>
           </listitem>
         </varlistentry>
 
@@ -1484,26 +2155,38 @@
         <varlistentry>
           <term><computeroutput>(s)  show all</computeroutput></term>
           <listitem>
+      <!--
             <para>Show the list of all possible commands you can use
               in interactive conflict resolution.</para>
+      -->
+            <para>显示所有的, 可以用在交互式的冲突解决中的命令.</para>
           </listitem>
         </varlistentry>
 
       </variablelist>
 
+      <!--
       <para>We'll cover these commands in more detail now, grouping
         them together by related functionality.</para>
+      -->
+      <para>我们将对以上命令进行更为详细的说明, 说明中将按照功能对命令进行
+        分组.</para>
 
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.tour.cycle.resolve.diff">
 
+      <!--
         <title>Viewing conflict differences interactively</title>
+      -->
+        <title>交互式地查看冲突差异</title>
 
         <para>
           <indexterm>
             <primary>conflicts</primary>
             <secondary>reviewing</secondary>
-          </indexterm>Before deciding how to attack a conflict
+          </indexterm>
+      <!--
+          Before deciding how to attack a conflict
           interactively, odds are that you'd like to see exactly what
           is in conflict.  Two of the commands available at the
           interactive conflict resolution prompt can assist you here.
@@ -1511,6 +2194,9 @@
           (<userinput>df</userinput>), which displays all the local
           modifications to the file in question plus any conflict
           regions:</para>
+      -->
+        在决定如何交互地解决冲突之前, 有必要看一下冲突的内容, 其中有两
+          个命令可以帮到我们. 第一个是 <userinput>df</userinput>:</para>
 
         <informalexample>
           <screen>
@@ -1531,6 +2217,7 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>The first line of the diff content shows the previous
           contents of the working copy (the <literal>BASE</literal>
           revision), the next content line is your change, and the
@@ -1537,7 +2224,13 @@
           last content line is the change that was just received from
           the server (<emphasis>usually</emphasis> the
           <literal>HEAD</literal> revision).</para>
+      -->
+        <para>差异内容的第一行显示了工作副本之前的内容 (修订号
+          <literal>BASE</literal>), 下一行是用户的修改, 最后一行是从服务器
+          收到的修改 (<emphasis>通常</emphasis> 是修订号
+          <literal>HEAD</literal>).</para>
 
+      <!--
         <para>The second command is similar to the first, but
           the <quote>display-conflict</quote>
           (<userinput>dc</userinput>) command shows only the conflict
@@ -1549,9 +2242,18 @@
           with your local changes applied and the server's conflicting
           changes ignored; and with only the server's incoming changes
           applied and your local, conflicting changes reverted.</para>
+      -->
+        <para>第二个命令和第一个比较类似, 但是 <userinput>dc</userinput>
+          只会显示冲突区域, 而不是文件的所有修改. 另外, 该命令显示冲突区域
+          的格式也稍有不同, 这种格式允许用户更方便地比较文件在三种状态下的
+          内容: 原始状态; 带有用户的本地修改, 忽略服务器的冲突修改; 带有服
+          务器的修改, 忽略用户的本地修改.</para>
 
+      <!--
         <para>After reviewing the information provided by these
           commands, you're ready to move on to the next action.</para>
+      -->
+        <para>审核完这些命令提供的信息之后, 用户就可以采取下一下动作.</para>
 
       </sect3>
 
@@ -1558,7 +2260,10 @@
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.tour.cycle.resolve.resolve">
 
+      <!--
         <title>Resolving conflict differences interactively</title>
+      -->
+        <title>交互式地解决冲突差异</title>
 
         <para>
           <indexterm>
@@ -1565,7 +2270,9 @@
             <primary>conflicts</primary>
             <secondary>resolution</secondary>
             <tertiary>interactive</tertiary>
-          </indexterm>The main way to resolve conflicts interactively
+          </indexterm>
+      <!--
+          The main way to resolve conflicts interactively
           is to use an internal file merge tool.  The tool asks you
           what to do with each conflicting change and allows you to
           selectively merge and edit changes.  However, there are
@@ -1575,7 +2282,14 @@
           which allow you to simply pick a version of the file and
           move along.  Internal merge tool combines all of the
           available ways to resolve conflicts.</para>
+      -->
+        交互式地解决冲突的主要方法是使用一个内部文件合并工具, 该工具
+          询问用户如何处理每一个冲突修改, 而且允许用户有选择地合并和编辑修改.
+          除此之外还有其他几种方式用于交互式地解决冲突—其中两种允许用
+          户使用外部编辑器, 有选择地合并和编辑修改, 另外几种允许用户简单地选择
+          文件版本. 内部合并工具集合了所有解决冲突的方式.</para>
 
+      <!--
         <para>You've already reviewed the conflicting changes, so it's
           now time to resolve the conflicts.  The first command that
           should help you is the <quote>merge</quote> command
@@ -1584,6 +2298,10 @@
           areas and allows you to choose from a number of options to
           resolve the conflicts area-by-area:
          </para>
+      -->
+         <para>看完引起冲突的修改后, 接下来就要解决这些冲突. 我们要介绍的第
+           一个命令是 <userinput>m</userinput> (merge), 从 Subversion 1.8 开
+           始支持, 该命令允许用户从众多选项中选择一个来解决冲突:</para>
 
         <informalexample>
           <screen>
@@ -1607,11 +2325,17 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>As you can see, when you use the internal file merge tool,
           you can cycle through individual conflicting areas in the
           file and select various resolution options or postpone
           conflict resolution for selected conflicts.</para>
+      -->
+        <para>从上面可以看到, 使用内部文件合并工具时, 用户可以循环遍历文件中
+          的每一个冲突区域, 对每一个冲突区域用户都可以选择一个不同的选项, 或者
+          推迟解决该冲突.</para>
 
+      <!--
         <para>However, if you wish to use an external editor to choose some
           combination of your local
           changes, you can use the <quote>edit</quote> command
@@ -1623,7 +2347,15 @@
           edited file is no longer in conflict by using
           the <quote>resolved</quote> command
           (<literal>r</literal>).</para>
+      -->
+        <para>如果用户想用一个外部编辑器来选择本地修改的某些组合, 此时可用
+          用命令 <userinput>e</userinput> (edit) 来手动地编辑带有冲突标记的
+          文件, 该命令会打开一个文本编辑器 (参考
+          <xref linkend="svn.advanced.externaleditors"/>). 文件编辑完毕后,
+          如果用户感到满意, 就要用命令 <userinput>r</userinput>
+          (resolved) 告诉 Subversion 文件的冲突已经解决了.</para>
 
+      <!--
         <para>Regardless of what your local Unix snob will likely tell
           you, editing the file by hand in your favorite text editor
           is a somewhat low-tech way of remedying conflicts (see
@@ -1634,7 +2366,14 @@
           merge tool instead (see
           <xref linkend="svn.advanced.externaldifftools.merge"
           />).</para>
+      -->
+      <para>不管别人怎么说, 使用文本编辑器编辑文件来解决冲突是一种比较低
+        级的方法 (见 <xref linkend="svn.tour.cycle.resolve.byhand"/>), 因此,
+        Subversion 提供了一个命令 <userinput>l</userinput> (launch) 来打开
+        精美的图形化合并工具 (见
+        <xref linkend="svn.advanced.externaldifftools.merge"/>).</para>
 
+      <!--
         <para>There is also a pair of compromise options
           available.  The <quote>mine-conflict</quote>
           (<userinput>mc</userinput>)
@@ -1647,7 +2386,15 @@
           preserve both your local changes and changes received from
           the server in regions of the file where no conflict was
           detected.</para>
+      -->
+        <para>还有两个稍微折衷一点的选项, 命令 <userinput>mc</userinput>
+          (mine-conflict) 和 <userinput>tc</userinput> (theirs-conflict)
+          分别告诉 Subversion 选择用户的本地修改或从服务器收到的修改作为冲突
+          获胜的一方. 但是和 <quote>mine-full</quote> 以及
+          <quote>theirs-full</quote> 不同的是, 这两个命令会保留不产生冲突的
+          本地修改和从服务器收到的修改.</para>
 
+      <!--
         <para>Finally, if you decide that you don't need to merge any changes,
           but just want to accept one version of the file or the
           other, you can either choose your changes (a.k.a.
@@ -1655,6 +2402,10 @@
           command (<userinput>mf</userinput>) or choose theirs by using the
           <quote>theirs-full</quote> command
           (<userinput>tf</userinput>).</para>
+      -->
+        <para>最后, 如果用户决定只想使用本地修改, 或者是只使用从服务器收到
+          的修改, 可以分别选择 <userinput>mf</userinput> (mine-full) 与
+          <userinput>tf</userinput> (theirs-full).</para>
 
       </sect3>
 
@@ -1661,7 +2412,10 @@
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.tour.cycle.resolve.pending">
 
+      <!--
         <title>Postponing conflict resolution</title>
+      -->
+        <title>推迟解决冲突</title>
 
         <para>
           <indexterm>
@@ -1668,7 +2422,9 @@
             <primary>conflicts</primary>
             <secondary>resolution</secondary>
             <tertiary>postponing</tertiary>
-          </indexterm>This may sound like an appropriate section for avoiding
+          </indexterm>
+      <!--
+          This may sound like an appropriate section for avoiding
           marital disagreements, but it's actually still about
           Subversion, so read on.  If you're doing an update and
           encounter a conflict that you're not prepared to review or
@@ -1676,17 +2432,32 @@
           resolving a conflict on a file-by-file basis when you run
           <userinput>svn update</userinput>.  If you know in advance
           that you don't want to resolve any conflicts interactively,
-          you can pass the <option>--non-interactive</option> option
+          you can pass the <option>- -non-interactive</option> option
           to <command>svn update</command>, and any file in conflict
           will be marked with a <computeroutput>C</computeroutput>
           automatically.</para>
+      -->
+        这节的标题看起来好像是在讲如何避免夫妻之间爆发冲突, 可实际上
+          本节还是在介绍和 Subversion 相关的内容. 如果用户在更新时遇到了冲
+          突, 但是还没有准备好立即解决, 这时可以选择 <userinput>p</userinput>
+          来推迟解决. 如果用户早就准备好不想交互式地解决冲突, 可以给
+          <command>svn update</command> 增加一个参数
+          <option>--non-interactive</option>, 此时发生冲突的文件会被自动
+          标记为 <computeroutput>C</computeroutput>.</para>
 
+      <!--
         <para>Beginning with Subversion 1.8, an internal file merge
           tool allows you to postpone conflict resolution for certain
           conflicts, but resolve other confilcts.  Therefore, you can
           postpone conflict resolution area-by-area, not just on
           file-to-file basis.</para>
+      -->
+        <para>从 Subversion 1.8 开始, 内部的文件合并工具允许用户推迟解决
+          某些特定的冲突, 但仍然可以解决其他冲突. 于是, 用户可以以冲突
+          区域为单位 (而不仅仅是以文件为单位) 来决定哪些冲突可以推迟解决.
+        </para>
 
+      <!--
         <para>The <computeroutput>C</computeroutput>
           (for <quote>Conflicted</quote>) means that the changes from the
           server overlapped with your own, and now you have to
@@ -1694,6 +2465,11 @@
           When you postpone a conflict resolution,
           <command>svn</command> typically does three things to assist
           you in noticing and resolving that conflict:</para>
+      -->
+        <para><computeroutput>C</computeroutput> (<quote>Conflicted</quote>)
+          表示来自服务器的修改和用户的本地修改有所重叠, 用户在更新完成后必须
+          手动加以选择. 如果用户推迟解决冲突, <command>svn</command> 通常
+          会从三个方面帮助用户解决冲突:</para>
 
         <itemizedlist>
 
@@ -1703,12 +2479,18 @@
           </indexterm>
 
           <listitem>
+      <!--
             <para>Subversion prints a <computeroutput>C</computeroutput>
               during the update and remembers that the file is in a
               state of conflict.</para>
+      -->
+            <para>如果在更新过程中产生了冲突, Subversion 就会为含有冲突的
+              文件打印一个字符 <computeroutput>C</computeroutput>, 并记住
+              该文件处于冲突状态.</para>
           </listitem>
 
           <listitem>
+      <!--
             <para>If Subversion considers the file to be mergeable, it
               places <firstterm>conflict
               markers</firstterm>—special strings of text that
@@ -1719,11 +2501,23 @@
               file is capable of contextual, line-based merging.  See
               <xref linkend="svn.advanced.props.special.mime-type"/>
               to learn more.)</para>
+      -->
+            <para>如果 Subversion 认为文件是支持合并的, 它就会把
+              <firstterm>冲突标记</firstterm>
+              (<firstterm>conflict markers</firstterm>)—一段给冲突划分
+              边界的特殊文本—插入到文本中来显式地指出重叠区域
+              (Subversion 使用属性 <literal>svn:mime-type</literal> 来判断
+              一个文件是否支持基于行的合并, 见
+              <xref linkend="svn.advanced.props.special.mime-type"/>).</para>
           </listitem>
 
           <listitem>
+      <!--
             <para>For every conflicted file, Subversion places three
               extra unversioned files in your working copy:</para>
+      -->
+            <para>对每一个产生冲突的文件, Subversion 都会在工作副本中生成
+              三个额外的文件, 这些文件不在版本控制的名单中:</para>
 
             <variablelist>
 
@@ -1730,6 +2524,7 @@
               <varlistentry>
                 <term><filename>filename.mine</filename></term>
                 <listitem>
+      <!--
                   <para>This is the file as it existed in your working
                     copy before you began the update process.  It
                     contains any local modifications you had made to
@@ -1738,6 +2533,10 @@
                     the <filename>.mine</filename> file isn't created,
                     since it would be identical to the working
                     file.)</para>
+      -->
+                  <para>该文件的内容和用户执行更新操作前的文件内容相同, 它
+                    包含了当时所有的本地修改 (如果 Subversion 认为该文件不
+                    支持合并就不会创建 <filename>.mine</filename>).</para>
                 </listitem>
               </varlistentry>
 
@@ -1745,6 +2544,7 @@
                 <term><filename>filename.r<replaceable>OLDREV</replaceable>
                       </filename></term>
                 <listitem>
+      <!--
                   <para>This is the file as it existed in the
                     <literal>BASE</literal> revision—that is,
                     the unmodified revision of the file in your
@@ -1752,6 +2552,11 @@
                     the update process—where
                     <replaceable>OLDREV</replaceable> is that base
                     revision number.</para>
+      -->
+                  <para>该文件的内容和修订号 <literal>BASE</literal> 对应
+                    的文件内容相同, 也就是在执行更新操作前工作副本中未修改
+                    的版本, <replaceable>OLDREV</replaceable> 是基础修订号.
+                  </para>
                 </listitem>
               </varlistentry>
 
@@ -1759,6 +2564,7 @@
                 <term><filename>filename.r<replaceable>NEWREV</replaceable>
                       </filename></term>
                 <listitem>
+      <!--
                   <para>This is the file that your Subversion client
                     just received from the server via the update of
                     your working copy, where
@@ -1766,6 +2572,11 @@
                     the revision number to which you were updating
                     (<literal>HEAD</literal>, unless otherwise
                     requested).</para>
+      -->
+                  <para>该文件的内容和从服务器收到的版本相同,
+                    <replaceable>NEWREV</replaceable> 等于更新到的修订号
+                    (如果没有额外指定的话, 就是 <literal>HEAD</literal>).
+                  </para>
                 </listitem>
               </varlistentry>
 
@@ -1774,11 +2585,16 @@
 
         </itemizedlist>
 
+      <!--
         <para>For example, Sally makes changes to the file
           <filename>sandwich.txt</filename>, but does not yet commit
           those changes.  Meanwhile, Harry commits changes to that
           same file.  Sally updates her working copy before committing
           and she gets a conflict, which she postpones:</para>
+      -->
+        <para>例如, Sally 修改了文件 <filename>sandwich.txt</filename>, 但
+          是还没有提交. 同时, Harry 提交了同一文件的修改. 在提交前 Sally
+          执行了更新操作, 结果产生了冲突, 她选择推迟解决冲突:</para>
 
         <informalexample>
           <screen>
@@ -1804,6 +2620,8 @@
           allow Sally to commit the file
           <filename>sandwich.txt</filename> until the three temporary
           files are removed:</para>
+        <para>此时, 直到这三个临时文件被删除之前, Subversion 不会允许 Sally
+          提交 <filename>sandwich.txt</filename>:</para>
 
         <informalexample>
           <screen>
@@ -1813,11 +2631,12 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>If you've postponed a conflict, you need to resolve the
           conflict before Subversion will allow you to commit your
           changes.  You'll do this with the <command>svn
           resolve</command> command.  This command accepts
-          the <option>--accept</option> option, which allows you
+          the <option>- -accept</option> option, which allows you
           specify your desired approach for resolving the conflict.
           Prior to Subversion 1.8, the <command>svn resolve</command>
           <emphasis>required</emphasis> the use of this option.
@@ -1828,24 +2647,47 @@
           already) in the previous section,
           <xref linkend="svn.tour.cycle.resolve.resolve" />.  We'll
           take the opportunity in this section, though, to discuss
-          the use of the <option>--accept</option> option for
+          the use of the <option>- -accept</option> option for
           conflict resolution.</para>
+      -->
+        <para>如果用户选择推迟解决冲突, 只有在冲突解决之后, Subversion 才
+          会重新允许用户提交修改, 其中要用到的命令是
+          <command>svn resolve</command>. 该命令接受一个
+          <option>--accept</option> 选项, 它指明了用户想要如何解决冲突.
+          在 Subversion 1.8 以前, <option>--accept</option> 是
+          <command>svn resolve</command> 的必填选项, 但是现在它是可选的.
+          如果不带 <option>--accept</option> 地执行
+          <command>svn resolve</command>, Subversion 就会进入交互式地冲突
+          解决步骤, 这部分内容我们已经在上一节—
+          <xref linkend="svn.tour.cycle.resolve.resolve"/>—介绍过了.
+          下面我们会介绍如何使用选择 <option>--accept</option>.</para>
 
-        <para>The <option>--accept</option> option to the <command>svn
+      <!--
+        <para>The <option>- -accept</option> option to the <command>svn
           resolve</command> command instructs Subversion to use one of
           its pre-packaged approaches to conflict resolution.  If
           you want Subversion to resolve the conflict using the
           version of the file that you last checked out before making
-          your edits, use <option>--accept=base</option>.  If you'd
+          your edits, use <option>- -accept=base</option>.  If you'd
           prefer instead to keep the version that contains only your
-          edits, use <option>--accept=mine-full</option>.  You can also
+          edits, use <option>- -accept=mine-full</option>.  You can also
           select the version that your most recent update pulled from
           the server (discarding your edits entirely)—that's
-          done using <option>--accept=theirs-full</option>.  There
+          done using <option>- -accept=theirs-full</option>.  There
           are other <quote>canned</quote> resolution types, too.  See
           <xref linkend="svn.ref.svn.sw.accept" /> in
           <xref linkend="svn.ref.svn" /> for details.</para>
+      -->
+        <para>选项 <option>--accept</option> 指示 Subversion 使用预先定义
+          好的几种方法之一来解决冲突. 如果用户想要使用上一次检出时版本,就
+          写成 <option>--accept=base</option>; 如果用户只想保留自己的修改,
+          就写成 <option>--accept=mine-full</option>; 如果用户只想保留从
+          服务器收到的更新, 就写成 <option>--accept=theirs-full</option>.
+          除了刚才介绍的几个, 还有其他一些选项值, 参考
+          <xref linkend="svn.ref.svn"/> 的
+          <xref linkend="svn.ref.svn.sw.accept"/>.</para>
 
+      <!--
         <para>You aren't limited strictly to all-or-nothing options.
           If you want to pick and choose from your changes and the
           changes that your update fetched from the server, you can
@@ -1854,8 +2696,14 @@
           conflict markers within the file), then tell Subversion to
           resolve the conflict by keeping the working file in its
           current state by running <command>svn resolve</command> with
-          the <option>--accept=working</option> option.</para>
+          the <option>- -accept=working</option> option.</para>
+      -->
+        <para>如果用户想要自己选择哪些修改进入最终版本, 那就自己手动编辑
+          文件, 修改冲突区域 (带有冲突标记的区域), 然后使用选项
+          <command>--accept=working</command> 告诉 Subversion 把文件的
+          当前内容作为冲突解决后的状态.</para>
 
+      <!--
         <para><command>svn resolve</command> removes the three
           temporary files and accepts the version of the file that you
           specified.  After the command completes
@@ -1863,6 +2711,10 @@
           choose to postpone resolution, of course—Subversion no
           longer considers the file to be in a state of
           conflict:</para>
+      -->
+        <para><command>svn resolve</command> 删除三个临时文件, 将用户指定的
+          文件版本作为冲突解决后的最终版. 命令执行成功后 Subversion 不再认为
+          文件处于冲突状态:</para>
 
         <informalexample>
           <screen>
@@ -1875,7 +2727,10 @@
 
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.tour.cycle.resolve.byhand">
+      <!--
         <title>Manual conflict resolution</title>
+      -->
+        <title>手动地解决冲突</title>
 
         <para>
           <indexterm>
@@ -1882,10 +2737,16 @@
             <primary>conflicts</primary>
             <secondary>resolution</secondary>
             <tertiary>manual</tertiary>
-          </indexterm>Manually resolving conflicts can be quite intimidating the
+          </indexterm>
+      <!--
+          Manually resolving conflicts can be quite intimidating the
           first time you attempt it, but with a little practice, it
           can become as easy as falling off a bike.</para>
+      -->
+          第一次尝试手动解决冲突会让不少人感到紧张, 但只要多练几次, 后面就会像
+          骑自行车一样简单.</para>
 
+      <!--
         <para>Here's an example.  Due to a miscommunication, you and
           Sally, your collaborator, both edit the file
           <filename>sandwich.txt</filename> at the same time.  Sally
@@ -1893,6 +2754,11 @@
           copy, you get a conflict and you're going to have to edit
           <filename>sandwich.txt</filename> to resolve the conflict.
           First, let's take a look at the file:</para>
+      -->
+        <para>这里有一个例子. 由于沟通上的误会, 你和你的同事, Sally, 同时修改
+          了 <filename>sandwich.txt</filename>, Sally 先提交了修改, 结果当你
+          更新工作副本时发生了冲突, 现在你需要手动编辑文件来解决冲突. 首先先
+          看一下发生冲突后的文件内容:</para>
 
         <informalexample>
           <screen>
@@ -1915,6 +2781,7 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>The strings of less-than signs, equals signs, and
           greater-than signs are conflict markers and are not part of
           the actual data in conflict.  You generally want to ensure
@@ -1922,6 +2789,10 @@
           commit.  The text between the first two sets of markers is
           composed of the changes you made in the conflicting
           area:</para>
+      -->
+        <para>分别由小于号, 等号和大于号缓存的行是冲突标记, 它们不是冲突数据
+          一部分, 用户通常只需要确保在提交前把它们都删除掉即可. 前两个标记之
+          间的文本是用户的本地修改.</para>
 
         <informalexample>
           <screen>
@@ -1933,8 +2804,11 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>The text between the second and third sets of conflict
           markers is the text from Sally's commit:</para>
+      -->
+        <para>后两个标记之间的内容是 Sally 提交的修改:</para>
 
         <informalexample>
           <screen>
@@ -1945,6 +2819,7 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>Usually you won't want to just delete the conflict
           markers and Sally's changes—she's going to be awfully
           surprised when the sandwich arrives and it's not what she
@@ -1955,7 +2830,11 @@
           a rail.</para></footnote>  Once you've agreed on the changes
           you will commit, edit your file and remove the conflict
           markers:</para>
-
+      -->
+        <para>通常情况下你不能直接删除冲突标记和 Sally 的修改—
+          否则的话当她收到三明治时就会感到一头雾水, 此时你应该向她说明意大
+          利熟食店不出售泡洋白菜丝. 假设 <filename>sandwich.txt</filename>
+          修改完毕后的内容是:</para>
         <informalexample>
           <screen>
 Top piece of bread
@@ -1971,8 +2850,12 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>Now use <command>svn resolve</command>, and you're
           ready to commit your changes:</para>
+      -->
+        <para>使用命令 <command>svn resolve</command> 移除文件的冲突状态后,
+          接下来就可以提交修改了:</para>
 
         <informalexample>
           <screen>
@@ -1982,6 +2865,7 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>Naturally, you want to be careful that when using
           <command>svn resolve</command> you don't tell Subversion
           that you've resolved a conflict when you truly haven't.
@@ -1988,7 +2872,13 @@
           Once the temporary files are removed, Subversion will let
           you commit the file even if it still contains conflict
           markers.</para>
+      -->
+        <para>通常情况下, 如果用户还没有编辑好文件就不要用
+          <command>svn resolve</command> 告诉 Subversion 你已经解决好了
+          冲突, 因为临时文件一旦被删除, 即使文件中还含有冲突标记, Subversion
+          依然会允许用户提交修改.</para>
 
+      <!--
         <para>If you ever get confused while editing the conflicted
           file, you can always consult the three files that Subversion
           creates for you in your working copy—including your
@@ -1995,13 +2885,20 @@
           file as it was before you updated.  You can even use a
           third-party interactive merging tool to examine those three
           files.</para>
+      -->
+        <para>如果用户在编辑含有冲突的文件时感到困惑, 应该看一下 Subversion
+          创建的那三个临时文件, 甚至可以用第三方的交互式文件合并工具来查看
+          它们.</para>
 
       </sect3>
 
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.tour.cycle.resolve.theirsfull">
+      <!--
         <title>Discarding your changes in favor of a newly fetched
           revision</title>
+      -->
+        <title>只使用从服务器收到的更新</title>
   
         <para>
           <indexterm>
@@ -2008,12 +2905,19 @@
             <primary>conflicts</primary>
             <secondary>resolution</secondary>
             <tertiary>discarding local changes</tertiary>
-          </indexterm>If you get a conflict and decide that you want
+          </indexterm>
+      <!--
+          If you get a conflict and decide that you want
           to throw out your changes, you can run <userinput>svn
-          resolve --accept theirs-full
+          resolve - -accept theirs-full
           <replaceable>CONFLICTED-PATH</replaceable></userinput> and
           Subversion will discard your edits and remove the temporary
           files:</para>
+      -->
+        如果在更新时产生了冲突, 而你想要完全丢弃自己的修改, 就执行
+        <userinput>svn resolve --accept theirs-full <replaceable>CONFLICTED-PATH
+        </replaceable></userinput>, 此时 Subversion 就会丢弃用户的本地修改, 并
+        删除临时文件:</para>
 
         <informalexample>
          <screen>
@@ -2039,7 +2943,10 @@
 
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.tour.cycle.resolve.revert">
+      <!--
         <title>Punting: using svn revert</title>
+      -->
+        <title>使用 svn revert</title>
 
         <para>
           <indexterm>
@@ -2046,9 +2953,14 @@
             <primary>conflicts</primary>
             <secondary>resolution</secondary>
             <tertiary>discarding local changes</tertiary>
-          </indexterm>If you decide that you want to throw out your changes
+          </indexterm>
+      <!--
+          If you decide that you want to throw out your changes
           and start your edits again (whether this occurs after a
           conflict or anytime), just revert your changes:</para>
+      -->
+        如果用户决定丢弃当前的所有修改 (无论是在冲突后, 还是在任何时候), 就
+        用 <command>svn revert</command>:</para>
 
         <informalexample>
           <screen>
@@ -2060,8 +2972,12 @@
 </screen>
         </informalexample>
 
+      <!--
         <para>Note that when you revert a conflicted file, you don't
           have to use <command>svn resolve</command>.</para>
+      -->
+        <para>注意, 含有冲突的文件被回滚后不需要再对它使用
+          <command>svn resolve</command>.</para>
 
       </sect3>
 
@@ -2069,19 +2985,32 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.tour.cycle.commit">
+      <!--
       <title>Commit Your Changes</title>
+      -->
+      <title>提交修改</title>
 
+      <!--
       <para>Finally!  Your edits are finished, you've merged all
         changes from the server, and you're ready to commit your
         changes to the repository.</para>
+      -->
+      <para>终于, 所有的编辑都完成了, 从服务收到的更新也已合并完成, 现在你
+        已经准备好向仓库提交修改.</para>
 
+      <!--
       <para>The <command>svn commit</command> command sends all of
         your changes to the repository.  When you commit a change, you
         need to supply a log message describing your change.  Your log
         message will be attached to the new revision you create.  If
         your log message is brief, you may wish to supply it on the
-        command line using the <option>--message</option>
+        command line using the <option>- -message</option>
         (<option>-m</option>) option:</para>
+      -->
+      <para><command>svn commit</command> 把本地的所有修改发往仓库. 提交时
+        用户需要输入一段日志来描述本次修改, 日志被附加到新的修订号上. 如果
+        日志比较简短, 可以用选项 <option>--message</option>
+        (<option>-m</option>) 在直接命令行上输入日志:</para>
 
       <informalexample>
         <screen>
@@ -2092,11 +3021,16 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>However, if you've been composing your log message in some
         other text file as you work, you may want to tell Subversion
         to get the message from that file by passing its filename as
-        the value of the <option>--file</option> (<option>-F</option>)
+        the value of the <option>- -file</option> (<option>-F</option>)
         option:</para>
+      -->
+      <para>如果用户已经事先把日志写到了某个文本文件中, 希望 Subversion 在
+        提交时直接从该文件中读取日志, 这可以通过选项 <option>--file</option>
+        (<option>-F</option>) 实现:</para>
 
       <informalexample>
         <screen>
@@ -2107,20 +3041,31 @@
 </screen>
       </informalexample>
 
+      <!--
       <para>If you fail to specify either the
-        <option>--message</option> (<option>-m</option>)
-        or <option>--file</option> (<option>-F</option>) option,
+        <option>- -message</option> (<option>-m</option>)
+        or <option>- -file</option> (<option>-F</option>) option,
         Subversion will automatically launch your favorite editor (see
         the information on <literal>editor-cmd</literal> in
         <xref linkend="svn.advanced.confarea.opts.config"/>) for
         composing a log message.</para>
-
+      -->
+      <para>如果用户在提交时没有指定选项 <option>--message</option>
+        (<option>-m</option>) 或 <option>--file</option>
+        (<option>-F</option>), Subversion 就会自动打开用户指定的编辑器
+        (见 <xref linkend="svn.advanced.confarea.opts.config"/> 的
+        <literal>editor-cmd</literal>) 来编写日志.</para>
       <tip>
+      <!--
         <para>If you're in your editor writing a commit message and
           decide that you want to cancel your commit, you can just
           quit your editor without saving changes.  If you've already
           saved your commit message, simply delete all the text, save
           again, and then abort:</para>
+      -->
+        <para>如果用户在编写日志时突然又不想提交了, 那就不保存地退出编辑

@@ Diff output truncated at 100000 characters. @@



More information about the svnbook-dev mailing list