2010-04-05 39 views
15

Tôi có một repo dự án hiện có mà tôi sử dụng cho dự án A, và có một số tệp và thư mục bị loại trừ khỏi nó bằng cách sử dụng svn: ignore. Tôi muốn bắt đầu một dự án khác (dự án B), trong một repo mới, với khoảng các tập tin tương tự bị bỏ qua trong nó.Nhận danh sách đệ quy của các tệp svn: ignore'd

Làm cách nào để có danh sách tất cả các tệp trong repo có bộ svn: ignore trên chúng và giá trị của thuộc tính đó? Tôi đang sử dụng Ubuntu, vì vậy sed và grep đi nếu điều đó giúp.

Cảm ơn, Joe

Trả lời

25
svn propget -R svn:ignore 

Output trông giống như:

path/to/dir1 - *.exe 
*~ 

path/to/dir2 - #* 

path/to/dir3 - ...etc... 
+0

Tôi thấy rằng điều này kết hợp với svn propget -R svn: global-ignores cho một danh sách đầy đủ hơn. –

5

Hãy thử:

svn st --no-ignore | grep '^I' 

để tìm externals.

nếu bạn cần phải tìm tất cả các thư mục svn, hãy thử:

find . -name .svn -print0 | xargs -0 -n1 dirname 

Bạn có thể thử

find . -name .svn -print0 | xargs -0 -n1 dirname | xargs svn pg svn:ignore 

để có được tất cả các externals, nhưng sản lượng sẽ giống như thế:

docs - _* 

mwbuild - _* 
local-settings 
*.pyc 

tức là không được chia dọc theo ranh giới đường. Có lẽ ma thuật sed/awk hơn sẽ làm cho hành động đó?

+0

Ack, xin lỗi. Tôi đã không nhận thấy khi tôi viết câu trả lời của tôi rằng bạn đã mô tả 'propget' và đầu ra của nó. –

14
svn status --no-ignore | grep "I " 
Các vấn đề liên quan