从SVN到Git的迁移问题

时间:2012-10-09 13:04:59

标签: svn git-svn

您好我无法使用'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

我该如何解决这个问题?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分: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

安装完成后,您可以在SVN_REPOS / .git找到导入的Git存储库;从那时起,SubGit会自动同步每个svn commitgit push上的SVN和Git存储库。如果您不需要SubGit的镜像功能,只需运行命令:

$ subgit uninstall --purge SVN_REPOS

此命令删除所有与SubGit相关的文件,因为您导入的Git存储库不再与SVN同步。

SubGit documentationgit-svn比较页面上查找更多详情。

SubGit是一种商业产品,但它可以免费进行一次性转换。如果您对SubGit的镜像模式感兴趣,那么它对于开源,学术和小型项目(最多10个提交者)是免费的。

免责声明:我是SubGit开发人员之一。