如何在工作副本和不相关的分支之间进行svn diff

jon*_*rom 2 svn diff merge branch

这是场景:

用户1

  1. 创建分支/ X.
  2. svn checkout branches/X到本地机器
  3. 修改file.txt
  4. 提交更改

另一个用户,用户2,

  1. 创建分支/ Y.
  2. svn checkout branches/Y到他的本地机器
  3. 将branches/X合并到本地机器(从而将file.txt合并到branches/Y)
  4. 使用svn diff验证在提交更改之前对branches/Y的本地副本中的file.txt的更改是否成功.

由于svn diff无法将本地工作副本与URL的工作副本进行比较,因此如果不先将更改提交到分支/ Y,则无法执行用户2的步骤4.但这违背了在提交合并更改之前验证合并是否产生了正确结果的全部目的.

我搜索了这个,但没有找到任何可用的解决方案.只推荐解决方案是检查分支/ X,以便svn可以比较两个路径.由于尚未检查合并更改,我不能使用带有两个URL的svn diff.

检查两个分支/ X和分支/ Y只是为了让我可以执行差异是不切实际的,更不用说耗时和乏味了.

有没有办法比较尚未提交的本地工作副本中的合并更改与合并分支中的更改?

jon*_*rom 7

Johan Corveleyn给了我答案.我在这里发帖,以便其他人可以看到答案.

svn diff确实可以将本地路径上的工作副本文件与存储库中的另一个版本进行比较,从而通过URL引用.以下是语法:

svn diff --old=http://repository/branches/X/file.txt --new=file.txt
Run Code Online (Sandbox Code Playgroud)