git blame
没有向我显示重新组织布局的SVN存储库的所有历史记录。
我正在使用git-svn访问svn存储库。SVN存储库过去有一个包含大量文件夹树的结构,用于存放许多项目。去年,我将布局重新组织并扁平化为更标准的trunk/tags/branches布局。其结果是,存储库中的所有文件都在2010年5月17日被移动。
使用Eclipse的subclipse SVN客户端,我可以执行Team->ShowAnnotation,它显示了我所期望的文件的历史记录-2009年更改的代码行正确地用author/date/checkin注释进行了注释。
但是,我使用git-svn克隆的git存储库上的git blame
并没有那么有用。对于2010年5月17日之前修改的所有代码行,注释为:me/date 2010年5日17日/comment"正在重新组织存储库…"。
我假设信息仍然存在,有办法让git blame
显示它吗?我非常投机地尝试了git blame -C -C -C...
,但没有成功。
您确定旧的提交会出现在git repo中吗?也许您的svn重组规模太大,git-svn无法跟进。在5月17日移动之前查找svn修订版,然后使用该数字的git svn find-rev r12345
查找相应的git哈希(如果有(。然后git检查该散列,看看你感兴趣的文件是否在其中
如果您告诉git-svn您的repo使用了"标准"trunk/branch/tags布局,它可能无法理解其他布局。您可能需要分两个阶段重做git-svn导入:一个阶段用于旧布局,然后再次用于新布局。您可以使用-r参数来获取svn-fetch,从而只获取给定范围的修订。