2012-04-04 32 views
7

Tôi có kho lưu trữ Subversion có tên là 'repo'. Bên trong của repo là trunk/và các chi nhánh/thư mục. Trong các chi nhánh/có vài chục nhánh phát hành, ví dụ: 1.0 /, 1.1 /. Các nhánh/thư mục này chứa một ứng dụng tương đối lớn.Cách tìm nạp Subversion bên ngoài mà không tìm nạp tất cả thư mục và thư mục con khác

Tôi muốn thêm bên ngoài vào thư mục gốc của repo, được gọi là 'myExternal'. Khi tôi định nghĩa bên ngoài, cách duy nhất để SVN tạo thư mục myExternal/là chạy 'svn up' từ thư mục gốc của repo. Tuy nhiên, điều này cũng sẽ gây ra toàn bộ nội dung của các chi nhánh/được kiểm tra, điều không thể chấp nhận được (chúng tôi có nhiều nhà phát triển cần thêm myExternal/được thêm vào bản sao repo của họ và không thể kiểm tra hết gigabyte các nhánh không cần thiết).

Tôi đã thử 'svn up --set-depth immediates', nhưng điều đó dường như không nhận được phần bên ngoài. Có cách nào để nói với svn để lấy myExternal/mà không lấy tất cả các chi nhánh /?

Sử dụng SVN 1.7.

Trả lời

4

Có, đó là vấn đề đã biết về lật đổ externals are not created unless depth=infinity.

Tôi nghĩ không có cách nào để thiết kế lại cấu trúc thư mục của bạn sao cho myExternal được đính kèm không vào repo nhưng đối với các thư mục con của nó, ví dụ: đặt trên /trunk và mọi thư mục trong /chi nhánh. Hoặc bạn có thể tạo một tập lệnh mà lúc đầu tìm nạp ngay lập tức của repo và sau đó lấy externals đặt trên repo (mà nó có thể nhận được bằng cách đọc thuộc tính của repo: svn propget svn: externals).

6

Bên ngoài chỉ là kiểm tra svn để bạn có thể kiểm tra chúng theo cách thủ công.

Bạn cũng có thể sử dụng lệnh như thế này. Bạn có thể phải sửa đổi nó một chút nếu bên ngoài của bạn ở định dạng khác.

svn propget svn:externals | awk '{print $2, $1}' | xargs -L1 svn co 
+1

'svn propget svn: externals | xargs -L1 svn co' trong trường hợp của tôi làm việc –

+0

svn propget svn: externals | sed -e 's//. \ //' | sed -e 's/\' // g '| xargs -L1 svn đồng làm việc cho tôi – TCS

+0

Tôi nên làm rõ rằng chúng tôi đã chỉ đơn giản là kiểm tra bằng tay. Ý định của tôi là để xem nếu có một cách bản địa để làm điều này với 'thanh toán' ban đầu – erich8

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