[svnbook] r5206 committed - branches/1.8/vi/book/ch00-preface.xml

chinhdo at users.sourceforge.net chinhdo at users.sourceforge.net
Wed Oct 12 03:19:05 CDT 2016


Revision: 5206
          http://sourceforge.net/p/svnbook/source/5206
Author:   chinhdo
Date:     2016-10-12 08:19:05 +0000 (Wed, 12 Oct 2016)
Log Message:
-----------
Chinh Do - ~60% Preface completed

Modified Paths:
--------------
    branches/1.8/vi/book/ch00-preface.xml

Modified: branches/1.8/vi/book/ch00-preface.xml
===================================================================
--- branches/1.8/vi/book/ch00-preface.xml	2016-10-10 11:30:33 UTC (rev 5205)
+++ branches/1.8/vi/book/ch00-preface.xml	2016-10-12 08:19:05 UTC (rev 5206)
@@ -46,7 +46,7 @@
     <indexterm>
       <primary>CVS</primary>
       <see>Concurrent Versions System</see>
-    </indexterm>Trong thế giới của phần mềm mã nguồn mở, Concurrent Versions System (CVS) đã là công cụ được chọn để quản lý phiên bản trong rất nhiều năm. Và đúng như vậy. CVS bản thân nó cũng là phần mềm mã nguồn mở, cách làm việc không bị giới hạn của nó và hỗ trợ cho việc làm việc qua mạng cho phép hàng chục lập trình viên ở những vị trí địa lý phân tán có thể chia sẽ công việc của họ. Nó ăn khớp rất tốt tính năng cộng tác của thế mã nguồn mở. CVS và mô hình phát triển hơi hỗn loạn của nó đã trở thành nền tảng của văn hoá mã nguồn mở.</para>
+    </indexterm>Trong thế giới của phần mềm mã nguồn mở, Concurrent Versions System (CVS) đã là công cụ được chọn để kiểm soát phiên bản trong rất nhiều năm. Và đúng như vậy. CVS bản thân nó cũng là phần mềm mã nguồn mở, cách làm việc không bị giới hạn của nó và hỗ trợ cho việc làm việc qua mạng cho phép hàng chục lập trình viên ở những vị trí địa lý phân tán có thể chia sẽ công việc của họ. Nó ăn khớp rất tốt tính năng cộng tác của thế mã nguồn mở. CVS và mô hình phát triển hơi hỗn loạn của nó đã trở thành nền tảng của văn hoá mã nguồn mở.</para>
 
 <!-- 
   <para>But CVS was not without its flaws, and simply fixing those
@@ -61,7 +61,7 @@
     powerful, very usable, and very flexible.</para>
  -->
 
-  <para>Nhưng CVS không phải là không có những khiếm khuyết, và để khắc phục những lỗ hổng này sẽ là một nỗ lực rất lớn. Chuyến sang Subversion. Subversion được thiết kế để kế nhiệm CVS, và khởi đầu của nó được đặt ra là để chiếm được trái tim của những người dùng CVS theo hai điểm—tạo ra một hệ thống mã nguồn mở với thiết kế(và <quote>cảm nhận</quote>) tương tự như CVS, và cố gắng tránh những lỗ hổng thấy rõ của SVN. Trong khi kết quả đã không—và chưa—phải là sự tiến hóa lớn tiếp theo trong thiết kế quản lý phiên bản, Subversion <emphasis>vẫn</emphasis> rất mạnh mẽ, tiện dụng và rất linh hoạt.</para>
+  <para>Nhưng CVS không phải là không có những khiếm khuyết, và để khắc phục những lỗ hổng này sẽ là một nỗ lực rất lớn. Chuyến sang Subversion. Subversion được thiết kế để kế nhiệm CVS, và khởi đầu của nó được đặt ra là để chiếm được trái tim của những người dùng CVS theo hai điểm—tạo ra một hệ thống mã nguồn mở với thiết kế(và <quote>cảm nhận</quote>) tương tự như CVS, và cố gắng tránh những lỗ hổng thấy rõ của SVN. Trong khi kết quả đã không—và chưa—phải là sự tiến hóa lớn tiếp theo trong thiết kế kiểm soát phiên bản, Subversion <emphasis>vẫn</emphasis> rất mạnh mẽ, tiện dụng và rất linh hoạt.</para>
 
 <!-- 
   <para>This book is written to document the 1.8 series of the
@@ -76,7 +76,7 @@
     in this book.</para>
  -->
 
-  <para>Cuốn sách này được viết cho phiên bản 1.8 của hệ thống quản lý phiên bản Apache™ Subversion®<footnote><para>Chúng ta sẽ đề cập tới nó chỉ đơn giản là <quote>Subversion</quote> xuyên suốt cuốn sách này. Bạn sẽ cảm ơn chúng tôi khi bạn nhận thấy nó rút gọn được rất nhiều!</para></footnote>. Chúng tôi đã nổ lực triệt để trong phạm vi khả năng của chúng tôi. Tuy nhiên, Subversions có một cộng đồng phát triển rộng lớn và nhiệt huyết, vì vậy một số tính năng và cải thiện đã được lên kế hoạch cho những phiên bản tương lai mà có thể thay đổi một vài câu lệnh và một vài ghi chú cụ thể trong cuốn sách này.</para>
+  <para>Cuốn sách này được viết cho phiên bản 1.8 của hệ thống kiểm soát phiên bản Apache™ Subversion®<footnote><para>Chúng ta sẽ đề cập tới nó chỉ đơn giản là <quote>Subversion</quote> xuyên suốt cuốn sách này. Bạn sẽ cảm ơn chúng tôi khi bạn nhận thấy nó rút gọn được rất nhiều!</para></footnote>. Chúng tôi đã nổ lực triệt để trong phạm vi khả năng của chúng tôi. Tuy nhiên, Subversions có một cộng đồng phát triển rộng lớn và nhiệt huyết, vì vậy một số tính năng và cải thiện đã được lên kế hoạch cho những phiên bản tương lai mà có thể thay đổi một vài câu lệnh và một vài ghi chú cụ thể trong cuốn sách này.</para>
 
 
   <!-- ================================================================= -->
