IT Staff

Blog về chuyên ngành IT

Giới thiệu về Subversion

leave a comment »

Article: Giới thiệu về Subversion 771

/*
*
* Nguồn từ: Blog cộng đồng về CNTT
*
*/

Software engineering

SVN, Subversion

 

phuongph.myopenid.com

Subversion(viết tắt là SVN) là một hệ thống quản lí version (version control system(VCS)) được giới thiệu vào năm 2000 bởi công ty CollabNet. Đây là hệ thống hỗ trợ làm việc theo nhóm rất hiệu quả. Khi một nhóm làm việc cùng trên một project, việc nhiều người cùng chỉnh sửa nội dung của một file là điều không thể tránh khỏi. SVN cung cấp các chức năng để có thể thực hiện việc này một cách đơn giản và an toàn.

 Về mặt khái quát, SVN giống như một hệ thống file server mà các client có thể download và upload file một cách bình thường. Điểm đặt biệt của SVN là nó lưu lại tất cả những gì thay đổi trên hệ thống file: file nào đã bị thay đổi lúc nào, thay đổi như thế nào, và ai đã thay đổi nó.

SVN cũng cho phép recover lại những version cũ một cách chính xác. Các chức năng này giúp cho việc làm việc nhóm trở nên trơn tru và an toàn hơn rất nhiều.

Các bạn có thể tham khảo thêm về SVN qua Wikipedia và qua Official site.

 svn workflow

Hoc cách sử dụng Subversion qua TortoiseSVN:

TortoiseSVN là một chương trình phía client của Subversion system. Chương trình có thể download miễn phí tại đây.

Sau khi cài đặt xong, các bạn có thể dùng thử TortoiseSVN theo hướng dẫn dưới đây

Hướng dẫn sử dụng TortoiseSVN:

Đây chỉ là hướng dẫn để làm quen với khái niệm và các thao tác trên TortoiseSVN. Cách setup một SVN server thực sự và các chức năng cụ thể của TortoiseSVN xin tham khảo file help trong thư mục cài đặt. Để đơn giản, bài viết sẽ tạo cả server lẫn client trên cùng một máy tính.

 

1. Tạo thư mục Repository(thư mục để chứa các file trên server)

Tạo một thư mục tên bất kì tại nơi bạn muốn đặt server. Vi dụ: C:/SVN/MyRepository. 

Click vào thư mục vừa tạo và click chuột phải, chọn TortoiseSVNCreate Repository.

Click OK ở bước tiếp theo

Repository đã được tạo xong. Ban không nên(và không được) tự mình chỉnh sửa những file trong đó.

2. Access vào Repository như một client

Tạo một thư mục bất kì và di chuyển vào đó(ví dụ C:\Client1)

Click chuột phải, chọn SVN Checkout…

Nhập URL repository trên server(trong trường hợp này là file:///C:/SVN/MyRepository), click OK.

Nếu check out thành công, bạn sẽ thấy trong thư mục xuất hiện thư mục .svn(thư mục ẩn) cùng tất cả các file có trên server (hiện tại trên server chưa có file nào nên chỉ có thư mục .svn xuất hiện). Bạn có thể chỉnh sửa cũng như tạo mới, xóa bớt các file trong đó.

3. Upload file lên server (commit)

Sau khi đã chỉnh sửa file, các bạn có thể commit những thay đổi lên server bằng cách click chuột phải, chọn SVN commit…, check những file cần commit, viết thêm ghi chú về thay đổi (nếu cần) vào phần log message rồi click ok. Ở bước này các bạn chú ý là chỉ nên commit những file chung cho project, những file chỉ sử dụng cho riêng mình (ví dụ các file test, backup…) các bạn không nên commit.

4. Xử lí khi bị conflict

Conflict xảy ra khi 2 client đồng thời thay đổi nội dung của của 1 file. Để hiểu rõ hơn về conflict, các bạn làm theo ví dụ sau:

Trong thư mục client1, check out, sau đó tạo file bất kì (ví dụ main.c).

Commit file main.c.

Edit file main.c, thêm vào dòng “I am client1”. Save file. (chưa commit)

Ra khỏi thư mục client1, tạo thư mục client2 (giả định đây là 1 client khác cùng tham gia 1 project với client1). Check out as client2.

Edit file main.c, thêm vào dòng “I am client2”. Commit file main.c

Trở lại thư mục client1. Commit file main.c. Bảng hiển thị lỗi sẽ hiện ra và bạn sẽ không thể commit lên server.

Cách khắc phục:

Trước tiên bạn phải update. Click chuột phải, chọn SVN update. File main.c của bạn sẽ được copy qua main.cpp.mine, còn file main.cpp sẽ có nội dung mà cả 2 client đã thay đổi. Xem file main.cpp để “đoán” xem chuyện gì đã xảy ra và chỉnh sửa lại. Hoặc bạn có thể dùng check modification tool(click chuột phải, chọn TortoiseSVNCheck for modification). Sau khi đã chỉnh sửa xong file main.cpp, bạn phải thông báo cho SVN rằng conflict đã được fix bằng cách click chuột phải, chọn TortoiseSVNResolved… Sau đó mới có thể commit được.

/*
*
* Nguồn từ: Blog cộng đồng về CNTT
*
*/

Written by Xavier

Tháng Bảy 15, 2016 lúc 10:44 sáng

Posted in Lap trinh, Staff

Tagged with ,

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: