显示注释时忽略svn中的特定提交

时间:2015-09-15 14:40:42

标签: eclipse svn

我使用"显示注释"功能很常见。现在,我意外地粉碎了svn并通过重新提交所有内容来解决它。现在,每次我使用"显示注释"函数,它显示每一行的最后一次提交。

我可以以某种方式还原吗?

1 个答案:

答案 0 :(得分:2)

我假设你没有杀死整个SVN,并通过从rev 1重新开始“解决”。我假设某个中间版本已损坏,你必须触摸并提交新版本中的每个文件,但是在SVN历史记录中可以看到并且可以访问较旧的版本。 Annotations功能和Plan B都依赖于它。

教科书提供的内容

鉴于某个历史记录,不可能排除单个中档修订版。您只能通过为“发件人”指定fs以外的修订版并为“收件人”指定1来排除头部或尾部范围。

假设您要排除的“修复”修订版本为HEAD。要排除它,您可以选择考虑(从 - 到)r1000r1-r999,而忽略r1001-HEAD。因此,您只能在修复之前或之后查看更改。

您可以阅读内部称为 svn blame in the SVN documentation的可能性和选项。

Show Annotation dialog

计划B

现在,我想,这并不令人满意。这是您可以尝试的其他内容,但请先创建您的仓库的备份。

  1. 在SVN历史记录查看器或日志查看器的帮助下,找到损坏的修订版之前的最新修订版,例如r1000
  2. Make a branch基于最后一次良好的修订。
  3. 然后使用corresponding SVN commands删除或移动当前中继线。
  4. 在最后一步中,将分支移动或分支(=复制)回到中继位置。
  5. 您已有效地删除了损坏的修订版。 branch-now-trunk在其修订号中有一个“漏洞”,因为r997分支创建了一个比损坏和修复版本更新的新版本。之后,在新主干上显示注释将像以前一样工作,但不会包含损坏和您的“修复”。

    在这里,我为你做了一个插图:

    freehand trunk replace illustration

    这个操作可以搞砸了一些祖先的操作,比如合并,但我之前已成功完成,即使稍后进行大型合并操作,所以你也可以尝试一下。祝你好运!