[svnbook] r5223 committed - branches/1.8/vi/book/ch01-fundamental-concepts. xml

chinhdo at users.sourceforge.net chinhdo at users.sourceforge.net
Mon Nov 7 21:53:13 CST 2016


Revision: 5223
          http://sourceforge.net/p/svnbook/source/5223
Author:   chinhdo
Date:     2016-11-08 03:53:13 +0000 (Tue, 08 Nov 2016)
Log Message:
-----------
finished 50% of the translation for ch01-fundamental-concepts.xml

Modified Paths:
--------------
    branches/1.8/vi/book/ch01-fundamental-concepts.xml

Modified: branches/1.8/vi/book/ch01-fundamental-concepts.xml
===================================================================
--- branches/1.8/vi/book/ch01-fundamental-concepts.xml	2016-10-27 06:49:00 UTC (rev 5222)
+++ branches/1.8/vi/book/ch01-fundamental-concepts.xml	2016-11-08 03:53:13 UTC (rev 5223)
@@ -1,26 +1,35 @@
 <!-- -*- sgml -*- -->
 
 <chapter id="svn.basic">
-  <title>Fundamental Concepts</title>
+<!--   <title>Fundamental Concepts</title> -->
+  <title>Những khái niệm cơ bản</title>
 
+<!--
   <para>This chapter is a short, casual introduction to Subversion and
     its approach to version control.  We begin with a discussion of
     general version control concepts, work our way into the specific
     ideas behind Subversion, and show some simple examples of
     Subversion in use.</para>
+-->
+  <para>Đây là một chương ngắn, giới thiệu sơ lược về Subversion và hướng tiếp cận của nó để kiểm soát phiên bản. Chúng tôi bắt đầu với một cuộc thảo luận về những khái niệm chung trong kiểm soát phiên bản, làm việc theo cách của chúng tôi vào những ý tưởng cụ thể phía sau Subversion và trình bày một số ví dụ đơn giản của việc ứng dụng Subversion.</para>
 
+<!--
   <para>Even though the examples in this chapter show people sharing
     collections of program source code, keep in mind that Subversion
     can manage any sort of file collection—it's not limited to
     helping computer programmers.</para>
+-->
+  <para>Mặc dù những ví dụ trong chương này trình bày cách mọi người chia sẽ những bộ sưu tập của mã nguồn chương trình, nên nhớ rằng Subversion có thể quản lý loại bộ sưu tập tập tin bất kỳ—nó không phải chỉ giới hạn trong việc hỗ trợ những lập trình viên máy tính.</para>
 
 
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.basic.version-control-basics">
-    <title>Version Control Basics</title>
+<!--     <title>Version Control Basics</title> -->
+    <title>Cản bản kiểm soát phiên bản</title>
 
+<!--
     <para>
       <indexterm>
         <primary>version control systems</primary>
@@ -33,18 +42,28 @@
       that it allows you to explore the changes which resulted in each
       of those versions and facilitates the arbitrary recall of the
       same.</para>
+-->
+    <para>
+      <indexterm>
+        <primary>hệ thống kiểm soát phiên bản</primary>
+      </indexterm>Một hệ thống kiểm soát phiên bản (hay hệ thống kiểm soát thay đổi) là một hệ thống mà theo dõi xuyên suốt thời gian những phiên bản tăng dần (hay thay đổi) của những tập tin và trong một vài trường hợp, của những thư mục. Dĩ nhiên, chỉ theo dõi những phiên bản khác nhau của những tập tin và thư mục của người sử dụng (hoặc nhóm người sử dụng) không được thú vị cho lắm. Điều làm cho hệ thống kiểm soát phiên bản hữu dụng đó là thực tế nó cho phép bạn khám phá những thay đổi mà kết quả là mỗi phiên bản đó và cũng như thế tạo điều kiện cho việc thu hồi tùy ý.</para>
 
+<!--
     <para>In this section, we'll introduce some fairly high-level
       version control system components and concepts.  We'll limit our
       discussion to modern version control systems—in today's
       interconnected world, there is very little point in
       acknowledging version control systems which cannot
       operate across wide-area networks.</para>
+-->
+    <para>Trong phần này, chúng tôi sẽ giới thiệu một số thành phần và khái niệm tương đối cao cấp. Chúng tôi sẽ thảo luận giới hạn trong những hệ thống kiểm soát phiên bản hiện đại—trong thế giới liên kết ngày nay, có rất ít điểm trong những hệ thống kiểm soát phiên bản mà không thể hoạt động thông qua hệ thống mạng diện rộng.</para>
 
     <!-- =============================================================== -->
     <sect2 id="svn.basic.repository">
