Cách nâng cấp hệ thống tập tin lật đổ v2 lên v3 FSFS


9

Đầu tiên, tôi đang cố gắng tái hòa nhập một nhánh với trung kế (sử dụng TortoiseSVN) nhưng tôi nhận được thông báo lỗi "Truy vấn thông tin hợp nhất yêu cầu phiên bản 3 của lược đồ hệ thống tệp FSFS; hệ thống tệp E: / MyRep repository / chỉ sử dụng phiên bản 2".

Có thực sự không thể tái hòa nhập các chi nhánh trong các phiên bản lật đổ trước đó? Hoặc có một cách khác để làm điều này?

Dù sao, làm cách nào tôi có thể nâng cấp hệ thống tệp từ phiên bản 2 lên phiên bản 3?


Câu trả lời:


6

Bạn đã không chỉ định phiên bản Subversion mà máy chủ của bạn đang chạy. Nhưng dựa trên thông điệp bạn cung cấp trong câu hỏi, đây có thể là phiên bản 1.4.x trở lên. Tôi không nhớ có lệnh nâng cấp được cung cấp hay không để chuyển đổi từ 1.4.x sang 1.5.x, nhưng cách chắc chắn để có được kho lưu trữ của bạn từ phiên bản 2 sang phiên bản là kết xuất và tải. Nhưng điều đó không quan trọng lắm, dù sao bạn cũng sẽ muốn cài đặt 1.6.x để đi với bản mới nhất. Vì vậy, đây là các bước bạn cần làm:

  • Nâng cấp lên Subversion 1.6.x nếu chưa có
  • Kết xuất kho lưu trữ hiện tại của bạn bằng cách sử dụng svnadmin dump
  • Tạo một repo mới, gọi nó là _new
  • Tải repo mới của bạn với kết xuất của tải cũ bằng cách sử dụng tải svnadmin
  • Sao chép tệp uuid từ kho lưu trữ cũ sang kho lưu trữ mới
  • đổi tên kho lưu trữ cũ thành _old
  • đổi tên kho lưu trữ mới thành

Xem thêm Câu hỏi thường gặp về Subversion http://subversion.apache.org/faq.html#dumpload để biết ví dụ cụ thể.

Điều đó sẽ giúp bạn được chăm sóc và tập tin uuid sẽ giữ cho khách hàng của bạn không bị hoảng loạn. Làm một cập nhật svn để chắc chắn mặc dù.


2
từ svnadmin help loadtin nhắn : --force-uuid : set repos UUID to that found in stream, if any. Tóm lại: không cần chơi với các tệp
Hubert Kario

@Hubert Kario: Vâng, dòng lệnh có tùy chọn đó. Nhưng không phải tất cả các máy khách GUI đều làm được. Và, nếu bạn có thể làm điều đó ở phía máy chủ, điều đó chỉ giúp người dùng dễ dàng hơn. Nhưng tôi sẽ ghi nhớ công tắc đó vào lần tới khi tôi gặp phải vấn đề đó. Cảm ơn vì tiền hỗ trợ!
jgifford25

Khi tạo kho lưu trữ mới của bạn, hãy cẩn thận về việc thiết lập quyền. Ví dụ: nếu bạn đang truy cập kho lưu trữ thông qua apache mod_svn, apache chạy dưới người dùng "www", nhóm "www" và bạn đã đăng nhập dưới dạng "fred", có thể bạn sẽ cần một cái gì đó như: sudo chown -R fred:www myrepositorytheo sau là sudo chmod g+wđến myrepository/db/repcache.dbmyrepository/db/uuid
xgretsch

8

Dump / load là không cần thiết để nâng cấp kho Subversion. Sử dụng lệnh nâng cấp svnadmin:

svnadmin upgrade <path-to-repos>

LƯU Ý: nâng cấp svnadmin "chỉ thực hiện số lượng công việc tối thiểu cần thiết để thực hiện việc này trong khi vẫn duy trì tính toàn vẹn của kho lưu trữ. Trong khi kết xuất và tải tiếp theo đảm bảo trạng thái kho lưu trữ được tối ưu hóa nhất, thì nâng cấp svnadmin lại không." - xem thêm tài liệu nâng cấp svnadmin


1
Tuy nhiên, LƯU Ý rằng điều này "chỉ thực hiện số lượng công việc tối thiểu cần thiết để thực hiện việc này trong khi vẫn duy trì tính toàn vẹn của kho lưu trữ. Trong khi một bãi chứa và tải tiếp theo đảm bảo trạng thái kho lưu trữ được tối ưu hóa nhất, thì nâng cấp svnadmin lại không." - xem thêm svnbook.red-bean.com/en/1.7/svn.ref.svnadmin.c.upTHER.html
Jörg

1
Đồng thời, cũng lưu ý rằng "bạn phải luôn sao lưu kho lưu trữ của mình trước khi sử dụng" nâng cấp svnadmin, trong khi với kết xuất / tải, bạn hoàn toàn có bản sao lưu dự phòng.
Jorg

5

Ivan có một mẹo hay mà hiệu quả, tôi đã thử và nó rất đơn giản.

svnadmin upgrade <path-to-repos>

Một điều tôi đã bỏ lỡ trong ví dụ Ivans có thể hữu ích cho người khác là:

Ví dụ.

<path-to-repos> = C:\repos\theRepo
(ie. NOT C:\repos\theRepo\db)

Không trỏ svnadmin vào thư mục db, nhưng thư mục chứa thư mục db.

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.