2010-09-16 29 views
7

thể trùng lặp:
List all svn:externals recursively?Làm thế nào để tìm tất cả các mục trong SVN repo với bên ngoài đến một URL cho

tôi cần phải di chuyển vị trí của một thành phần được tham chiếu bởi nhiều dự án có số svn:external.

Làm cách nào tôi có thể dễ dàng tìm thấy tất cả các vị trí có svn:external đối với URI này?

+1

Xem http://stackoverflow.com/questions/681833/list-all-svnexternals-recursively và http://superuser.com/questions/191864/viewing-all-subversion-externals –

Trả lời

10
svn propget svn:externals http://path/to/repos -R 

liệt kê tất cả các phần tử bên ngoài, không được lọc, giả sử tôi có thể grep nếu tôi đang sử dụng hệ điều hành.

6

tôi đã sử dụng một biến thể nhẹ vào câu trả lời khác (xin lỗi cho đạo văn một phần) ...

svn propget --xml -R svn:externals https://myserver/myrepo > results.xml 

và sau đó chạy các kết quả thông qua một XPath sử dụng một cái gì đó giống như ...

//properties/target[contains(./property,'https://myserver/myrepo/mysearchpath')]/@path 

Điều này đã cho tôi một danh sách ngắn chứa tất cả các tài liệu tham khảo.

Phần dài nhất đã chờ đợi cho bộ đẩy mất theo nghĩa đen giờ trên kho lưu trữ của chúng tôi. Không chắc chắn nếu điều này có thể được cải thiện.

+1

Lệnh đã tìm kiếm hoàn tất kho lưu trữ, chậm. Có lẽ nó là đủ để tìm kiếm các bên ngoài tham chiếu trong bản sao làm việc của bạn? Sau đó, một lệnh tương tự là ** nhiều ** nhanh hơn: 'svn propget svn: externals --xml -R *> results.xml' – SomeStupid

+0

Tôi đồng ý @SomeStupid, mặc dù chỉ hoạt động nếu bản sao làm việc chứa tham chiếu (không được tham chiếu). Vì nó đã được đề cập rằng tác giả đã có nhiều dự án đề cập đến bên ngoài, tôi cho rằng không biết dự án nào đã tham chiếu nó, nhưng tìm kiếm bản sao làm việc nhanh hơn nhiều nếu bạn biết! – Krayol

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