Git svn rebase:校验和不匹配

时间:2010-07-01 10:01:33

标签: svn git git-svn

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

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

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

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

6 个答案:

答案 0 :(得分:56)

This solution是唯一一个为我工作的人:

  

查看文件上最后一次更改的修订号:

     

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

     

将svn重置为该修订版之前最接近的父级:

     

git svn reset -r62248 -p

     

执行git svn fetch

     

为你的成功而跳舞。

答案 1 :(得分:1)

刚好发生在我身上,我在“git svn dcommit”中间用尽了空间,之后我得到了同样的信息,“Checksum mismatch”。

我刚刚编辑了.git / refs / remotes / git-svn并用前一个修改了有问题提交的id。下一个rebase解决了这个问题。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

我刚刚做了git gc,然后git svn rebase再次工作。

答案 4 :(得分:0)

此外,多梅尼克(Domenic)的回答(2019年仍将svn转换为git…):

在删除然后重新创建的分支(1)的特定情况下,在删除对旧分支的引用之后,应将复位应用于分支创建提交:

        RitchTextBox.Clear(); //Clearing text in RichTextBox
        RitchTextBox.ScrollBars = RichTextBoxScrollBars.None; //Remove scroll
        RitchTextBox.ScrollBars = RichTextBoxScrollBars.Vertical; //Again add scroll

我假设git-svn没有看到或应用分支删除,认为没有必要从分支z重新创建它,因此尝试在老树上应用146971。告诉它没有分支y会强制其播放分支创建(从z开始)。

(1)在svn中模仿分支y的git rebase z的等效项:svn mv y y.old && svn cp z y && svn合并以在新y上获得y.old的所有提交

答案 5 :(得分:-1)

在我们的实践中,git svn clone ...命令中.shtml文件中的错误“Checksum mismatch:”是由前端Apache服务器设置将.shtml文件(来自SVN)解释为Server-引起的Side Includes(SSI)因此生成实时内容而不是仅提供存储的文件内容。通过注释掉

,在Apache的/etc/httpd.conf文件中禁用迁移期间的SSI
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

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

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

子句。如果这些文件具有SSI(以及.php和.py文件)之类的特殊解释并禁用它,则检查SVN服务器进程的环境是有意义的。