如何在SVN中找到错过的修订内容?

时间:2012-04-13 20:11:34

标签: svn

我有两个分支,使用STS完成合并。现在我们发现有些内容没有合并。 因此,我们使用此命令找到缺少的修订

svn mergeinfo --show-revs符合条件的http://mybase.branch.1 http://mytrunk.branch

我得到了一份修订清单。现在我想看看未合并的内容,不包括某些文件,如pom.xml,属性文件。

svn diff无法提供帮助。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

对分支进行全新且干净的结帐。合并此分支上的主干的所有更改。什么都不做!还原您不感兴趣的文件。检查工作目录中的更改。例如:

svn checkout http://svn.example.org/svn/foobar/branches/0.42 foobar
cd foobar
svn merge ^/trunk

在这些命令之后,工作目录包含尚未合并到分支上的所有更改(未提交)。您可以使用大多数SVN客户端来检查更改 - 并还原其中一些更改以忽略它们。

您可以从命令行执行大量操作。以下命令行(bash,Linux)将还原对名为“pom.xml”的文件所做的所有更改:

svn revert $( find -name pom.xml )

以下命令行将还原除Java文件以外的所有文件(bash,Linux):

svn revert $( find -type f ! -name \*.java )

您还可以使用命令行工具检查剩余的更改,例如:

svn status
svn diff