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服务器进程的环境是有意义的。