Git svn rebase:校验和不匹配

当我尝试在存储库上执行git svn rebase时遇到问题。 它显示:

Checksum mismatch: code/app/meta_appli/app_info.py expected: d9cefed5d1a630273aa3742f7f414c83 got: 4eb5f3506698bdcb64347b5237ada19f 

我搜查了很多,但还没有find解决这个问题的方法。

如果有人知道,请分享你的知识。 提前致谢。

这个解决scheme是唯一为我工作的解决scheme :

查看文件上次更改的版本号是什么:

git svn log chrome/test/functional/search_engines.py

在修改之前,将svn重置为最接近的父对象:

git svn reset -r62248 -p

做一个git svn fetch

在你成功的舞蹈。

就在我身上,我在“git svn dcommit”中间空间不足,之后我收到了同样的信息,“Checksum mismatch”。

我刚刚编辑.git / refs / remotes / git-svn,并将有问题的提交的idreplace为前一个。 下一个重新布局解决了这个问题。

我刚刚指定分支但没有中继时遇到此错误。 当我将其中一个分支指定为树干时,当我重试时没有任何错误。 (整个“主干”,“分支”,“主干”区别在git svn通常有点愚蠢,因为它们只是人类惯例,在svn没有任何深层次的技术含义)

我只是做了一个git gc ,然后git svn rebase再次工作。

在我们的实践中,git svn clone …命令中的.shtml文件中的错误“Checksum mismatch:”是由前端Apache服务器的设置引起的,以将.shtml文件(来自SVN)解释为服务器端包含SSI),从而生成实况内容而不是仅提供存储的文件内容。 禁用Apache的/etc/httpd.conf文件中的SSI,以便在迁移期间注释掉

 AddType text/html .shtml AddOutputFilter INCLUDES .shtml 

指令解决了这个问题。
无论如何,存储库的迁移可能会排除一些path和文件:

 git svn clone <URL> --ignore-paths=<regex> 

条款。 如果这些文件有像SSI(.php和.py文件)的特殊解释并禁用它,检查SVN服务器进程的环境是有意义的。