-      <title>The Repository</title>
+<!--       <title>The Repository</title> -->
+      <title>Kho lưu trữ</title>
 
+<!--
       <para>
         <indexterm>
           <primary>repositories</primary>
@@ -67,19 +86,37 @@
         the client receives information from others.
         <xref linkend="svn.basic.repository.dia-1"/> illustrates
         this.</para>
+-->
+      <para>
+        <indexterm>
+          <primary>kho lưu trữ</primary>
+        </indexterm>
+        <indexterm>
+          <primary>kho lưu trữ</primary>
+          <secondary>cây hệ thống tập tin</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>hệ thống kiểm soát phiên bản</primary>
+          <secondary>khách</secondary>
+        </indexterm>Ở trung tâm của hệ thống kiểm soát phiên bản là một kho lưu trữ, là kho trung tâm của dữ liệu hệ thống. Kho lưu trữ thường lưu trữ thông tin ở dạng <firstterm>cây hệ thống tập tin</firstterm>—một cấu trúc phân cấp của những tập tin và thư mục. Bất kỳ <firstterm>ứng dụng khách</firstterm> nào cũng có thể kết nối vào kho để đọc và ghi vào những tập tin này. Với việc ghi dữ liệu, ứng dụng khách làm cho thông tin có sẵn cho những ứng dụng khách khác; với việc đọc dữ liệu, ứng dụng khách nhận thông tin từ các ứng dụng khách khác. <xref linkend="svn.basic.repository.dia-1"/> minh hoạ điều này.</para>
 
       <figure id="svn.basic.repository.dia-1">
-        <title>A typical client/server system</title>
+<!--         <title>A typical client/server system</title> -->
+        <title>Một hệ thống chủ/khách kinh điển</title>
         <graphic fileref="images/ch02dia1.png"/>
       </figure>
 
+<!--
       <para>Why is this interesting?  So far, this sounds like the
         definition of a typical file server.  And indeed, the
         repository <emphasis>is</emphasis> a kind of file server, but
         it's not your usual breed.  What makes the repository special
         is that as the files in the repository are changed, the
         repository remembers each version of those files.</para>
+-->
+      <para>Vì sao điều này thú vị? Điều này có vẻ như định nghĩa của một máy chủ tập tin thông thường. Và thực sự, kho lưu trữ <emphasis>là</emphasis> một dạng máy chủ tập tập tin, nhưng không phải là loại tập tin thông thường. Điều làm cho kho lưu trữ đặc biệt đó là khi những tập tin trong kho lưu trữ bị thay đổi, kho ghi nhớ từng phiên bản của những tập tin này.</para>
 
+<!--
       <para>When a client reads data from the repository, it normally
         sees only the latest version of the filesystem tree.  But what
         makes a version control client interesting is that it also has
@@ -90,13 +127,17 @@
         change this file, and what changes did he make?</quote>
         These are the sorts of questions that are at the heart of any
         version control system.</para>
+-->
+      <para>Khi một ứng dụng khách đọc dữ liệu từ kho, nó thông thường chỉ nhìn thấy phiên bản mới nhất của cây hệ thống tập tin. Những điều thú vị của ứng dụng khách kiểm soát phiên bản đó là nó có khả năng yêu cầu những trạng thái trước đó của hệ thống tập tin từ kho. Ứng dụng khách kiểm soát phiên bản có thể hỏi những câu hỏi mang tính lịch sử như là <quote>Thư mục này chứa những gì vào thứ Tư trước?</quote> và <quote>Ai là người cuối cùng thay đổi tập tin này, và thực hiện những thay đổi nào?</quote> Đây là những loại câu hỏi mà ở trung tâm của bất kỳ hệ thống kiểm soát phiên bản nào.</para>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.basic.working-copy">
-      <title>The Working Copy</title>
+<!--       <title>The Working Copy</title> -->
+      <title>Bản sao làm việc</title>
 
+<!--
       <para>
         <indexterm>
           <primary>working copies</primary>
@@ -115,7 +156,16 @@
         simple data files—get access to such files?  The answer
         is found in the version control construct known as
         a <firstterm>working copy</firstterm>.</para>
+-->
+      <para>
+        <indexterm>
+          <primary>Những bản sao làm việc</primary>
+        </indexterm>Giá trị của một hệ thống kiểm soát phiên bản đến từ thực tế là nó theo dõi những phiên bản của những tập tin và thư mục, trong khi phần còn lại của thế giới phần mềm không hoạt động trên <quote>các phiên bản của những tập tin và thư mục</quote>. Đa số những chương trình phần mềm hiểu cách hoạt động chỉ trên một phiên bản <emphasis>duy nhất</emphasis> của một loại tập tin cụ thể. Vậy làm cách nào người sử dụng kiểm soát phiên bản tương tác với một kho lưu trữ trừu tượng—và, thường là ở xa—với đầy những phiên bản của những tập tin khác nhau? Làm cách nào phần mềm xử lý văn bản, phần mềm trình chiếu, trình soạn thảo mã nguồn, phần mềm thiết kế web hoặc những chương trình khác —tất cả đều thao tác trên những tập tin dữ liệu đơn giản—của anh ấy hay cô ấy truy cập vào những tập tin này? Câu trả lời được tìm thấy trong cấu trúc kiểm soát phiên bản được biết đến là <firstterm>bản sao làm việc</firstterm>.</para>
+        
+     <!-- ### TODO: need to find a better way to translate the sentence "all of which trade in the currency of
+        simple data files" ### -->
 
+<!--
       <para>A working copy is, quite literally, a local copy of a
         particular version of a user's VCS-managed data upon which
         that user is free to work.  Working copies<footnote><para>The
@@ -130,13 +180,18 @@
         managing the working copy and communicating changes made to
         its contents to and from the repository falls squarely to the
         version control system's client software.</para>
-
+-->
+      <para>Một bản sao làm việc, theo đúng nghĩa đen, một bản sao cục bộ của một phiên bản cụ thể của dữ liệu VCS-quản lý trên đó người sử dụng đó tự do thay đổi. Bản sao làm việc<footnote><para>Thuật ngữ <quote>bản sao làm việc</quote> nói chung có thể được áp dụng cho phiên bản cục bộ của phiên bản tập tin. Tuy nhiên, khi hầu hết mọi người sử dụng những thuật ngữ, họ đang đề cập đến toàn bộ một cây thư mục chứa các tập tin và thư mục con mà được quản lý bởi hệ thống kiểm soát phiên bản.</para></footnote> xuất hiện với các phần mềm khác cũng giống như bất kỳ thư mục cục bộ khác với đầy đủ các tập tin, như vậy những chương trình đó không cần thiết phải <quote>quan-tâm-kiểm-soát-phiên-bản</quote> để đọc và ghi dữ liệu đó. Nhiệm vụ quản lý bản sao làm việc và giao tiếp những thay đổi trên nội dung của nó đến và đi từ các kho lưu trữ rơi thẳng vào ứng dụng kiểm soát phiên bản khách.</para>
+        
+     <!-- ### TODO: The task of managing the working copy and communicating changes made to its contents to and from the repository falls squarely to the version control system's client software. ### -->
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.basic.vsn-models">
-      <title>Versioning Models</title>
+<!--       <title>Versioning Models</title> -->
+      <title>Mô hình phiên bản</title>
 
+<!--
       <para>If the primary mission of a version control system is to
         track the various versions of digital information over time, a
         very close secondary mission in any modern version control
@@ -149,18 +204,25 @@
         that, it will also help you make more effective use of
         Subversion, since Subversion itself supports a couple of
         different ways of working.</para>
+-->
+      <para>Nếu nhiệm vụ chính của một hệ thống kiểm soát phiên bản là theo dõi những phiên bản khác nhau của thông tin kỹ thuật số xuyên suốt thời gian, một nhiệm vụ phụ rất gần trong bất kỳ hệ kiểm soát phiên bản nào đó là cho phép hợp tác chỉnh sửa và chia sẽ dữ liệu đó. Những những hệ thống khác nhau sử dụng những chiến thuật khác nhau để đạt được điều đó. Việc hiểu rõ những chiến thuật khác biệt này là cần thiết vì một vài lý do. Trước tiên, nó sẽ giúp bạn so sánh và đối chiếu những hệ kiểm soát phiên bản đang tồn tại, trong trường hợp bạn tiếp cận những hệ thống khác tương tự như Subversion. Xa hơn nữa, nó cũng sẽ giúp bạn sử dúng Subversion hiệu quả hơn, bởi vì Subversion bản thân nó hỗ trợ một vài cách làm việc khác nhau.</para>
 
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.basic.vsn-models.problem-sharing">
-        <title>The problem of file sharing</title>
+<!--         <title>The problem of file sharing</title> -->
+        <title>Vấn đề của việc chia sẽ tập tin</title>
 
+<!--
         <para>All version control systems have to solve the same
           fundamental problem: how will the system allow users to
           share information, but prevent them from accidentally
           stepping on each other's feet?  It's all too easy for users
           to accidentally overwrite each other's changes in the
           repository.</para>
+-->
+        <para>Tất cả các hệ kiểm soát phiên bản đều phải giải quyết cùng một vấn đề cơ bản: hệ thống sẽ cho phép người dùng chia sẽ thông tin như thế nào mà ngăn không để họ giẫm chân lên nhau? Rất dễ xảy ra việc người sử dụng ghi đè lên những thay đổi của người khác trong kho lưu trữ một cách vô ý.</para>
 
