2011-08-01 27 views
9

Tôi đang sử dụng Tortoise SVN 1.6.16 trong Windows 7. Nếu tôi có loại tệp nhất định tôi muốn loại trừ khỏi các cam kết trong tương lai, tôi nghĩ tôi có thể tìm một tệp gõ trong thư mục làm việc của tôi, sau đó kích chuột phải vào nó, và chọn "TortoiseSVN-> Delete và Add to Ignore List -> *. ext" trong đó ext là phần mở rộng tập tin của tập tin tôi nhấp, như thể hiện trong hình dưới đây.Loại trừ tệp theo ký tự đại diện thông qua trình đơn trình đơn Tortoise SVN

Tuy nhiên, khi tôi làm điều này, nó chỉ loại trừ tệp cụ thể đó và lần tiếp theo tôi cam kết, tất cả các tệp khác thuộc loại đó vẫn xuất hiện trong danh sách cam kết.

Tôi có làm gì sai không? Làm thế nào tôi có thể chỉ nói cho Tortoise hoặc SVN bỏ qua tất cả các tệp của một loại nhất định từ các cam kết trong tương lai?

enter image description here

Trả lời

15

Tôi đã có linh cảm tương tự như @Stefan: bạn có thể thấy các tệp trong thư mục con và nghĩ rằng những người đó cũng nên bị bỏ qua mặc dù bạn chỉ áp dụng bỏ qua cho một thư mục duy nhất.

Vì vậy, nếu đó là trong thực tế các trường hợp, đây là công thức:

Khi bạn muốn bỏ qua các file hoặc các mẫu từ một thư mục duy nhất:

Sử dụng lệnh trình đơn thuận tiện để thêm vào bỏ qua danh sách.

Khi bạn muốn bỏ qua các file hoặc các mẫu từ một cây con:

mở các thuộc tính lật đổ (TortoiseSVN >> Properties) của thư mục gốc của cây con. Thêm hoặc chỉnh sửa mục nhập cho từ khóa svn:ignore. Hình minh họa hiển thị ví dụ mà tôi đã chỉ định để bỏ qua thư mục con obj cũng như tất cả các tệp có tiện ích mở rộng .user hoặc .bak.

enter image description here

Bí mật, tuy nhiên, là trong đặc tả - khi bạn xác định các mô hình để bỏ qua, chọn lựa chọn đệ quy như được chỉ ra ở đây:

enter image description here

Thật không may, có một bắt theo phương pháp này: Trong ví dụ của tôi, trước đây tôi đã chỉ định bỏ qua obj*.user và tôi đã thêm chỉ mẫu *.bak. Khi tôi áp dụng đệ quy, nó không chỉ áp dụng thay đổi (* .bak) nhưng mọi thứ trong từ khóa svn: ignore (obj, * .user và * .bak) cho tất cả các thư mục con. Điều đó có thể hoặc có thể không phải là những gì bạn muốn, vì vậy hãy lưu ý điều đó.

+1

OK, tôi đã thử nó và có vẻ như nó sẽ làm những gì tôi muốn. được áp dụng để bỏ qua một vài loại tệp, mục nhập svn: ignore mới thay thế mục nhập cũ, có một số loại trừ chi tiết hơn (các tệp cụ thể). Có cách nào để có nhiều propoerties bỏ qua để bạn có thể kết hợp toàn cục (trong – SSilk

+1

Có, tôi cần phải rõ ràng hơn: 'svn: ignore' từ khóa cho tất cả các thư mục con bên dưới của bạn thư mục đã chọn sẽ được ghi đè bằng tập hợp mới mà bạn đang áp dụng. Vì vậy, kỹ thuật này không phải là thuốc chữa bách bệnh cho tất cả các tình huống. –

2

Nó bỏ qua tất cả các tệp bat đúng, nhưng không đệ quy! Nó chỉ bỏ qua chúng trong thư mục mà bạn đã thêm nó vào danh sách bỏ qua.

+0

. Có một cách dễ dàng để làm cho nó bỏ qua chúng cho toàn bộ thư mục làm việc hiện tại? Nếu không, nó ít nhất có tính đến các thư mục con để tôi có thể tạo một tệp thuộc loại mà tôi muốn loại trừ trong thư mục gốc của thư mục làm việc và loại trừ nó? Cảm ơn – SSilk

1

Bạn cũng có thể sử dụng mô hình bỏ qua toàn cầu Rùa (nếu nó được áp dụng cho tất cả các bản sao làm việc của bạn):

  • TortoiseSVN -> Settings
  • chung
  • Điền vào "toàn cầu bỏ qua mô hình" cánh đồng, chẳng hạn như thêm "*.ext "ở cuối của nó, tách các mục với một không gian.
Các vấn đề liên quan