Git责怪重组的SVN存储库

时间:2011-08-08 17:31:13

标签: git git-svn blame

git blame没有向我显示重新组织其布局的SVN存储库的所有历史记录。

我正在使用git-svn访问SVN存储库。 SVN存储库曾经有一个带有大量文件夹树的结构来容纳许多项目。去年,我重新组织并将布局展平为更标准的主干/标签/分支布局。结果是存储库中的所有文件都在2010年5月17日被移动。

使用Eclipse中的subclipse SVN客户端,我可以执行 Team-> Show Annotation ,它会显示我期望的文件历史记录 - 2009年更改的代码行正确注释了作者/日期/签到评论。

但是,我使用git-svn克隆的git存储库上的git blame并没有那么有用。对于2010年5月17日之前修改的所有代码行,注释为:me / date 2010年5月17日/评论“重组存储库...”。

我认为信息仍然存在,有没有办法让git blame显示它?我非常推测地尝试git blame -C -C -C...但没有成功。

1 个答案:

答案 0 :(得分:0)

你确定旧的提交会出现在git repo中吗?也许你的svn重组对于git-svn来说太大了。在 5月17日之前找到svn修订版,然后使用该编号找到git svn find-rev r12345以找到相应的git哈希值(如果有的话)。然后git checkout hash,看看你感兴趣的文件是否在其中。

如果你告诉git-svn你的repo使用'标准'trunk / branches / tags布局,它可能无法理解其他布局。您可能需要分两个阶段重做git-svn导入:一个用于旧布局,另一个用于新布局。您可以使用git svn fetch的-r参数来实现此目的,以仅获取给定范围的修订。