Tôi cần làm gì để biến nó thành một thực thể hoàn toàn độc lập?
Liên kết duy nhất giữa kho lưu trữ mới và tài liệu gốc là một số thuộc tính sửa đổi được sử dụng bởi svnsync synchronize
. Bạn có thể xóa an toàn những người như thế này:
svn propdel --revprop -r 0 svn:sync-from-uuid http://svn.example.com
svn propdel --revprop -r 0 svn:sync-last-merged-rev http://svn.example.com
svn propdel --revprop -r 0 svn:sync-from-url http://svn.example.com
Điều này không làm được gì nhiều ngoại trừ việc đảm bảo rằng svnsync synchronize
không thể chạy được nữa.
chỉnh sửa: Chỉ cần nghĩ đến điều gì đó khác. Bạn có thể đã sử dụng các thuộc tính svn:externals
trong các dự án của mình để trỏ đến một kho lưu trữ khác hoặc một vị trí khác trong cùng một kho lưu trữ.
Một nên sử dụng relative URL syntax cho các liên kết trong cùng một kho lưu trữ, trong trường hợp đó không có vấn đề gì. Nhưng nếu một URL tuyệt đối được sử dụng cho điều đó, thì các liên kết như vậy sẽ tiếp tục trỏ đến kho lưu trữ ban đầu sau svnsync
. Bạn có thể kiểm tra tất cả svn:externals
tính như thế này (có thể mất một thời gian, đệ quy quét tất cả các thư mục):
svn propget -R svn:externals http://svn.example.com/
Nguồn
2011-01-20 17:48:18
Bất kỳ ý tưởng nào để sửa các thuộc tính 'svn: externals' đó trên các bản sửa đổi hiện có? – 0xC0000022L
@STATUS_ACCESS_DENIED: Một cách để chỉ cần remap các phần tử bên ngoài ([như trong mercurial] (http://mercurial.selenic.com/wiki/SubrepoRemappingPlan)) cho các phiên bản hiện tại bị thiếu trong SVN. Nó có thể vẫn còn có thể bằng cách viết lại lịch sử ('svnadmin dump' toàn bộ kho lưu trữ, các URL tìm kiếm và thay thế, sau đó tải' svnadmin' trong một repo mới), nhưng đó là toàn bộ một trò chơi bóng khác. Tôi chưa bao giờ thử điều đó. –
cảm ơn phản hồi. Tôi sợ điều đó ...: - | – 0xC0000022L