@@ -111,12 +111,12 @@
         <primary>Subversion</primary>
       </indexterm>
       <indexterm>
-        <primary>hệ thống quản lý phiên bản</primary>
+        <primary>hệ thống kiểm soát phiên bản</primary>
       </indexterm>
       <indexterm>
         <primary>VCS</primary>
-        <see>hệ thống quản lý phiên bản</see>
-      </indexterm>Subversion là một <firstterm>hệ thống quản lý phiên bản</firstterm> (VCS) mã nguồn mở. Subversion quản lý xuyên suốt tệp, thư mục và những thay đổi trên những tệp và thư mục này. Nó cho phép bạn phục hồi lại những phiên bản dữ liệu cũ của hoặc xem xét lịch sử của việc dữ liệu của bạn được thay đổi như thế nào. Về khía cạnh này, nhiều người nghĩ hệ thống quản lý phiên bản như một dạng của <quote>cỗ máy thời gian.</quote></para>
+        <see>hệ thống kiểm soát phiên bản</see>
+      </indexterm>Subversion là một <firstterm>hệ thống kiểm soát phiên bản</firstterm> (VCS) mã nguồn mở. Subversion quản lý xuyên suốt tập tin, thư mục và những thay đổi trên những tập tin và thư mục này. Nó cho phép bạn phục hồi lại những phiên bản dữ liệu cũ của hoặc xem xét lịch sử của việc dữ liệu của bạn được thay đổi như thế nào. Về khía cạnh này, nhiều người nghĩ hệ thống kiểm soát phiên bản như một dạng của <quote>cỗ máy thời gian.</quote></para>
     
 <!-- 
     <para>Subversion can operate across networks, which allows it to
@@ -161,7 +161,7 @@
       <indexterm>
         <primary>SCM</primary>
         <see>quản lý cấu hình phần mềm</see>
-      </indexterm>Một vài hệ thống quản lý phiên bản cũng là hệ thống <firstterm>quản lý cấu hình phần mềm</firstterm> (SCM). Các hệ thống này đặc biệt phù hợp với việc quản lý cây mã nguồn và có nhiều tính năng cụ thể dành cho việc phát triển phần mềm—như là hiểu ngôn ngữ lập trình, hoặc cung cấp công cụ để xây dựng phần mềm. Tuy nhiên, Subversion không phải là một hệ thống như vậy. Nó là một hệ thống mà có thể dùng để quản lý tập hợp các tệp <emphasis>bất kỳ</emphasis>. Với bạn, những tệp này có thể là mã nguồn—với những người khác, có thể là bất loại gì từ danh sách mua tạp hoá tới hoà trộn video kỹ thuật số và nhiều hơn nữa.</para>
+      </indexterm>Một vài hệ thống kiểm soát phiên bản cũng là hệ thống <firstterm>quản lý cấu hình phần mềm</firstterm> (SCM). Các hệ thống này đặc biệt phù hợp với việc quản lý cây mã nguồn và có nhiều tính năng cụ thể dành cho việc phát triển phần mềm—như là hiểu ngôn ngữ lập trình, hoặc cung cấp công cụ để xây dựng phần mềm. Tuy nhiên, Subversion không phải là một hệ thống như vậy. Nó là một hệ thống mà có thể dùng để quản lý tập hợp các tập tin <emphasis>bất kỳ</emphasis>. Với bạn, những tập tin này có thể là mã nguồn—với những người khác, có thể là bất loại gì từ danh sách mua tạp hoá tới hoà trộn video kỹ thuật số và nhiều hơn nữa.</para>
 
 
     <!-- =============================================================== -->
@@ -196,7 +196,7 @@
         of collaboration.</para>
  -->
 
-      <para>Như bước khởi đầu, bạn cần quyết định nếu quản lý phiên bản nói chung là cần thiết cho các mục đích của bạn. Nếu bạn cần lưu trữ những phiên bản cũ của tệp và thư mục, có thể phục hồi chúng, và kiểm  tra các bản ghi để xem chúng được thay đổi như thế nào xuyến suốt thời gian, nếu vậy quản lý phiên bản có thể làm được. Nếu bạn cần hợp tác với nhiều người trên tài liệu (thông thường là trên hệ thống mạng) và theo dõi việc ai thay đổi những gì, quản lý phiên bản cũng có thể làm được. Trên thực tế, đó là lý do vì sao những công cụ quản lý phiên bản như là Subversion thường được sử dụng trong môi trường phát triển phần mềm—làm việc trong một nhóm phát triển vốn là một hoạt động xã hội nơi mà việc thay đổi trên tệp mã nguồn liên tục được thảo luận, thực hiện, đánh  giá, và kể cả đôi khi phá bỏ. Những công cụ quản lý phiên bản tạo điều kiện cho loại hợp tác đó.</para>
+      <para>Như bước khởi đầu, bạn cần quyết định nếu kiểm soát phiên bản nói chung là cần thiết cho các mục đích của bạn. Nếu bạn cần lưu trữ những phiên bản cũ của tập tin và thư mục, có thể phục hồi chúng, và kiểm  tra các bản ghi để xem chúng được thay đổi như thế nào xuyến suốt thời gian, nếu vậy kiểm soát phiên bản có thể làm được. Nếu bạn cần hợp tác với nhiều người trên tài liệu (thông thường là trên hệ thống mạng) và theo dõi việc ai thay đổi những gì, kiểm soát phiên bản cũng có thể làm được. Trên thực tế, đó là lý do vì sao những công cụ kiểm soát phiên bản như là Subversion thường được sử dụng trong môi trường phát triển phần mềm—làm việc trong một nhóm phát triển vốn là một hoạt động xã hội nơi mà việc thay đổi trên tập tin mã nguồn liên tục được thảo luận, thực hiện, đánh  giá, và kể cả đôi khi phá bỏ. Những công cụ kiểm soát phiên bản tạo điều kiện cho loại hợp tác đó.</para>
 
 <!-- 
       <para>There is cost associated with using version control, too.
