TortoiseSVN Braching & Tagging

Download Report

Transcript TortoiseSVN Braching & Tagging

TortoiseSVN
Braching & Tagging
Nguyễn Văn Khiết
Nội dung
• Branching và Tagging
• Merging
• Lock
Branch
• Khi phát triển một dự án, đôi khi ta cần
phát triển thêm một chức năng mới,
nhưng vẫn muốn giữ kết quả hiện có
•  ta cần tạo ra nhánh (branch) riêng làm
việc bên cạnh nhánh chính (main branch –
trunk). Khi chức năng trong nhánh đã ổn
định, ta mới thực hiện merge các thay đổi
vào nhánh chính.
• Các hệ thống quản lý phiên bản phải cung
cấp khả năng này.
Tag
• Một chức năng khác mà các hệ thống
quản lý phiên bản phải hổ trợ là tagging.
• Tagging là khả năng đánh dấu dự án tại
một phiên bản cụ thể  ta có thể lấy ra
phiên bản này tại bất kỳ thời điểm nào về
sau.
• Tagging thường được dùng để đánh dấu
một release hay một bản build nào đó.
Branching & Tagging
• SubVersion không có lệnh đặc biệt nào
cho Braching và Tagging.
• SubVersion sử dụng cheap-copies.
• Cheap-copies không copy toàn bộ
repository mà tạo ra các liên kết trên cây
phiên bản
•  Thao tác braching và Tagging rất nhanh
chóng
Branching & Tagging
• Thông thường, khi làm việc với
SubVersion, các folder sau thường được
tạo ra:
– /trunk
– /branches
– /tags
Branching & Tagging
• Để branching/tagging, ta chọn folder muốn
branching/tagging, sau đó chọn
Branch/Tag…. Kế tiếp, chọn revision
tương ứng cần braching/tagging
– HEAD revision in the repository
– Specific revision in the repository
– Working copy
Branching & Tagging
• Practice tốt nhất
– Đối với tag: chỉ là các thành phần cố định và
không thay đổi.
– Đối với branch: các thành phần có thể thay
đổi.
Branching & Tagging
• Ta có thể chuyển tới một branch hoặc một
tag bằng cách dùng lệnh Switch.
• Khi ta đang làm việc trên 1 branch, ta
Commit thì chỉ thay đổi branch đó trên
server.
Merging
• Branch dùng để phát triển dự án theo
nhiều hướng khác nhau. Đôi khi, ta sẽ có
nhu cầu merge những thay đổi trong
branch vào trunk hoặc ngược lại.
• SubVersion cho phép ta thực hiện merge
từ một revision trong 1 branch sang 1
revision của branch khác.
Merging
• Ví dụ minh họa merging
Lock
• SVN cho phép ta Lock trên một file. Một
khi file được Lock, các lệnh Commit của
những người khác sẽ không thể thực hiện
được cho tới khi ta giải phóng Lock.
Lock
• Để thực hiện Lock, ta chọn vào các file
cần Lock, sau đó chọn TortoiseSVN →
Get Lock...
• Khi ta Lock một folder, tất cả các file trong
folder này (và các folder con) sẽ bị Lock.
• Để giải phóng Lock, ta chọn các file, rồi
chọn TortoiseSVN → Release Lock.
Lock
• Để xem các file nào đang bị Lock, ta chọn
TortoiseSVN → Check for Modifications...
• Ngoài ra, ta có thể chọn Breaking Lock để
giải phóng Lock người khác đang giữ,
hoặc Stealing Lock để giành Lock người
khác đang giữ.