+<!--
         <para>Consider the scenario shown in
           <xref linkend="svn.basic.vsn-models.problem-sharing.dia-1"/>.
           Suppose we have two coworkers, Harry and Sally.  They each
@@ -176,9 +238,12 @@
           least missing from the latest version of the file—and
           probably by accident.  This is definitely a situation we want
           to avoid!</para>
+-->
+        <para>Xem xét kịch bản thể hiện trong <xref linkend="svn.basic.vsn-models.problem-sharing.dia-1"/>. Giả sử chúng ta có hai người đồng nghiệp, Harry và Sally. Mỗi người đều quyết định sẽ chỉnh sửa cùng một tập tin cùng thời điểm. Nếu Harry lưu những thay đổi của anh ấy vào kho lưu trữ trước, thì có nhiều khả năng là (một lát sau) Sally có thể ghi đè lên những thay đổi này với phiên bản tập tin mới hơn của cô ấy một cách vô tình. Mặc dù phiên bản của Harry sẽ không bị mất hẵn (bởi vì hệ thống ghi nhớ mỗi thay đổi), bất kỳ thay đổi nào mà Harry tạo ra <emphasis>sẽ không</emphasis> được hiện diện trong phiên bản tập tin mới hơn của Sally, bởi vì cô ấy không biết về những thay đổi của Harry để tiếp tục nối vào. Những thay đổi của Harry vẫn bị mất—hoặc ít nhất là không có mặt trong phiên bản mới nhất của tập ti—và có lẽ bởi sự vô ý. Đó chắc chắn là một tình huống mà chúng ta cần tránh!</para>
 
         <figure id="svn.basic.vsn-models.problem-sharing.dia-1">
-          <title>The problem to avoid</title>
+<!--           <title>The problem to avoid</title> -->
+          <title>Vấn đề cần tránh</title>
           <graphic fileref="images/ch02dia2.png"/>
         </figure>
 
@@ -186,8 +251,10 @@
 
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.basic.vsn-models.lock-unlock">
-        <title>The lock-modify-unlock solution</title>
+<!--         <title>The lock-modify-unlock solution</title> -->
+        <title>Giải pháp khoá-sửa đổi-mở khoá</title>
 
+<!--
         <para>
           <indexterm>
             <primary>version control</primary>
@@ -208,18 +275,31 @@
           the latest version of the file and edit it.
           <xref linkend="svn.basic.vsn-models.lock-unlock.dia-1"/>
           demonstrates this simple solution.</para>
+-->
+        <para>
+          <indexterm>
+            <primary>kiểm soát phiên bản</primary>
+            <secondary>mô hình</secondary>
+            <tertiary>khoá-sửa đổi-mở khoá</tertiary>
+          </indexterm>Nhiều hệ thống kiểm soát phiên bản sử dụng mô hình <firstterm>khoá-sửa đổi-mở khoá</firstterm> để giải quyết vấn đề nhiều tác giả đụng độ liên tục những thay đổi của nhau. Trong mô hình này, kho lưu trữ chỉ cho phép thay đổi của một người duy nhất ở một thời điểm. Chính sách độc quyền này được thực thi bằng việc sử dụng khóa. Harry cần phải <quote>khóa</quote> một tập tin trước khi anh ấy có thể bắt đầu hiệu chỉnh nó. Nếu Harry đã khóa tập tin, Sally không thể khóa nó, và như vậy là không thể tạo ra bất kỳ thay đổi nào trên tập tin đó. Tất cả những điều cô ấy có thể làm là đợi Harry hoàn thành những thay đổi của anh ấy, lưu tập tin và mở khóa. Sau khi Harry mở khóa tập tin, Sally tới lượt mình có thể khóa tập tin. Tiếp theo cô ấy có thể đọc phiên bản mới nhất của tập tin và hiệu chỉnh nó. <xref linkend="svn.basic.vsn-models.lock-unlock.dia-1"/>trình bày giải pháp đơn giản nà.</para>
+     <!-- ### TODO: "many authors clobbering each other's work": need a better way to translate this ### -->
 
         <figure id="svn.basic.vsn-models.lock-unlock.dia-1">
-          <title>The lock-modify-unlock solution</title>
+<!--           <title>The lock-modify-unlock solution</title> -->
+          <title>Giải pháp khoá-sửa đổi-mở khoá</title>
           <graphic fileref="images/ch02dia3.png"/>
         </figure>
 
+<!--
         <para>The problem with the lock-modify-unlock model is that it's
           a bit restrictive and often becomes a roadblock for
           users:</para>
