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...
但没有成功。
答案 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参数来实现此目的,以仅获取给定范围的修订。