10

reposurgeonを使用して svn リポジトリを git に変換しようとしています。

これが私がしたことです(svn名を持つrepo.mapファイルがあります-> git名のマッピング):

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

reposurgeon は何時間も実行され (12 GB のダンプ ファイルであるため、多くのスワップが行われます)、すべて問題ないようです。これが私が得る出力です:

    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

この時点で、再建外科医は座っているだけです。実際にエラーメッセージが表示されることはないため、この時点で解決策を探す場所がわかりません。どんな提案でも大歓迎です。

4

2 に答える 2

3

reposurgeonとgit-svnの代替案を検討する場合は、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

変換されたリポジトリは/home/subversion/.gitディレクトリにあります。ボーナスとして、すべてのsvn:ignoreおよびsvn:eolスタイルのプロパティがGitアナログに変換されます。

通常、SVNリポジトリは対応するダンプファイルよりも約4倍コンパクトであるため、元のリポジトリの変換はダンプベースの変換よりも高速になります。

于 2012-12-26T15:27:56.323 に答える