+-->
+        <para>Vấn đề của mô hình khoá-sửa đổi-mở khoá này là nó hơi hạn chế và thường trở thành một rào cản đối với người sử dụng:</para>
 
         <itemizedlist>
           <listitem>
+<!--
             <para><emphasis>Locking may cause administrative
               problems.</emphasis>
 
@@ -229,9 +309,14 @@
               Sally has to get an administrator to release Harry's lock.
               The situation ends up causing a lot of unnecessary delay
               and wasted time.</para>
+-->
+            <para><emphasis>Khóa có thể làm phát sinh những vấn đề hành chính.</emphasis>
+
+              Đôi khi Harry khóa một tập tin và quên nó hoàn toàn. Trong lúc đó, bởi vì Sally vẫn đang đợi để điều chỉnh tập tin, cố ấy sẽ phải chờ đợi mỏi mòn. Và sau đó Harry có kỳ nghỉ. Lúc này Sally phải nhờ người quản trị để mở khóa của Harry. Tình huống gây nên việc đình trệ không cần thiết và tốn thời gian.</para>
           </listitem>
 
           <listitem>
+<!--
             <para><emphasis>Locking may cause unnecessary
               serialization.</emphasis>
 
@@ -242,9 +327,14 @@
               come, assuming the changes were properly merged together.
               There's no need for them to take turns in this
               situation.</para>
+-->
+            <para><emphasis>Khóa có thể gây nên sự nối tiếp hóa (serialization) không cần thiết.</emphasis>
+
+              Điều gì sẽ xảy ra nếu Harry đang chỉnh sửa phần đầu của một tập tin văn bản, và Sally muốn chỉnh sửa phần cuối của cùng tập tin? Những thay đổi này không bị chồng lên nhau. Họ có thể dễ dàng chỉnh sửa tập tin đồng thời và sẽ không có tổn hại nào xuất hiện với giả sử rằng những thay đổi được hợp nhất với nhau một cách đúng đắn. Trong tình huống này họ không cần thiết phải thay phiên nhau.</para>
           </listitem>
 
           <listitem>
+<!--
             <para><emphasis>Locking may create a false sense of
               security.</emphasis>
 
@@ -259,6 +349,10 @@
               insulated task, and thus they need not bother discussing
               their incompatible changes early on.  Locking often
               becomes a substitute for real communication.</para>
+-->
+            <para><emphasis>Khóa có thể tạo ra một cảm giác sai về bảo mật.</emphasis>
+
+              Giả sử Harry khóa và chỉnh sửa tập tin A, trong khi đó Sally cũng khóa và chỉnh sửa tập tin B. Những sẽ như thế nào nếu cả A và B phụ thuộc vào nhau và những thay đổi được thực hiện trên mỗi tập tin là không tương thích về mặt ngữ nghĩa? Đột nhiên A và B không làm việc với nhau nữa. Hệ thống khóa đã bất lực không thể ngăn vấn đề xảy ra—nó tạo nên một ấn tượng sai về bảo mật. Nó rất dễ gây cho Harry và Sally suy nghĩ rằng bằng cách khóa những tập tin, mỗi người có thể bắt đầu công việc một cách an toàn, tác vụ tách biệt nhau, và do đó họ không cần bận tâm thảo luận về những thay đổi không tương thích ngay từ đầu. Khóa đôi khi trở thành một sự thay thế cho giao tiếp thực tế.</para>
           </listitem>
         </itemizedlist>
 
@@ -266,8 +360,10 @@
 
       <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
       <sect3 id="svn.basic.vsn-models.copy-merge">
-        <title>The copy-modify-merge solution</title>
+<!--         <title>The copy-modify-merge solution</title> -->
+        <title>Giải pháp sao chép-sửa đổi-hợp nhất</title>
 
+<!--
         <para>
           <indexterm>
             <primary>version control</primary>
@@ -283,7 +379,15 @@
           version.  The version control system often assists with the
           merging, but ultimately, a human being is responsible for
           making it happen correctly.</para>
+-->
+        <para>
+          <indexterm>
+            <primary>kiểm soát phiên bản</primary>
+            <secondary>mô hình</secondary>
+            <tertiary>sao chép-sửa đổi-hợp nhất</tertiary>
+          </indexterm>Subversion, CVS và nhiều hệ kiểm soát phiên bản khác sử dụng mô hình <firstterm>sao chép-sửa đổi-hợp nhất</firstterm> như là phương án thay thế cho khóa. Trong hình này, mỗi ứng dụng khách của người sử dụng kết nối với kho lưu trữ dự án và tạo một bản sao làm việc riêng. Người sử dụng sau đó làm việc đồng thời và độc lập với nhau chỉnh sửa phiên bản sao chép riêng của họ. Sau cùng, những bản sao riêng lẻ được hợp nhất với nhau thành một bản mới, phiên bản cuối cùng. Hệ thống kiểm soát phiên bản thường hỗ trợ việc hợp nhất, nhưng cuối cùng, con người có trách nhiệm làm cho việc đó xảy ra một cách chính xác.</para>
 
