Nhóm của chúng tôi đã sử dụng SVN để quản lý một ứng dụng có kích thước khá và theo thời gian một phân cấp khá phức tạp của các nhánh và thẻ đã được xây dựng theo tiêu chuẩn cơ bản cho kho SVN, nhưng là lồng nhau hơn:Di chuyển phân cấp chi nhánh SVN phức tạp sang Mercurial
|-trunk |-branches | |-releases | | |-releaseA | | `-releaseB | `-features | |-featureX | `-featureY |-tags |-releaseA | |-beta | `-RTP `-releaseB |-beta `-RTP
(các ngành chức năng là chi nhánh rõ ràng là tạm thời nhưng chúng ta phải đưa họ vào xem xét vì nó sẽ không khả thi để đóng tất cả chúng cùng một lúc trong tương lai gần)
Vì nhiều lý do nhưng chủ yếu là vì sự hợp nhất đã trở thành một nỗi đau ngày càng tăng, chúng tôi đang xem xét ng để chuyển sang Mercurial.
Vấn đề chính mà chúng tôi hiện đang phải đối mặt là di chuyển cơ sở mã hiện tại mà không làm mất lịch sử của chúng tôi. Tôi đã thử một số công cụ di chuyển (ví dụ: yasvn2hg, hg convert và svn2hg) với yasvn2hg là hứa hẹn nhất, nhưng không ai trong số họ dường như có thể xử lý phân cấp lồng nhau nhưng tất cả đều cho rằng các chi nhánh và thẻ được tổ chức trong một thư mục phẳng tương ứng.
Sự lựa chọn giữa chi nhánh tên là hoặc nhái như là mục tiêu chuyển đổi chi nhánh SVN cũ không phải là một yếu tố hạn chế trong trường hợp này, là một trong hai giải pháp sẽ được đánh giá cao. Chúng tôi hiện đang thử nghiệm với cả hai tùy chọn và cách chúng phù hợp với các quy trình hiện tại của chúng tôi nhưng chưa quyết định. Tôi rõ ràng sẽ quan tâm đến các khuyến nghị hoặc kinh nghiệm với các thiết lập tương tự liên quan đến vấn đề đó.
Vì vậy, cách tốt nhất để chuyển đổi phân cấp nhánh SVN lồng nhau như thế này thành Mercurial là gì?
Chuyển đổi một chi nhánh tại một thời điểm thành một kho lưu trữ riêng biệt sẽ khá khó chịu và tôi không chắc liệu đó có phải là cách tiếp cận phù hợp hay không, tùy thuộc vào cách các công cụ xử lý sự hợp nhất lịch sử và cần lưu ý tất cả các chi nhánh khác?
hey tôi gần đây đã đăng chính xác cùng một câu hỏi ngay bây giờ. Rất thích nghe nếu bạn giải quyết trên một giải pháp kể từ khi đặt câu hỏi. Như đã đề cập dưới đây trong một bình luận, trong trường hợp của tôi có một "bản sao" cho mỗi nhánh lồng nhau thực sự không phải là một giải pháp và tôi chắc chắn hy vọng sẽ tìm được cách để có thể nhập các nhánh _as branches_ vào HG mà không nhân đôi dãy dữ liệu bằng cách chia nhỏ nhiều repos. –