@@ -209,7 +209,7 @@
         control system.</para>
  -->
 
-      <para>Việc sử dụng quản lý phiên bản tất nhiên cũng có một số hạn chế. Trừ khi bạn có thể thuê ngoài việc quản trị hệ thống quản lý phiên bản của bạn cho bên thứ ba, việc tự bạn quản lý hệ thống vẫn có một số mặt hạn chế. Khi làm việc với dữ liệu trên cơ sở hàng ngày, bạn không thể sao chép, di chuyển, đổi tên hoặc xoá tệp theo cách mà bạn thường làm. Thay vào đó, bạn sẽ phải thực hiện tất cả những việc đó thông qua hệ thống quản lý phiên bản.</para>
+      <para>Việc sử dụng kiểm soát phiên bản tất nhiên cũng có một số hạn chế. Trừ khi bạn có thể thuê ngoài việc quản trị hệ thống kiểm soát phiên bản của bạn cho bên thứ ba, việc tự bạn quản lý hệ thống vẫn có một số mặt hạn chế. Khi làm việc với dữ liệu trên cơ sở hàng ngày, bạn không thể sao chép, di chuyển, đổi tên hoặc xoá tập tin theo cách mà bạn thường làm. Thay vào đó, bạn sẽ phải thực hiện tất cả những việc đó thông qua hệ thống kiểm soát phiên bản.</para>
 
 <!-- 
       <para>Even assuming that you are okay with the cost/benefit
@@ -233,7 +233,7 @@
         or <command>unison</command>.</para>
  -->
 
-      <para>Ngay cả giả sử rằng bạn hài lòng với sự cân bằng về mặt hạn-chế/lợi-ích mà hệ thống quản lý phiên bản mang lại, bạn cũng không nên chọn sử dụng chỉ đơn thuần bởi vì nó <emphasis>có thể</emphasis> làm được những gì bạn muốn. Nên cân nhắc nhu cầu của bạn có thể được giải quyết bằng các công cụ khác. Ví dụ, bởi vì Subversion sao chép dữ liệu đến tất cả các cộng tác viên liên quan, một sự lạm dụng phổ biến đó là xem nó như một hệ thống phân phối. Đôi khi người ta sử dụng Subversion để phân phối những bộ sưu tập lớn hình ảnh, âm nhạc kỹ thuật số, hoặc những gói phần mềm. Vấn đề là tất cả những loại dữ liệu này thường không thay đổi. Bản thân bộ sưu phồng lên theo thời gian, nhưng những tệp riêng lẽ trong bộ sưu tập thì không thay đổi. Trong trường hợp này, việc sử dụng Subversion là <quote>quá mức cần thiết</quote>.<footnote><para>Hoặc như một người bạn ví  von, <quote>chém ruồi bằng dao phay.</quote></para></footnote> Có nhiều công cụ đơn giản hơn để sao chép dữ liệu một cách hiệu quả <emphasis>mà không</emphasis> tốn thêm chi phí với phần theo dõi thay đổi, ví dụ như <command>rsync</command> hoặc <command>unison</command>.</para>
+      <para>Ngay cả giả sử rằng bạn hài lòng với sự cân bằng về mặt hạn-chế/lợi-ích mà hệ thống kiểm soát phiên bản mang lại, bạn cũng không nên chọn sử dụng chỉ đơn thuần bởi vì nó <emphasis>có thể</emphasis> làm được những gì bạn muốn. Nên cân nhắc nhu cầu của bạn có thể được giải quyết bằng các công cụ khác. Ví dụ, bởi vì Subversion sao chép dữ liệu đến tất cả các cộng tác viên liên quan, một sự lạm dụng phổ biến đó là xem nó như một hệ thống phân phối. Đôi khi người ta sử dụng Subversion để phân phối những bộ sưu tập lớn hình ảnh, âm nhạc kỹ thuật số, hoặc những gói phần mềm. Vấn đề là tất cả những loại dữ liệu này thường không thay đổi. Bản thân bộ sưu phồng lên theo thời gian, nhưng những tập tin riêng lẽ trong bộ sưu tập thì không thay đổi. Trong trường hợp này, việc sử dụng Subversion là <quote>quá mức cần thiết</quote>.<footnote><para>Hoặc như một người bạn ví  von, <quote>chém ruồi bằng dao phay.</quote></para></footnote> Có nhiều công cụ đơn giản hơn để sao chép dữ liệu một cách hiệu quả <emphasis>mà không</emphasis> tốn thêm chi phí với phần theo dõi thay đổi, ví dụ như <command>rsync</command> hoặc <command>unison</command>.</para>
 
 <!-- 
       <para>
@@ -255,9 +255,9 @@
  -->
       <para>
         <indexterm>
-          <primary>hệ thống quản lý phiên bản</primary>
+          <primary>hệ thống kiểm soát phiên bản</primary>
           <secondary>tập trung hoá</secondary>