+<!--
         <para>
           <indexterm>
             <primary>out of date</primary>
@@ -303,17 +407,24 @@
           <xref linkend="svn.basic.vsn-models.copy-merge.dia-1"/> and
           <xref linkend="svn.basic.vsn-models.copy-merge.dia-2"/> show
           this process.</para>
+-->
+        <para>
+          <indexterm>
+            <primary>quá hạn</primary>
+          </indexterm>Đây là một ví dụ. Giả sử rằng Harry và Sally mỗi người tạo một bản sao làm việc của cùng một dự án, sao chép từ kho lưu trữ. Họ làm việc đồng thời và thay đổi trên cùng một tập tin A trong bản sao của họ. Sally lưu những thay đổi của cô ấy vào kho lưu trữ trước. Khi Harry cố gắng để lưu những thay đổi của anh ấy sau đó, kho lưu trữ thông báo với anh ấy rằng tập tin A của anh ấy <firstterm>quá hạn</firstterm>. Nói cách khác, tập tin A trong kho lưu trữ đã bị thay đổi theo cách nào đó kể từ lúc anh ấy sao lưu nó. Vì vậy Harry ra lệnh cho ứng dụng khách của anh ấy hợp nhất bất kỳ thay đổi mới nào từ trên kho lưu trữ vào trong bản sao làm việc của tập tin A của anh ấy. Nhiều khả năng là những thay đổi của Sally không bị chồng chéo với những thay đổi của riêng anh ấy; khi hai phần đã được tích hợp vào với nhau, anh ấy lưu bản sao làm việc của anh ấy vào trong kho lưu trữ. <xref linkend="svn.basic.vsn-models.copy-merge.dia-1"/> và <xref linkend="svn.basic.vsn-models.copy-merge.dia-2"/> biểu diễn quy trình này.</para>
 
         <figure id="svn.basic.vsn-models.copy-merge.dia-1">
-          <title>The copy-modify-merge solution</title>
+<!--           <title>The copy-modify-merge solution</title> -->
+          <title>Giải pháp sao chép-sửa đổi-hợp nhất</title>
           <graphic fileref="images/ch02dia4.png"/>
         </figure>
 
         <figure id="svn.basic.vsn-models.copy-merge.dia-2">
-          <title>The copy-modify-merge solution (continued)</title>
+          <title>Giải pháp sao chép-sửa đổi-hợp nhất (tiếp theo)</title>
           <graphic fileref="images/ch02dia5.png"/>
         </figure>
 
+<!--
         <para>
           <indexterm>
             <primary>conflicts</primary>
@@ -332,7 +443,13 @@
           changes—perhaps after a discussion with Sally—he
           can safely save the merged file back to the
           repository.</para>
+-->
+        <para>
+          <indexterm>
+            <primary>xung đột</primary>
+          </indexterm>Nhưng sẽ như thế nào nếu thay đổi của Sally <emphasis>thật sự</emphasis> chồng chéo với thay đổi của Harry? Điều gì sau đó? Tình huống này gọi là <firstterm>xung đột</firstterm>, và thông thường thì nó không hẵn là một vấn đề. Khi Harry ra lệnh cho ứng dụng khách của anh ấy hợp nhất những thay đổi mới nhất trên kho vào trong bản sao làm việc của anh ấy, bản sao của tập tin A của anh ấy theo cách nào đó được đánh dấu như là đang ở trạng thái xung đột: anh ấy có thể thấy cả hai phần của những thay đổi đang gặp xung đột và chọn một trong hai một cách thủ công. Lưu ý rằng phần mềm không thể giải quyết xung đột một cách tự động; chỉ có con người mới có khả năng hiểu và thực hiện việc chọn lựa cần thiết một cách thông minh. Khi Harry đã giải quyết vấn đề những thay đổi chồng chéo một cách thủ công—có lẽ sau khi thảo luận với Sally—anh ấy có thể lưu tập tin được hợp nhất ngược lại vào trong kho lưu trữ.</para>
 
+<!--
         <para>The copy-modify-merge model may sound a bit chaotic, but
           in practice, it runs extremely smoothly.  Users can work in
           parallel, never waiting for one another.  When they work on
