2012-02-25 30 views
5

Tôi muốn một kho lưu trữ hoàn toàn bỏ qua một số tệp nhất định - tương đương với việc thêm các tệp đó vào .gitignore trong hệ thống git. Tôi đã thử:SVN không bỏ qua các tệp

svn propset svn:ignore *.aux" . 

để bỏ qua tất cả .aux tệp. Tuy nhiên, sau khi làm điều đó và thành công svn commit, svn status vẫn cho thấy:

?  something.aux 
!  somethingelse.aux 

là có một cách mạnh mẽ hơn nữa để cho nó để bỏ qua những tập tin này để chúng không hiển thị trong danh sách như thế này?

+5

Xem thông tin này: http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.ignore.html. –

+2

Tôi cho rằng bạn có lỗi đánh máy trong lệnh "svn propset" mà bạn đã đề cập. Không nên có '' '(dấu ngoặc kép). – bahrep

Trả lời

2

Nó thực sự là một câu hỏi phổ biến và tôi khuyên bạn nên xem xét chương SVNBook "Ignoring Unversioned Items" bao gồm nó.

Xem trích đoạn quan trọng từ SVNBook điều này giải thích hành vi: hỗ trợ

Subversion cho mô hình tập tin có thể bỏ qua mở rộng chỉ với quá trình một lần thêm các tập tin không phiên bản và thư mục lên phiên bản kiểm soát. Khi đối tượng nằm dưới sự kiểm soát của Subversion, cơ chế mẫu bỏ qua không còn áp dụng cho đối tượng đó nữa. Nói cách khác, đừng mong Subversion tránh cam kết những thay đổi bạn đã thực hiện đối với tệp được phiên bản đơn giản vì tên tệp đó khớp với mẫu bỏ qua — Subversion luôn chú ý đến tất cả các đối tượng được phiên bản của nó.

Đầu ra svn status, bản sao làm việc của bạn chứa one unversioned item (the one with the '?' sign) and one missing item (the one with the '!' sign).

?  something.aux 
!  somethingelse.aux 

Vì vậy, bạn đã tự loại bỏ (ví dụ: thông qua Windows Explorer, nhưng không qua SVN client) các somethingelse.aux và bây giờ đã 'mất tích' trạng thái. Tệp khác something.aux vẫn chưa được phiên bản và là không bị bỏ qua.

Nếu bạn không nhập nhầm lệnh svn propset, cam kết thay đổi tài sản và các tập tin vẫn không phiên bản trạng thái mà bạn có thể tìm thấy đoạn trích này có hữu ích:

các mẫu được tìm thấy trong svn: ignore tài sản chỉ áp dụng cho thư mục mà thuộc tính đó được đặt và không cho bất kỳ thư mục con nào trong số thư mục con của nó.

Ngoài ra, bạn có thể kiểm tra thuộc tính svn:ignore bằng cách phát hành lệnh svn propget.

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