-        </indexterm>Một khi bạn đã quyết định rằng bạn cần một giải pháp quản lý phiên bản, bạn sẽ tìm thấy không thiếu những lựa chọn có sẵn. Khi Subversion được thiết kế và được phân phối, phương pháp thống trị của quản lý phiên bản là <firstterm>quản lý phiên bản tập trung hoá</firstterm>—một tổng kho đơn từ xa chứa dữ liệu phiên bản với người dùng cá nhân làm việc cục bộ trên bản sao cạn (shallow copy) lịch sử phiên bản của dữ liệu. Subversion nhanh chóng nổi lên sau lần giới thiệu ban đầu như là một tiên phong trong lĩnh vực quản lý phiên bản, được tiếp nhận một cách rộng rãi và là giải pháp thay thế cho nhiều hệ thống quản lý phiên bản cũ hơn. Ngày nay nó tiếp tục nắm giữ vị trí nổi bật.</para>
+        </indexterm>Một khi bạn đã quyết định rằng bạn cần một giải pháp kiểm soát phiên bản, bạn sẽ tìm thấy không thiếu những lựa chọn có sẵn. Khi Subversion được thiết kế và được phân phối, phương pháp thống trị của kiểm soát phiên bản là <firstterm>kiểm soát phiên bản tập trung hoá</firstterm>—một tổng kho đơn từ xa chứa dữ liệu phiên bản với người dùng cá nhân làm việc cục bộ trên bản sao cạn (shallow copy) lịch sử phiên bản của dữ liệu. Subversion nhanh chóng nổi lên sau lần giới thiệu ban đầu như là một tiên phong trong lĩnh vực kiểm soát phiên bản, được tiếp nhận một cách rộng rãi và là giải pháp thay thế cho nhiều hệ thống kiểm soát phiên bản cũ hơn. Ngày nay nó tiếp tục nắm giữ vị trí nổi bật.</para>
 
 <!-- 
       <para>
@@ -293,13 +293,13 @@
  -->
       <para>
         <indexterm>
-          <primary>hệ thống quản lý phiên bản</primary>
+          <primary>hệ thống kiểm soát phiên bản</primary>
           <secondary>phân tán</secondary>
         </indexterm>
         <indexterm>
           <primary>DVCS</primary>
-          <see>hệ thống quản lý phiên bản, phân  tán</see>
-        </indexterm>Tuy nhiên, đã có nhiều thay đổi kể từ  đó. Trong những năm kể từ thời điểm dự án Subversion bắt đầu vòng đời của nó, một phương pháp quản lý phiên bản mới được gọi <firstterm>quản lý phiên bản phân tán </firstterm> đã tương tự như vậy thu hút được sự chú ý và chấp nhận rộng rãi. Những công cụ như là Git (<ulink url="http://git-scm.com/" />) và Mercurial (<ulink url="http://mercurial.selenic.com/" />) đã nổi lên trên đỉnh xếp hạng của hê thống quản lý phiên bản phân tán (DVCS). Hệ thống quản lý phiên bản phân tán khai thác sự phát triển phổ biến của kết nối mạng tốc độ cao và chi phí lưu trữ thấp để cung cấp một cách tiếp cận mà khác với mô hình tập trung theo những cách chính.  Trước tiên và rõ ràng nhất đó là thực tế không có tổng kho trung tâm của dữ liệu được đánh dấu phiên bản. Thay vào đó, mỗi người dùng lưu giữ và vận hành một phiên bản cục bộ một bản đầy đủ—đầy đủ, theo đúng nghĩa đen—về lịch sử lưu trữ dữ liệu. Việc hợp tác vẫn xảy ra, nhưng được thực hiện thông qua việc trao đổi tập của những thay đổi được tao trực tiếp giữa những bản dữ liệu lưu trữ cục bộ của người dùng, không phải thông qua lưu trữ dữ liệu tổng thể tập trung. Trên thực tế, bất kỳ hình thái nào của dữ liệu phiên bản của bộ dữ liệu của dự án chỉ là theo quy ước, một trạng thái được quy gán bởi các cộng tác viên khác nhau trong dự án đó.</para>
+          <see>hệ thống kiểm soát phiên bản, phân  tán</see>
+        </indexterm>Tuy nhiên, đã có nhiều thay đổi kể từ  đó. Trong những năm kể từ thời điểm dự án Subversion bắt đầu vòng đời của nó, một phương pháp kiểm soát phiên bản mới được gọi <firstterm>kiểm soát phiên bản phân tán </firstterm> đã tương tự như vậy thu hút được sự chú ý và chấp nhận rộng rãi. Những công cụ như là Git (<ulink url="http://git-scm.com/" />) và Mercurial (<ulink url="http://mercurial.selenic.com/" />) đã nổi lên trên đỉnh xếp hạng của hê thống kiểm soát phiên bản phân tán (DVCS). Hệ thống kiểm soát phiên bản phân tán khai thác sự phát triển phổ biến của kết nối mạng tốc độ cao và chi phí lưu trữ thấp để cung cấp một cách tiếp cận mà khác với mô hình tập trung theo những cách chính.  Trước tiên và rõ ràng nhất đó là thực tế không có tổng kho trung tâm của dữ liệu được đánh dấu phiên bản. Thay vào đó, mỗi người dùng lưu giữ và vận hành một phiên bản cục bộ một bản đầy đủ—đầy đủ, theo đúng nghĩa đen—về lịch sử lưu trữ dữ liệu. Việc hợp tác vẫn xảy ra, nhưng được thực hiện thông qua việc trao đổi tập của những thay đổi được tao trực tiếp giữa những bản dữ liệu lưu trữ cục bộ của người dùng, không phải thông qua lưu trữ dữ liệu tổng thể tập trung. Trên thực tế, bất kỳ hình thái nào của dữ liệu phiên bản của bộ dữ liệu của dự án chỉ là theo quy ước, một trạng thái được quy gán bởi các cộng tác viên khác nhau trong dự án đó.</para>
 
 <!-- 
       <para>There are pros and cons to each version control approach.