@@ -340,7 +457,10 @@
           changes don't overlap at all; conflicts are infrequent.  And
           the amount of time it takes to resolve conflicts is usually
           far less than the time lost by a locking system.</para>
+-->
+        <para>Mô hình sao chép-sửa đổi-hợp nhất nghe có vẻ hơi hỗn loạn, nhưng trên thực tế, nó hoạt động rất mượt. Người sử dụng có thể làm việc song song, không bao giờ phải chờ đợi nhau. Khi họ làm việc trên cùng một tập tin, hoá ra rằng hầu hết những thay đổi đồng thời của họ không hoàn toàn không chồng lấn; xung đột là không thường xuyên. Và thời gian nó tiêu tốn để giải quyết xung đột thường là ít hơn nhiều so với thời gian bị mất bởi hệ thống khoá.</para>
 
+<!--
         <para>In the end, it all comes down to one critical factor:
           user communication.  When users communicate poorly, both
           syntactic and semantic conflicts increase.  No system can
@@ -349,14 +469,21 @@
           lulled into a false sense of security that a locking system
           will somehow prevent conflicts; in practice, locking seems
           to inhibit productivity more than anything else.</para>
+-->
+        <para>Cuối cùng, tất cả dẫn đến một yếu tố quan trọng: giao tiếp người sử dụng. Khi người dùng giao tiếp kém, cả hai loại xung đột cú pháp và xung đột ngữ nghĩa tăng. Không có hệ thống nào có thể bắt buộc người sử dụng phải giao tiếp một cách hoàn hảo, và không có hệ thống nào có thể phát hiện những xung đột ngữ nghĩa. Vì vậy, khó để bị ru ngủ vào một cảm giác sai về bảo mật rằng một hệ thống khoá bằng cách nào đó ngăn chặn xung đột; trong thực tế, khoá dường như ngăn cản năng xuất nhiều hơn bất cứ thứ gì khác.</para>
 
         <sidebar id="svn.basic.vsn-models.copy-merge.sb-1">
-          <title>When Locking Is Necessary</title>
+<!--           <title>When Locking Is Necessary</title> -->
+          <title>Khi khoá là cần thiết</title>
 
+<!--
           <para>While the lock-modify-unlock model is considered
             generally harmful to collaboration, sometimes
             locking is appropriate.</para>
+-->
+          <para>Trong khi mô hình khoá-sửa đổi-mở khoá nói chung được xem là có hại cho sự hợp tác, đôi khi khoá là thích hợp.</para>
 
+<!--
           <para>The copy-modify-merge model is based on the assumption
             that files are contextually mergeable—that is, that the
             majority of the files in the repository are line-based text
@@ -367,11 +494,16 @@
             turns when changing the file.  Without serialized access,
             somebody ends up wasting time on changes that are ultimately
             discarded.</para>
+-->
+          <para>Mô hình khoá-sửa đổi-mở khoá được dựa trên sự giả định rằng những tập tin là có thể hợp nhất được theo ngữ cảnh—đó là, đa số các tập tin trong kho lưu trữ là tập tin văn bản dựa trên dòng (như là mã nguồn chương trình). Nhưng với tập tin có định dạng nhị phân, như là nội dung đồ hoạ hay âm thanh, thường là không thể hợp nhất những thay đổi gặp xung đột. Trong những tình huống này, nó thực sự là cần thiết cho người dùng để thay phiên nhau chặt chẽ khi thay đổi các tập tin. Không có tuần tự truy cập, ai đó lãng phí thời gian vào những thay đổi mà cuối cùng bị loại bỏ.</para>
 
+<!--
           <para>While Subversion is primarily a copy-modify-merge
             system, it still recognizes the need to lock an occasional
             file, and thus provides mechanisms for this.  We discuss
             this feature in <xref linkend="svn.advanced.locking"/>.</para>
+-->
+          <para>Trong khi Subversion chủ yếu là một hệ thống sao chép-sửa đổi-hợp nhất, nó vẫn ghi nhận sự cần thiết việc khoá một vài tập tin, và vì vậy cung cấp cơ chế cho việc khoá này. Chúng ta bàn về tính năng này trong <xref linkend="svn.advanced.locking"/>.</para>
 
         </sidebar>
 
@@ -383,8 +515,10 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.basic.in-action">
-    <title>Version Control the Subversion Way</title>
+<!--     <title>Version Control the Subversion Way</title> -->
+    <title>Kiểm soát phiên bản theo cách của Subversion</title>
 
