chuyển svn - Relocate: sai uuid?


7

Tôi đang cố gắng chuyển sang một kho lưu trữ SVN mới.

Tôi hiện đang kiểm tra sau:

$ svn info
svn+ssh://some.server.edu/home/name/svn-repositories/proj/trunk

Bây giờ tôi muốn chuyển đổi, nhưng tôi gặp lỗi:

$ svn switch --relocate \
  svn+ssh://some.server.edu/home/name/svn-repositories/proj/trunk \
  https://subversion.assembla.com/svn/name/trunk/proj .
svn: The repository at 'https://subversion.assembla.com/svn/name/trunk/proj' 
has uuid '...', but the WC has '...'

Tôi nghĩ rằng toàn bộ vấn đề svn switch --relocatelà có hai kho lưu trữ với các uuids khác nhau? Làm thế nào tôi có thể chính xác chuyển sang repos mới?

BTW, các thư mục phải chính xác: Cũ proj/trunkvà mới trunk/projchứa chính xác các tệp giống nhau, v.v.:

$ svn ls https://subversion.assembla.com/svn/<name>/trunk/proj
foo.txt
$ svn ls svn+ssh://some.server.edu/home/name/svn-repositories/proj/trunk
foo.txt

Tôi đang sử dụng svn 1.6.5 trên máy Mac.

Câu trả lời:


7

svn switch --relocate hy vọng tìm thấy cùng một kho lưu trữ tại một URL mới, không phải là một URL khác.

Bạn đã sử dụng svnsyncđể tạo kho lưu trữ mới? Trong trường hợp đó, bạn có thể sử dụng svnadmin setuuidđể sử dụng cùng uuid như kho lưu trữ cũ. Theo tài liệu svnsync trong sách svn , điều này sẽ cho phép bạn sử dụng lại các bản sao làm việc hiện có.


Tôi đã làm điều này với một svnsync để di chuyển repo đến một vị trí mới. svnadmin setuuidtiết kiệm trong ngày!
Matt Connolly

3

Các --relocatecờ cập nhật bản sao làm việc của bạn nếu URL được sử dụng để đạt được của bạn hiện có thay đổi kho. SVN không có cách nào tốt để chuyển một bản sao đang hoạt động sang một kho lưu trữ mới , bởi vì mặc dù nó có thể chứa cùng một tệp, nhưng bất kỳ số lượng nào khác có thể khác nhau - lịch sử, số lượng đăng ký, nội dung của các tệp , et cetera và SVN không được thiết kế để giải thích cho những loại khác biệt đó.

Bạn đã hỏi câu hỏi của bạn hoàn toàn từ góc độ khách hàng, nhưng sẽ hữu ích khi có một bức tranh lớn hơn về những gì bạn đang cố gắng làm. Chẳng hạn, bạn đang cố gắng di chuyển kho lưu trữ của riêng mình sang một máy chủ mới? Nếu vậy, bạn đã sử dụng phương pháp nào, và có thể có một phương pháp tốt hơn? Hoặc bạn đã sử dụng một kho lưu trữ được quản lý bởi người khác và họ đã di chuyển nó? Là tất cả lịch sử của kho lưu trữ cũ có trong kho lưu trữ mới? Có lý do gì bạn / họ không thể sao chép các tệp cơ sở dữ liệu SVN sang máy chủ mới thay vì tạo một kho lưu trữ hoàn toàn mới không?

Có một cách để ép buộc những gì bạn muốn - cụ thể là xóa các thư mục .svn khỏi bản sao làm việc của bạn (tạo bản sao lưu trước!), Kiểm tra một bản sao mới từ máy chủ mới và di chuyển tất cả các thư mục .svn từ bản sao mới đến những nơi tương ứng trong bản sao làm việc của bạn. Nhưng chỉ làm điều đó một khi bạn đã xem bức tranh lớn hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.