您好我无法使用'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
我该如何解决这个问题?任何帮助表示赞赏!
答案 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 commit
和git push
上的SVN和Git存储库。如果您不需要SubGit的镜像功能,只需运行命令:
$ subgit uninstall --purge SVN_REPOS
此命令删除所有与SubGit相关的文件,因为您导入的Git存储库不再与SVN同步。
在SubGit documentation和git-svn比较页面上查找更多详情。
SubGit是一种商业产品,但它可以免费进行一次性转换。如果您对SubGit的镜像模式感兴趣,那么它对于开源,学术和小型项目(最多10个提交者)是免费的。
免责声明:我是SubGit开发人员之一。