2012-12-24 22 views
8

Tôi đang cố gắng để chuyển đổi một repo svn để git sử dụng reposurgeon.chuyển đổi svn repo sang git bằng cách sử dụng reposurgeon

Dưới đây là những gì tôi đã (có một tập tin repo.map có tên svn -> tên git mapping):

svnadmin dump /home/subversion > repo.svn 
reposurgeon "verbose 1" "repo.svn" "authors read" "write repo.fi" 

reposurgeon chạy trong nhiều giờ (nhiều trao đổi vì nó là một bãi chứa 12GB và mọi thứ đều tốt. Đây là kết quả đầu ra tôi nhận được:

reposurgeon: verbose 1 
    reposurgeon: from repo.svn...copynodes+filemaps+copysets+commits+branches+parents+root+branchlinks+svn-mergeinfo+tagifying+tagify-empty+polishing+canonicalizing+resets+debubbling+renumbering+14163 revisions (1/s)...(9810.18 sec) done. 
reposurgeon: r13: deleting parentless zero-op commit. 
. 
. 
. 
reposurgeon: r13726: deleting parentless zero-op commit. 
    2012-12-24T01:16:23Z * repo.svn 

Tại điểm này, đại diện chỉ ngồi. Tôi không chắc chắn nơi để tìm một giải pháp tại thời điểm này, vì nó không bao giờ thực sự mang lại cho tôi một thông báo lỗi. Mọi ý kiến ​​góp ý đều được chào đón.

+0

Bạn nên thử hỏi một nơi nào đó ESR bị treo, như IRC. Điều đó có vẻ như rất nhiều cam kết, gần đây ông đã giới thiệu một số tối ưu hóa hiệu suất mà bạn có thể quan tâm. – mikewaters

+0

@DanielJacobs: bạn đã thử chạy công việc một cách tương tác chưa? Tôi đã nhận thấy sự khác biệt tinh tế giữa việc chạy nội dung trên dòng lệnh và từ tập lệnh. Tôi cũng sử dụng dấu nhắc tương tác để phát triển tập lệnh tăng của tôi. – 0xC0000022L

Trả lời

-1

Tôi đã chọn sử dụng git-svn thay vào đó, nếu bạn sẽ xem xét một giải pháp thay thế cho reposurgeon.

3

Nếu bạn cân nhắc giải pháp thay thế cho reposurgeon và git-svn, hãy xem SubGit.

$ subgit configure /home/subversion 
#edit /home/subversion/conf/subgit.conf to set 'core.authorsFile' option to path to "repo.map" file 
$ subgit install /home/subversion 
$ subgit uninstall --purge /home/subversion 

Kho lưu trữ được chuyển đổi sẽ nằm trong thư mục /home/subversion/.git. Là một phần thưởng, bạn sẽ có tất cả thuộc tính svn: ignore và svn: eol được chuyển đổi thành Git analog của chúng.

Thông thường kho SVN nhỏ hơn khoảng 4 lần so với tệp kết xuất tương ứng, do đó việc chuyển đổi kho lưu trữ ban đầu có thể nhanh hơn chuyển đổi dựa trên kết xuất.

6

Đã nhập thành công kho lưu trữ, nhưng sau đó nó sẽ xử lý lệnh authors read nhưng bạn không chỉ định tệp. Tại thời điểm này nó thực sự chờ đợi cho các tập tin xuất hiện trên stdin. Sử dụng authors read <author-map nơi tác giả-bản đồ là tên của tệp chứa bản đồ.

Bạn cũng sẽ muốn thay đổi lệnh viết thành write >repo.fi, vì những lý do tương tự.

+0

Làm thế nào để tôi có được một bản đồ tác giả như vậy? – rubo77

+0

tác giả-bản đồ chỉ là một tệp văn bản mà bạn tạo chứa các dòng trông giống như "ferd = Ferd J. Foonly <[email protected]> -0500". – db48x

Các vấn đề liên quan