+<!--
     <para>We've mentioned already that Subversion is a modern,
       network-aware version control system.  As we described in
       <xref linkend="svn.basic.version-control-basics"/> (our
@@ -394,24 +528,18 @@
       interact with that data.  In this section, we'll begin to
       introduce the specific ways in which Subversion implements
       version control.</para>
+-->
+    <para>Chúng tôi đã đề cập rằng Subversion là một hệ thống kiểm soát phiên bản hiện đại, liên quan đến mạng. Như chúng tôi có mô tả trong <xref linkend="svn.basic.version-control-basics"/> (tổng quan ở cấp độ cao về kieerm soát phiên bản), kho lưu trữ đóng vai trò cơ chế lưu trữ trung tâm cho dữ liệu phiên bản của Subversion, và thông qua bản sao làm việc mà người sử dụng và phần mềm của họ tương tác với dữ liệu đó. Trong phần này, chúng ta sẽ bắt đầu giới thiệu những cách cụ thể mà Subversion thực hiện kiểm soát phiên bản.</para>
 
     <!-- =============================================================== -->
     <sect2 id="svn.basic.svn-repositories">
-      <title>Subversion Repositories</title>
+<!--       <title>Subversion Repositories</title> -->
+      <title>Những kho lưu trữ Subversion</title>
 
-      <para>Subversion implements the concept of a version control
-        repository much as any other modern version control system
-        would.  Unlike a working copy, a Subversion repository is an
-        abstract entity, able to be operated upon almost exclusively
-        by Subversion's own libraries and tools.  As most of a user's
-        Subversion interactions involve the use of the Subversion
-        client and occur in the context of a working copy, we spend
-        the majority of this book discussing the Subversion working
-        copy and how to manipulate it.  For the finer details of the
-        repository, though, check out
-        <xref linkend="svn.reposadmin"/>.</para>
+      <para>Subversion hiện thực khái niệm kho lưu trữ của kiểm soát phiên bản nhiều như bất kỳ hệ thống kiểm soát phiên bản hiện đại nào khác. Không giống như bản sao làm việc, kho lưu trữ Subversion là một thực thể trừu tượng, có khả năng được vận hành gần như độc quyền của những thư viện và công cụ riêng của Subversion. Vì đa số những tương tác Subversion của người sử dụng có liên quan đến việc sử dụng ứng dụng khách Subversion và xảy ra trong bối cảnh của bản sao làm việc, chúng ta sẽ dành phần lớn trong cuốn sách này thảo luận bản sao làm việc Subversion và làm cách nào để thao tác trên nó. Để có thông tin chi tiết hơn về kho lưu trữ, kiểm tr <xref linkend="svn.reposadmin"/>.</para>
 
       <warning id="svn.basic.svn-repositories.not-working-copy">
+<!--
         <para>In Subversion, the client-side object which every user
           of the system has—the directory of versioned files,
           along with metadata that enables the system to track them
@@ -421,17 +549,24 @@
           the client-side object, it is both incorrect and a common
           source of confusion to use the term in that way in the
           context of Subversion.</para>
+-->
+        <para>Trong Subversion, đối tượng phía máy khách mà mỗi người sử dụng của hệ thống đều có—thư mục chứa những tập tin phiên bản, đi kèm với siêu dữ liệu mà cho phép hệ thống theo dõi chúng và giao tiếp với máy chủ—gọi là <emphasis>bản sao làm việc</emphasis>. Mặc dù những hệ thống kiểm soát phiên bản khác sử dụng khái niệm <quote>kho lưu trữ</quote> cho đối tượng phía máy khách, cả hai đều không chính xác và là nguồn gốc phổ biến gây nhầm lẫn của việc sử dụng thuật ngữ theo cách này trong ngữ cảnh của Subversion.</para>
 
+<!--
         <para>Working copies are described later, in
           <xref linkend="svn.basic.in-action.wc"/>.</para>
+-->
+        <para>Bản sao làm việc được mô tả sau trong <xref linkend="svn.basic.in-action.wc"/>.</para>
       </warning>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.basic.in-action.revs">
-      <title>Revisions</title>
+<!--       <title>Revisions</title> -->
+      <title>Phiên bản</title>
 
+<!--
       <para>A Subversion client commits (that is, communicates the
         changes made to) any number of files and directories as a
         single atomic transaction.  By atomic transaction, we mean
@@ -439,6 +574,15 @@
         repository, or none of them is.  Subversion tries to retain
         this atomicity in the face of program crashes, system crashes,
         network problems, and other users' actions.</para>
+-->
+      <para>
+	      A Subversion client commits (that is, communicates the
+        changes made to) any number of files and directories as a
+        single atomic transaction.  By atomic transaction, we mean
+        simply this: either all of the changes are accepted into the
+        repository, or none of them is.  Subversion tries to retain
+        this atomicity in the face of program crashes, system crashes,
+        network problems, and other users' actions.</para>
 
       <para>
         <indexterm>





More information about the svnbook-dev mailing list