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

时间:2012-06-28 21:07:10

标签: svn merge branch diff

以下是该方案:

用户1

  1. 创建分支/ X
  2. svn checkout branches / X to local machine
  3. 修改file.txt
  4. 提交更改
  5. 另一位用户,用户2,

    1. 创建分支/ Y
    2. svn checkout branches / Y到他的本地机器
    3. 将branches / X合并到本地机器(从而将file.txt合并到分支/ Y)
    4. 使用svn diff验证在提交更改之前对分支/ Y的本地副本中的file.txt的更改是否成功。
    5. 由于svn diff无法将本地工作副本与URL的工作副本进行比较,因此如果不先将更改提交到分支/ Y,则无法执行用户2的步骤4。 但这会破坏验证合并在提交合并更改之前产生正确结果的全部目的。

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

      检查两个分支/ X和分支/ Y只是为了让我可以执行差异,这是不切实际的,更不用说耗费时间和繁琐。

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

1 个答案:

答案 0 :(得分:7)

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

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

svn diff --old=http://repository/branches/X/file.txt --new=file.txt