This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.

Tạo Bản Sao Làm Việc

Đa số trường hợp, bạn bắt đầu làm việc với kho lưu trữ Subversion bằng việc kiểm xuất dự án của bạn. Kiểm xuất một thư mục từ kho lưu trữ sẽ tạo một bản sao làm việc của thư mục đó trên máy trạm của bạn. Nếu không có chỉ định gì khác, bản sao đó sẽ chứa phiên bản mới nhất (mới được tạo hoặc chỉnh sửa gần đây nhất) của thư mục và con của nó mà được tìm thấy trên kho lưu trữ Subversion:

$ svn checkout http://svn.example.com/svn/repo/trunk
A    trunk/README
A    trunk/INSTALL
A    trunk/src/main.c
A    trunk/src/header.h
…
Checked out revision 8810.
$

Mặc dù ví dụ vừa rồi kiểm xuất thư mục "trunk", bạn có thể dễ dàng kiểm xuất một nhánh con ở mức sâu hơn của kho lưu trữ bằng cách khai báo URL của thư mục con đó như là URL kiểm xuất:

$ svn checkout http://svn.example.com/svn/repo/trunk/src
A    src/main.c
A    src/header.h
A    src/lib/helpers.c
…
Checked out revision 8810.
$

Bởi vì Subversion áp dụng mô hình sao chép-sửa đổi-hợp nhất thay vì mô hình khoá-sửa đổi-mở khoá (xem the section called “Mô hình phiên bản”), bạn có thể thay đổi trên tập tin và thư mục trong bản sao làm việc của bạn ngay tức thì. Bản sao làm việc của bạn cũng tương tự như những tập các tập tin và thư mục khác trên hệ thống của bạn. Bạn có thể hiệu chỉnh những tập tin, đổi tên, thậm chí là xóa toàn bộ bản sao làm việc và quên nó.

[Warning] Warning

Mặc dù bản sao làm việc của bạn cũng tương tự như những tập các tập tin và thư mục khác trên hệ thống của bạn, bạn có thể xóa tập tin tùy ý, nhưng bạn phải thông báo cho Subversion về mọi thứ khác mà bạn thực hiện. Ví dụ, nếu bạn muốn sao chép hoặc di chuyển một mục trong một bản sao làm việc, bạn phải dùng lệnh svn copy hoặc svn move chứ không phải lệnh sao chép và di chuyển của hệ điều hành bạn đang sử dụng. Chúng ta sẽ bàn về những lệnh này sau trong chương này.

Trừ khi bạn đã sẵn sàng để chuyển giao những tập tin hoặc thư mục mới hay là những thay đổi trên những mục hiện có, bạn không cần thiết phải thông báo cho máy chủ Subversion về những việc khác.

Chú ý rằng trong cặp ví dụ trước, Subversion tạo bản sao làm việc trên một thư mục với tên là phần cuối của URL kiểm xuất. Điều này như là một sự tiện lợi cho người sử dụng khi chỉ có URL kiểm xuất được cung cấp khi thực hiện lệnh svn checkout. Ứng dụng khách Subversion giao-diện-dòng-lệnh cũng cung cấp cho bạn một sự linh hoạt, đó là cho phép bạn tùy ý chỉ tên định thư mục cục bộ mà Subversion sẽ dùng cho việc tạo bản sao làm việc. Ví dụ:

$ svn checkout http://svn.example.com/svn/repo/trunk my-working-copy
A    my-working-copy/README
A    my-working-copy/INSTALL
A    my-working-copy/src/main.c
A    my-working-copy/src/header.h
…
Checked out revision 8810.
$

Nếu thư mục cục bộ bạn chỉ định chưa tồn tại, không thành vấn đề—lệnh svn checkout sẽ tạo thư mục đó cho bạn.