tạo lại kho svn


8

sau một lỗi máy chủ lớn, kho svn đã bị hủy và phiên bản làm việc của tôi là phiên bản mới nhất,

cách để tạo lại kho svn từ phiên bản làm việc của tôi là gì?

sau khi cài đặt svn trên máy chủ mới và thử bản sao làm việc của tôi

 svn switch NEW_SVN_PATH .

tôi gặp lỗi

 Repository UUID '1c604742-6b16-462b-86e4-cc8bce959242' doesn't match expected UUID '6df69aeb-a72c-450d-8102-24036a3855f7'

Câu trả lời:


2

Sau khi khởi tạo reporsitry svn mới

  1. trên máy khách thực hiện xuất svn của thư mục làm việc hiện tại sang một vị trí khác
  2. từ vị trí đã xuất, thực hiện nhập svn vào url svn mới
  3. bây giờ làm một svn di chuyển đến kho lưu trữ mới được tạo.

Trong khi điều này có thể hoạt động, tôi nghĩ thay vì di dời, kiểm tra mới có thể là tốt


2

Phải đối phó với điều này. Tôi sử dụng lật đổ được lưu trữ, và thực hiện một kết xuất và sau đó nhập khẩu. Quá trình nhập của họ không chuyển UUID từ repo cũ sang repo mới nên tôi gặp lỗi tương tự như OP. Tất cả các câu trả lời trên các trang web Stack Exchange chỉ cho bạn biết cách xử lý vấn đề này bằng cách sử dụng "svnadmin setuuid", nhưng đó không phải là một lựa chọn cho tôi vì tôi sử dụng dịch vụ lưu trữ (và do đó svnadmin sẽ không có quyền truy cập vào kho lưu trữ ). Tôi có thể đã nhập một vé nhưng không muốn đối phó với sự chờ đợi, vì vậy đây là cách tôi sửa nó, bằng cách cập nhật thủ công UUID của bản sao làm việc của tôi :

Cảnh báo: chỉ thử điều này nếu bạn chắc chắn bản sao đang hoạt động và kho lưu trữ mà bạn đang trỏ lại hoàn toàn đồng bộ. Không chắc chắn những gì sẽ xảy ra nếu họ không.

Quá trình này về cơ bản là thay thế UUID cũ bằng UUID mới trong các tệp có tên "mục" trong các thư mục svn ẩn (thư mục có tên .svn hoặc _svn) của bản sao làm việc của bạn. Khi đã xong, bạn có thể sử dụng "di dời" của TortoiseSVN để trỏ thư mục làm việc tới URL kho lưu trữ mới.

  1. Trong cửa sổ giao diện điều khiển, cd vào thư mục gốc của thư mục làm việc của bạn.
  2. Chạy lệnh để loại bỏ đệ quy thuộc tính "chỉ đọc" khỏi các tệp "mục": attrib -R entries /S
  3. Sử dụng chức năng "thay thế trong tệp" của trình soạn thảo văn bản để thay thế UUID cũ bằng UUID mới. Tôi đã sử dụng Visual Studio với các cài đặt sau: Xem trong: PATH_TO_WORKING_FOLDER_ROOT / Bao gồm các thư mục con: đã kiểm tra / Xem các loại tệp này: mục
  4. Hoàn tác bước 2: attrib +R entries /S
  5. "Di dời" bản sao làm việc sang URL mới. Tôi đã sử dụng TortoiseSVN: nhấp chuột phải vào thư mục làm việc, TortoiseSVN-> Relocate.

Tất cả các bước 5 làm là thay thế URL trong các tệp "mục" tôi nghĩ, vì vậy bạn có thể làm điều đó bằng tay nếu bạn muốn. Cũng có thể với công cụ dòng lệnh "svn", nhưng không biết lệnh ra khỏi đỉnh đầu của tôi.


Điều này là dữ dội. Điều đó có thực sự cần thiết? Tôi chỉ đang cố gắng để tìm ra nó vì nhà cung cấp của tôi rõ ràng đã chuyển repos của chúng tôi và tôi cũng gặp lỗi tương tự.
Đến

0

Bạn có thể đặt UUID trên một kho lưu trữ trống. Sau đó nhập các tệp bạn có. Bạn sẽ mất lịch sử của bạn (nó không được giữ trong bản sao làm việc). Nhưng, bằng cách đặt UUID khớp với kho lưu trữ cũ của bạn, bạn sẽ tránh được thông báo lỗi trên công tắc svn.

$ svnlook uuid /var/svn/repos
cf1b8d31-acb6-02dc-bc7c-16e92ce6dbec
$ svnadmin setuuid /var/svn/repos   # generate a new UUID
$ svnlook uuid /var/svn/repos
4c2c49fe-acc1-23dc-acbc-2b28ff0c9e6c
$ svnadmin setuuid /var/svn/repos 1c604742-6b16-462b-86e4-cc8bce959242  # restore the old UUID
$ svnlook uuid /var/svn/repos 1c604742-6b16-462b-86e4-cc8bce959242

Phiên bản máy chủ svnadmin của tôi không có tiểu ban setuuid, hãy đoán đây là một trong những lệnh mới hơn. sau đó tôi tìm thấy một tệp db / uuid tại kho lưu trữ, nhưng sau khi sửa đổi số trong đó, svn vẫn phàn nàn rằng đó không phải là cùng một kho lưu trữ
Pavel K.

0

Tôi có cùng một vấn đề nhưng vì chúng tôi sử dụng tùy chọn được lưu trữ, tôi cũng không svnadminthể.

Đây là một cái bên ngoài tôi đã sử dụng trong một dự án khác và tôi đã làm điều này để sửa nó:

  1. Sao lưu tất cả các thay đổi cục bộ của tôi.
  2. rm -rf thư mục (bên ngoài được kiểm tra)
  3. xóa svn:external(và cam kết rằng)
  4. svn up
  5. thêm svn:externalmột lần nữa
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.