svn diff修订范围的顺序

时间:2009-07-07 18:46:05

标签: svn diff

我正在尝试使用以下命令在svn存储库中编写已更改/添加的文件列表,以便与phing一起使用。

svn diff --no-diff-deleted --summarize -r 50:HEAD path/to/workingcopy

当我反转修订范围(-r开关​​)时,如下所示:

svn diff --no-diff-deleted --summarize -r HEAD:50 path/to/workingcopy

..我得到了不同的结果。虽然它的行为是我需要的,但我不理解它(也许我错过了一些东西)。例如:

假设头版本有一个带有一些文件的新目录:第二个命令只列出新目录,而第一个命令也会列出其中的所有新文件。至少,这是我认为在经过一些测试后的确如此。

我找不到关于此事的任何明确文件。有人可以解释修订范围的顺序意味着什么吗?谢谢!

1 个答案:

答案 0 :(得分:6)

在第一种情况下,您将获得版本50和Head之间的所有更改。这是你自然期望的,所以我不会进一步解释。然而,相反的范围更有趣。这是您需要应用于Head以获得修订版50的差异。简而言之,它指定了如何撤消所做的所有更改。你说“第二个命令只列出新目录”,这是正确的:它告诉你删除目录,这将自然地删除它的内容。