2010-05-18 37 views
8

Ở nhiều dự án, tôi kiểm tra kho lưu trữ đầy đủ và có sau đó cấu trúc thư mục tiêu chuẩn:Thẻ SVN: Cách không cập nhật/kiểm tra chúng?

project/ 
    branches/ 
    tags/ 
    trunk/ 

Nếu tôi làm một svn up project, đó là tất cả tốt với các branchestrunk thư mục, nhưng, dĩ nhiên, tags thư mục được cập nhật, quá, và đầy (chủ yếu) rất nhiều phiên bản được gắn thẻ mà không có giá trị cho công việc của tôi và chỉ chiếm không gian đĩa.

Làm cách nào để tôi có thể ngoại trừ thư mục tags từ svn update? Đặc biệt, làm cách nào tôi có thể thực hiện điều này tại địa phương chỉ, tức là, không cam kết trở lại kho lưu trữ, vì giải pháp với từ khóa svn:ignore sẽ làm gì?

Trả lời

12

Trước tiên, bạn kiểm tra phía trên cùng của dự án theo cách không đệ quy (-N hoặc --non-recursive)

svn co https://server/project -N my_project_checkout 

Bây giờ ở giai đoạn này, bạn có thể cập nhật chỉ có vòi:

svn up my_project_checkout/trunk 
+0

Cool, hoạt động như dự định. – Boldewyn

2

Bạn nên kiểm tra và làm việc trong thân cây hoặc trên một nhánh cụ thể. Có vẻ như bạn đã kiểm tra toàn bộ cây dự án.

+1

Thực ra, có, tôi đang kiểm tra toàn bộ điều, vì nó phù hợp với quy trình làm việc của tôi cho các dự án cụ thể đó và b) có thể dễ dàng cập nhật bằng một 'svn up' duy nhất (ngược lại với 2' svn up' s để kiểm tra chia nhỏ). Tôi hy vọng cho một giải pháp với khả năng giữ cho repo đầy đủ kiểm tra ra. – Boldewyn

+0

Ok, nhưng trong một số trường hợp nó có thể nhiều hơn bạn cần dưới 'thân cây' là tốt. Câu hỏi thực sự là có thể nói rằng bạn chỉ muốn thư mục 'a', 'b', và 'd', và NOT 'c'? – awe

1

Để chỉ cập nhật thư mục cụ thể, hãy chuyển chúng đến lệnh cập nhật svn.

svn update project/branches project/trunk 
15

Subversion có tính năng gọi là Thanh toán thưa thớt cho trường hợp này.

svn up --set-depth empty project/tags 

Điều này sẽ xóa tất cả các thẻ đã kiểm tra, chỉ để lại thư mục "thẻ" phía sau.

lựa chọn khác là:

svn up --set-depth immediates project/tags 

mà sẽ kiểm tra các thư mục thẻ riêng của mình, nhưng không phải nội dung của họ.
Bằng cách này bạn có thể dễ dàng nhìn thấy thẻ mới và nhận được các nội dung của thẻ duy nhất với:

svn up --set-depth infinity project/tags/mytag 

Edit:

này đang phối hợp với giải pháp elcucos, quá và thậm chí bạn có thể sử dụng nó cho bạn thư mục chi nhánh.

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