@@ -321,25 +321,9 @@
         used together harmoniously within the organization, each
         serving the purposes best suited to the tool.</para>
  -->
-      <para>Với mỗi hướng tiếp cập của quản lý phiên bản tồn tại những ưu và khuyết điểm. 
-        Perhaps the two biggest benefits delivered by the DVCS tools
-        are incredible performance for day-to-day operations (because
-        the primary data store is locally held) and vastly better
-        support for merging between branches (because merge algorithms
-        serve as the very core of how DVCSes work at all).  The
-        downside is that distributed version control is an inherently
-        more complicated model, which can present a non-negligible
-        challenge to comfortable collaboration.  Also, DVCS tools do
-        what they do well in part because of a certain degree of
-        control withheld from the user which centalized systems freely
-        offer—the ability to implement path-based access
-        control, the flexibility to update or backdate individual
-        versioned data items, etc.  Fortunately, many wise
-        organizations have discovered that this needn't be a religious
-        debate, and that Subversion and a DVCS tool such as Git can be
-        used together harmoniously within the organization, each
-        serving the purposes best suited to the tool.</para>
+      <para>Với mỗi hướng tiếp cập của kiểm soát phiên bản tồn tại những ưu và khuyết điểm. Có lẽ hai lợi ích lớn nhất được cung cấp bởi các công cụ DVCS là hiệu suất đáng kinh ngạc cho hoạt động hàng ngày (bởi vì dữ liệu lưu trữ chính được tổ chức cục bộ) và hỗ trợ tốt hơn một cách rộng rãi cho việc hợp nhất giữa các nhánh (vì thuật toán hợp nhất đóng vai trò cốt lõi trong cách DVCS làm việc). Nhược điểm là kiểm soát phiên bản phân tán là một mô hình hơi phức tạp hơn, mà có thể hiện hữu một thách thức tương đối nhỏ ảnh hưởng tới việc hợp tác một cách thoải mái. Ngoài ra, công cụ DVCS làm rất tốt cũng một phần vì một mức độ nhất định của kiểm soát được giữ lại từ người dùng mà hệ thống tập trung cung cấp.—khả năng thực hiện việc kiểm soát truy cập dựa trên đường dẫn, tính linh hoạt để có thể cập nhật hoặc huỷ cập nhật những mục dữ liệu phiên bản riêng lẻ, vv. May mắn thay, nhiều tổ chức sáng suốt đã phát hiện ra rằng điều này không cần phải là một cuộc tranh luận tôn giáo, công cụ Subversion và DVCS như là Git có thể sử dụng chung với nhau một cách hài hoà trong tổ chức, mỗi cái phục vụ cho một mục đích mà phù hợp với nó.</para>
 
+<!-- 
       <para>Alas, this book is about Subversion, so we'll not attempt
         a full comparison of Subversion and other tools.  Readers
         empowered to choose their version control system are
@@ -349,14 +333,18 @@
         chosen tool, there's <emphasis>plenty</emphasis> of detailed
         information about how to use it successfully in the chapters
         that follow!</para>
+ -->
+      <para>Than ôi, cuốn sách này là về Subversion, vì vậy chúng tôi sẽ không cố gắng làm một so sánh đầy đủ của Subversion và các công cụ khác. Độc giả được trao quyền để lựa chọn hệ thống kiểm soát phiên bản của họ và được khuyến khích nghiên cứu các tùy chọn có sẵn để có lựa chọn phù hợp nhất cho bản thân và cộng tác viên của họ. Và nếu, sau khi ra quyết định, Subversion được chọn, có <emphasis>nhiều</emphasis> thông tin chi tiết về cách làm thế nào để sử dụng nó một cách thành công trong cách chương tiếp theo! </para>
 
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.intro.history">
   
-      <title>Subversion's History</title>
+<!--       <title>Subversion's History</title> -->
+      <title>Lịch Sử Subversion</title>
   
+<!-- 
       <para>
         <indexterm>
           <primary>Subversion</primary>
@@ -380,7 +368,18 @@
         not under a free license.  So CollabNet determined to write a
         new version control system from scratch, retaining the basic
         ideas of CVS, but without the bugs and misfeatures.</para>
-  
+ -->
+      <para>
+        <indexterm>
+          <primary>Subversion</primary>
+          <secondary>lịch sử</secondary>
+        </indexterm>
+        <indexterm>
+          <primary>CollabNet</primary>
+        </indexterm>Trong những năm đầu 2000, CollabNet,
+        Inc. (<ulink url="http://www.collab.net"/>) bắt đầu chiêu mộ nhiều lập trình viên để xây dựng một bản thay thế cho CVS. CollabNet cung cấp<footnote><para>CollabNet Enterprise Edition sau đó được thay thế bởi một dòng sản phẩm mới gọi là CollabNet TeamForge.</para></footnote> một bộ phần mềm cộng tác gọi là CollabNet Enterprise Edition (CEE), trong đó có một thành phần là kiểm soát phiên bản. Mặc dù ban đầu CEE dùng CVS làm hệ thống kiểm soát văn bản, những giới hạn của CVS là rõ ràng ngay từ ban đầu, và CollabNet biết là họ cuối cùng cần phải tìm một cái gì đó tốt hơn. Không may là CVS trên thực tế đã trở thành tiêu chuẩn trong phần lớn thế giới mã nguồn mở bởi vì <emphasis>không</emphasis> có cái nào tốt hơn, ít nhất là theo một giấy phép miễn phí. Vì vậy CollabNet đã quyết định xây dựng một hệ thống kiểm soát phiên bản mới hoàn toàn, giữ lại những ý tưởng cơ bản của CVS nhưng không có lỗi và bổ sung những tính năng còn thiếu.</para>
+        
+<!-- 
       <para>In February 2000, they contacted Karl Fogel, the author of
         <citetitle>Open Source Development with CVS</citetitle>
         (Coriolis, 1999), and asked if he'd like to work on this new
