0

こんにちは、「git svn」ツールを使用して SVN から Git にリポジトリに移動できません..

以下のエラーに直面しています

$ git svn fetch
Index mismatch: a93a7f4289f88b70ba85c8f6210e3c64b97447d5 != 20979407f93a6908d2dadee058774021b68f80af
rereading 44999ef977dddeed551f4822d25763b1c38a7307
        M       parser/service/src/main/java/service/Add.java
        M       parser/service/src/main/java/service/DependencyUtil.java
        M       parser/service/src/main/java/service/Log.java
        M       parser/service/src/main/java/service/ParseTableFilter.java
svn: In file 'subversion/libsvn_delta/text_delta.c' line 657: assertion failed (window->sview_len == 0 || (window->sview_offset >= ab->sbuf_offset && (window->sview_offset + window->sview_len >= ab->sbuf_offset + ab->sbuf_len)))
error: git-svn died of signal 6

どうすればこれに対処できますか? どんな助けでも大歓迎です!

4

1 に答える 1

2

SubGitを試して、SVN リポジトリを Git にインポートできます。また、このツールを使用すると、同じリポジトリで Subversion と Git の両方を使用できます。

SubGit をセットアップする基本的な手順は次のとおりです。

$ subgit configure SVN_REPOS
# Adjust SVN_REPOS/conf/subgit.conf to specify your branches and tags
# Adjust SVN_REPOS/conf/authors.txt to specify git & svn authors mapping
$ subgit install SVN_REPOS
...
# INSTALLATION SUCCESSFUL

インストール後、インポートされた Git リポジトリは SVN_REPOS/.git にあります。この瞬間から、SubGit は および ごとに SVN と Git リポジトリを自動的に同期しsvn commitますgit push。SubGit のこのミラー機能が必要ない場合は、次のコマンドを実行してください。

$ subgit uninstall --purge SVN_REPOS

このコマンドは、SVN と同期されなくなった Git リポジトリをインポートした結果、すべての SubGit 関連ファイルを削除します。

詳細については、SubGit のドキュメントgit-svn の比較ページをご覧ください。

SubGit は商用製品ですが、1 回の変換は無料です。SubGit のミラー モードに関心がある場合は、オープン ソース、アカデミック、小規模プロジェクト (最大 10 コミッター) は無料です。

免責事項: 私は SubGit 開発者の 1 人です。

于 2012-10-15T12:32:07.860 に答える