git svn fetch不会获取初始克隆后修改的Subversion提交消息

时间:2011-01-17 21:45:40

标签: git-svn

我克隆了一个大型SVN存储库(近8,000次提交),看起来没问题。

从那时起,大约20个Subversion提交消息的提交消息已被更改以纠正错误。这是合法的。但是,git svn fetch不会提取更新的提交消息。它仍然显示旧的过时提交消息。

有没有办法解决这个问题?最好是以干净的方式,而不是太多地攻击我的本地git存储库?

我已经尝试过git svn fetch -r 1234(其中1234是已知的修订号)。但没有运气。

1 个答案:

答案 0 :(得分:1)

来自http://git-scm.com/docs/git-svn

  

git svn reset

     

取消获取指定修订的效果。这允许   您需要重新获取SVN版本。

     

[...]

     

使用fetch然后git跟随reset   重置或git rebase移动本地   分支到新树上。

因此,在您的情况下,如果修订版1234是第一个更改了提交消息的修订版,那么您可以

$ git svn reset -p 1234
$ git svn fetch

如果有任何不同之处,包括提交消息,那么新提交是一个完全不同的对象,带有一个新的SHA1,正如它所说,你需要将你可能拥有的任何分支重新绑定到适当的重写提交上。