@@ -405,7 +404,10 @@
         It turned out that many people had encountered the same
         frustrating experiences with CVS and welcomed the chance to
         finally do something about it.</para>
+ -->
+      <para>Vào tháng 2 năm 200, họ liên lạc với Karl Fogel là tác giả của <citetitle>Phát Triển Mã Nguồn Mở với CVS</citetitle> (Coriolis, 1999) và đề nghị ông tham gia vào dự án. Thật trùng hợp, lúc đó Karl đang thảo luận với bạn của mình Jim Blandy về việc thiết kế một hệ thống kiểm soát phiên bản mới. Trong năm 1995, cả hai đã mở công ty Cyclic Software là công ty chuyên cung cấp hợp đồng hỗ trợ CVS, và mặt dù sau đó họ đã bán công ty họ vẫn sử dụng CVS để làm việc hàng ngày. Sự thất vọng của họ với CVS đã khiến ông phải suy nghĩ cẩn thận về những cách tốt hơn để kiểm soát phiên bản dữ liệu và ông đã không chỉ nghĩ ra cái tên Subversion mà còn xây dựng được những thiết kế cơ bản của dữ liệu lưu trữ Subversion. Khi CollabNet liên hệ, Karl ngay lập tức đồng ý tham gia vào dự án, và Jim có được chủ nhân của mình, Công ty Phần mềm Red Hat, để về cơ bản cống hiến cho dự án vô thời hạn. CollabNet thuê Karl và Ben Collins-Susman và việc thiết kế chi tiết đã bắt đầu vào tháng Ba năm 2000. Với sự giúp đỡ từ Brian Behlendorf và Jason Robbins của CollabNet, và từ Greg Stein (lúc đó là một nhà phát triển tự do chuyên về quy trình đặc điểm kỹ thuật WebDAV/DeltaV), Subversion nhanh chóng thu hút được một cộng đồng những nhà phát triển tích cực. Hoá ra có rất nhiều người có trải nghiệm thất vọng với CVS và họ hoan nghênh cơ hội để cuối cùng làm gì đó về nó.</para>
   
+<!-- 
       <para>The original design team settled on some simple goals.  They
         didn't want to break new ground in version control methodology,
         they just wanted to fix CVS.  They decided that Subversion would
@@ -414,12 +416,18 @@
         not need to be a drop-in replacement for CVS, it should be
         similar enough that any CVS user could make the switch with
         little effort.</para>
+ -->
+      <para>Nhóm thiết kế ban đầu thiết lập một số mục tiêu. Họ không muốn thiết lập một tiêu chuẩn mới trong phương pháp kiểm soát phiên bản, họ chỉ muốn sửa CVS. Họ quyết định rằng Subversion sẽ đồng nhất với CVS về mặt tính năng và bảo tồn y nguyên mô hình phát triển, nhưng không lặp lại những lỗi quá rõ ràng của CVS. Và mặc dù nó không cần phải là một sự thay thế cho CVS, nó nên giống vừa đủ để bất kỳ người dùng nào cũng có thể thực hiện chuyển đổi với rất ít nỗ lực.</para>
   
+<!-- 
       <para>After 14 months of coding, Subversion became
         <quote>self-hosting</quote> on August 31, 2001.  That is,
         Subversion developers stopped using CVS to manage Subversion's
         own source code and started using Subversion instead.</para>
+ -->
+      <para>Sau 14 tháng lập trình, Subversion bắt đầu <quote>tự lưu trữ</quote> vào ngày 31 tháng 8 năm 2001.  Đó là, các nhà phát triển Subversion ngừng sử dụng CVS để quản lý mã nguồn riêng của Subversion và bắt đầu sử dụng Subversion để thay thế.</para>
 
+<!-- 
       <para>
         <indexterm>
           <primary>Apache Subversion</primary>
@@ -440,14 +448,22 @@
         project web presence to
         <ulink url="http://subversion.apache.org"/>, and was
         rechristened <quote>Apache Subversion</quote>.</para>
+ -->
+      <para>
+        <indexterm>
+          <primary>Apache Subversion</primary>
+          <seealso>Subversion</seealso>
+        </indexterm>Trong lúc CollabNet bắt đầu dự án và vẫn đang đóng góp một phần lớn công việc (trả lươnng cho một số lập trình viên Subversion làm việc toàn thời gian), Subversion được duy trì như đa số những dự án mã nguồn mở khác, quản lý bởi một tập hợp lỏng lẻo, minh bạch của các quy tắc mà khuyến khích nhân tài. Trong năm 2009, CollabNet đã làm việc với những nhà phát triển Subversion hướng tới mục tiêu tích hợp dự án Subversion vào Quỹ Phần mềm Apache (ASF - Apache Software Foundation), một trong những tập thể nổi tiếng nhất trên thế giới của dự án mã nguồn mở. Kỹ thuật gốc của Subversion, cộng đồng ưu tiên và thực tiễn phát triển là phù hợp hoàn hảo với ASF, nhiều người trong số các thành viên đã là những người đóng góp tích cực vào Subversion. Vào đầu năm 2010, Subversion được tiếp nhận hoàn toàn vào danh sách những dự án quan trọng của ASF, chuyển địa chỉ website của dự án tới <ulink url="http://subversion.apache.org"/> và được đặt lại tên là <quote>Apache Subversion</quote>.</para>
 
     </sect2>
   
     <!-- =============================================================== -->
     <sect2 id="svn.intro.architecture">
   
-      <title>Subversion's Architecture</title>
+<!--       <title>Subversion's Architecture</title> -->
+      <title>Kiến Trúc Subversion</title>
     
