2008-09-19 31 views
6

Xin lỗi, tôi mới tham gia SVN và tôi đã xem xét một chút về vấn đề này. Làm thế nào để bạn đánh dấu một phiên bản chính trong SVN, giống như thiết lập một điểm khôi phục. Ngay bây giờ tôi chỉ cần thiết lập máy chủ của tôi và thêm tất cả các tập tin của tôi - Tôi đã không liên tục cam kết những thay đổi khác nhau. Khi tôi có một cái gì đó trong trạng thái ổn định thì có cách nào để đánh dấu điều này để tôi có thể dễ dàng quay trở lại nó nếu cần thiết?SVN đánh dấu phiên bản chính

Trả lời

16

Có vẻ như bạn đang tìm kiếm thẻ.

Tags in the Subversion book

"Một thẻ chỉ là một‘bản chụp’của một dự án trong thời gian"

11

Cách điển hình là tạo ra một thư mục 'tag' trong thư mục gốc của kho lưu trữ của bạn và sao chép toàn bộ thân cây vào thư mục đó. (Sao chép là rẻ trong Subversion bởi vì nó chỉ cần thêm tài liệu tham khảo để sửa đổi tệp cụ thể đang tồn tại.)

Vì vậy, bạn có thể nói:

svn cp http://svn.example.com/trunk/ http://svn.example.com/tags/major-revision-01/ 

Xem the Subversion book để biết thêm thông tin, đặc biệt là chương tags.

0

thử đọc trang này svn copy. Về cơ bản bạn chỉ cần làm một bản sao svn

1

Nếu bạn đang sử dụng cấu trúc tiêu chuẩn svn, bạn nên có một nhánh, thẻ và thư mục trunk.

Những gì bạn đang tìm cách làm là tạo bản sao của thân hiện tại vào một thư mục trong thẻ.

Ví dụ dòng lệnh:

svn copy mysvnurl/myproject/trunk mysvnurl/myproject/thẻ/majorrelease_01

0

Trong CVS, điều này được gọi là một "tag". SVN không sử dụng một cơ chế riêng biệt cho các thẻ, nó chỉ tạo ra một nhánh. Vì vậy, chỉ cần tạo một nhánh mới và đặt tên mô tả là "release-1.2".

Ngoài ra, cách lười biếng sẽ được ghi lại số kho phiên bản hiện tại trong một file văn bản;)

+0

Holy crap, 4 người khác trả lời trong khoảng thời gian tôi viết nó. – MrZebra

3

Tất cả chúng tôi làm là chúng ta tạo ra một chi nhánh. Chúng ta có các thư mục mức root chuẩn: trunk, tags, release, branch. Điều quan trọng cần nhớ là tất cả phân nhánh đơn giản là tạo bản sao và tất cả các nhánh của thân cây cũng giống như tạo bản sao (ngoại trừ bản sao nông, chỉ sao chép các vùng đồng bằng).

Đối với chúng tôi, mọi sự phát triển đều được thực hiện trong thân cây. Nếu ai đó đang làm một việc làm lớn thì có xu hướng đặt nó vào các nhánh. Các bản phát hành chính được đưa vào bản phát hành và tất cả các nhãn và mục khác mà chúng tôi muốn gắn thẻ được đặt trong thư mục thẻ.

Đối với các phiên bản của chúng tôi, chúng tôi đã cấu trúc thư mục sau:

repository 
+--trunk 
+--releases 
    +--v1.0 
    +--v1.1 
    +--v1.4 
    +--v2.0 
+--branches 
+--tags 
0

Dưới đây là một ý tưởng hữu ích. Sử dụng CruiseControl (hoặc CruiseControl.NET) để tự động gắn nhãn tại một khoảng thời gian cố định (tức làhàng đêm, hoặc mỗi 15 phút)

Get A Build Process Now!

Các vấn đề liên quan