+<!-- 
       <para>
         <indexterm>
           <primary>Subversion</primary>
@@ -455,13 +471,28 @@
         </indexterm><xref linkend="svn.intro.architecture.dia-1"/>
         illustrates a <quote>mile-high</quote> view of Subversion's
         design.</para>
+ -->
+      <para>
+        <indexterm>
+          <primary>Subversion</primary>
+          <secondary>kiến trúc</secondary>
+        </indexterm><xref linkend="svn.intro.architecture.dia-1"/>
+        minh hoạ <quote>mile-high</quote> thiết kế của Subversion.</para>
       
+<!-- 
       <figure id="svn.intro.architecture.dia-1">
         <title>Subversion's architecture</title>
         <graphic width="5in" depth="6.25in"
                  fileref="images/svn-arch-diagram.png"/>
       </figure>
+ -->
+      <figure id="svn.intro.architecture.dia-1">
+        <title>Kiến trúc Subversion</title>
+        <graphic width="5in" depth="6.25in"
+                 fileref="images/svn-arch-diagram.png"/>
+      </figure>
   
+<!-- 
       <para>On one end is a Subversion repository that holds all of
         your versioned data.  On the other end is your Subversion
         client program, which manages local reflections of portions of
@@ -470,14 +501,18 @@
         go across computer networks and through network servers which
         then access the repository, others of which bypass the network
         altogether and access the repository directly.</para>
+ -->
+      <para>Ở một phía của kho lưu trữ Subversion lưu giữ toàn bộ dữ liệu phiên bản của bạn. Ở phía còn lại là chương trình khách, mà quản lý cục bộ phần phản xạ của những phần dữ liệu phiên bản. Giữa hai cực đó là rất nhiều tuyến đường xuyên qua một lớp Quyền Truy Cập Kho Lưu Trữ (RA - Repository Access), một số trong đó đi qua mạng máy tính và thông qua các máy chủ mạng mà sau đó truy cập vào kho lưu trữ, số khác bỏ qua mạng hoàn toàn và truy cập trực tiếp vào kho lưu trữ.</para>
   
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.intro.components">
   
-      <title>Subversion's Components</title>
+      <!-- <title>Subversion's Components</title> -->
+      <title>Thành Phần Subversion</title>
         
+<!-- 
       <para>
         <indexterm>
           <primary>Subversion</primary>
@@ -488,6 +523,12 @@
         scratching your head—<emphasis>plenty</emphasis> more
         pages in this book are devoted to alleviating that
         confusion.</para>
+ -->
+      <para>
+        <indexterm>
+          <primary>Subversion</primary>
+          <secondary>thành phần</secondary>
+        </indexterm>Subversion, sau khi cài đặt, có một số phần khác nhau. Sau đây là tổng quan của những gì bạn nhận được. Đừng lo lắng nếu phần mô tả làm cho bạn phải gãi đầu—<emphasis>rất nhiều</emphasis> trang trong cuốn sách này được dành để làm giảm bớt sự rối rắm này.</para>    
   
       <variablelist>
         <indexterm>
@@ -521,13 +562,22 @@
           <primary>svnmucc</primary>
         </indexterm>
 
+<!-- 
         <varlistentry>
           <term>svn</term>
           <listitem>
             <para>The command-line client program</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>svn</term>
+          <listitem>
+            <para>Chương trình khách theo giao diện dòng lệnh</para>
+          </listitem>
+        </varlistentry>
   
+<!-- 
         <varlistentry>
           <term>svnversion</term>
           <listitem>
@@ -535,14 +585,30 @@
               revisions of the items present) of a working copy</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>svnversion</term>
+          <listitem>
+            <para>Một chương trình để báo cáo tình trạng (về sửa đổi các mục hiện tại) của một bản sao làm việc (working copy)</para>
+          </listitem>
+        </varlistentry>
 
+<!-- 
         <varlistentry>
           <term>svnlook</term>
           <listitem>
             <para>A tool for directly inspecting a Subversion repository</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>svnlook</term>
+          <listitem>
+            <para>Một công cụ để kiểm tra kho lưu trữ Subversion</para>
+          </listitem>
+        </varlistentry>
 
+<!-- 
         <varlistentry>
           <term>svnadmin</term>
           <listitem>
@@ -550,7 +616,15 @@
               repository</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>svnadmin</term>
+          <listitem>
+            <para>Một công cụ để tạo, chỉnh, hoặc sửa chữa kho lưu trữ Subversion</para>
+          </listitem>
+        </varlistentry>
 
+<!-- 
         <varlistentry>
           <term>mod_dav_svn</term>
           <listitem>
@@ -559,7 +633,15 @@
               network</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>mod_dav_svn</term>
+          <listitem>
+           <para>Một mô-đun plug-in dành cho Apache HTTP Server, được sử dụng để làm cho kho lưu trữ của bạn có sẵn cho những người khác trong một mạng lưới</para>
+          </listitem>
+        </varlistentry>
   
+<!-- 
         <varlistentry>
           <term>svnserve</term>
           <listitem>
@@ -568,7 +650,15 @@
               your repository available to others over a network</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>svnserve</term>
+          <listitem>
+            <para>Một chương trình tuỳ biến độc lập chạy trên máy chủ, có thể được thực thi như là một tiến trình daemon hoặc kích hoạt thông qua SSH; một cách khác để làm cho kho lưu trữ của bạn có sẵn cho những người khác trong một mạng lưới</para>
+          </listitem>
+        </varlistentry>
 
+<!-- 
         <varlistentry>
           <term>svndumpfilter</term>
           <listitem>
@@ -576,7 +666,15 @@
               streams</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>svndumpfilter</term>
+          <listitem>
+            <para>Một chương trình để lọc những luồng kết xuất của kho lưu trữ Subversion</para>
+          </listitem>
+        </varlistentry>
   
+<!-- 
         <varlistentry>
           <term>svnsync</term>
           <listitem>
@@ -584,7 +682,15 @@
               to another over a network</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>svnsync</term>
+          <listitem>
+            <para>Một chương trình để phản chiếu từng bước một kho lưu trữ sang một kho khác trong một mạng lưới</para>
+          </listitem>
+        </varlistentry>
 
+<!-- 
         <varlistentry>
           <term>svnrdump</term>
           <listitem>
@@ -592,7 +698,15 @@
               and loads over a network</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>svnrdump</term>
+          <listitem>
+            <para>Một chương trình để thực hiện việc kết xuất và nạp lịch sử của kho lưu trữ trong một mạng lưới</para>
+          </listitem>
+        </varlistentry>
 
+<!-- 
         <varlistentry>
           <term>svnmucc</term>
           <listitem>
@@ -601,6 +715,13 @@
               use of a working copy</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>svnmucc</term>
+          <listitem>
+            <para>Một chương trình để thực hiện nhiều thao tác kho lưu trữ URL-based trong một lần chuyển giao (commit) và không dùng bản sao làm việc (working copy)</para>
+          </listitem>
+        </varlistentry>
 
       </variablelist>
 
@@ -609,8 +730,10 @@
     <!-- =============================================================== -->
     <sect2 id="svn.intro.whatsnew">
 
-      <title>What's New in Subversion</title>
+      <!-- <title>What's New in Subversion</title> -->
+      <title>Có Gì Mới Trong Subversion</title>
 
+<!-- 
       <para>
         <indexterm>
           <primary>Subversion</primary>
@@ -623,9 +746,16 @@
         this is not a complete list; for full details, please visit
         Subversion's web site at
         <ulink url="http://subversion.apache.org"/>.</para>
+ -->
+      <para>
+        <indexterm>
+          <primary>Subversion</primary>
+          <secondary>Lịch sử của</secondary>
+        </indexterm>Ấn bản đầu tiên của cuốn sách này được phát hành bởi O'Reilly Media vào năm 2004, ngay sau khi Subversion hoàn thành phiên bản 1.0. Kể từ đó, dự án Subversion tiếp tục phát hành phiên bản chính mới của phần mềm. Đây là bản tóm tắt của những thay đổi chính kể từ Subversion 1.0. Lưu ý rằng đây không phải là một danh sách hoàn chỉnh; để có đầy đủ thông tin chi tiết, vui lòng truy cập website của Subversion tại địa chỉ <ulink url="http://subversion.apache.org"/>.</para>
 
       <variablelist>
 
+<!-- 
         <varlistentry>
           <term>Subversion 1.1 (September 2004)</term>
           <listitem>
@@ -640,7 +770,15 @@
               localized user interface.</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>Subversion 1.1 (Tháng Chín 2004)</term>
+          <listitem>
+            <para>Bản phát hành 1.1 giới thiệu FSFS, một tuỳ chọn lưu trữ dạng tập tin. Trong khi Berkeley DB bên dưới vẫn được sử dụng và hỗ trợ một cách rộng rãi, FSFS kể từ đó trở thành sự lựa chọn mặc nhiên cho việc tạo kho lưu trữ do dễ gia nhập và yêu cầu bảo trì tối thiểu. Và cũng trong bản phát hành này cung cấp khả năng cho phép đặt liên kết tượng trưng vào kiểm soát phiên bản, tự động mã hoá URL và giao diện người dùng địa phương hoá.</para>
+          </listitem>
+        </varlistentry>
 
+<!-- 
         <varlistentry>
           <term>Subversion 1.2 (May 2005)</term>
           <listitem>
@@ -658,7 +796,15 @@
               to compress and retrieve old versions of files.</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>Subversion 1.2 (Tháng Năm 2005)</term>
+          <listitem>
+            <para>Bản phát hành 1.2 giới thiệu khả năng tạo ổ khoá phía máy chủ trên các tập tin, do đó tuần tự hoá truy cập chuyển giao vào tài nguyên cụ thể. Trong khi Subversion vẫn cơ bản là một hệ thống kiểm soát phiên bản đồng thời, một vài loại tập tin nhị phân (ví dụ. tập tin hình ảnh) không thể được trộn chung. Chức năng khoá đáp ứng nhu cầu đánh phiên bản và bảo vệ loại tài nguyên này. Cùng với chức năng khoá, bản phát hành này còn đi kèm với việc tích hợp tự-động-đánh-phiên-bản WebDAV một cách toàn diện, cho phép kho lưu trữ Subversion có thể được ánh xạ như là một thư mục mạng lưới. Cuối cùng, Subversion 1.2 bắt đầu sử dụng thuật toán binary-differencing mới và nhanh hơn để nén và truy xuất phiên bản cũ của những tập tin.</para>
+          </listitem>
+        </varlistentry>
 
+<!-- 
         <varlistentry>
           <term>Subversion 1.3 (December 2005)</term>
           <listitem>
@@ -671,6 +817,19 @@
               forward.</para>
           </listitem>
         </varlistentry>
+ -->
+        <varlistentry>
+          <term>Subversion 1.3 (Tháng Mười Hai 2005)</term>
+          <listitem>
+            <para>Release 1.3 brought path-based authorization
+              controls to the <command>svnserve</command> server,
+              matching a feature formerly found only in the Apache
+              server.  The Apache server, however, gained some new
+              logging features of its own, and Subversion's API
+              bindings to other languages also made great leaps
+              forward.</para>
+          </listitem>
+        </varlistentry>
 
         <varlistentry>
           <term>Subversion 1.4 (September 2006)</term>




More information about the svnbook-dev mailing list