2

这是场景:

用户 1

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

另一个用户,用户 2,

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

由于 svn diff 无法将本地工作副本与 URL 的工作副本进行比较,因此用户 2 的步骤 4 在不首先将更改提交到分支/Y 的情况下是不可能完成的。但这违背了在提交合并更改之前验证合并是否产生正确结果的整个目的。

我已经对此进行了谷歌搜索,但没有找到任何可用的解决方案。唯一推荐的解决方案是检查分支/X,以便 svn 可以比较两条路径。由于尚未签入合并更改,因此我无法将 svn diff 与两个 URL 一起使用。

仅检查分支/X 和分支/Y 以便我可以执行差异是不切实际的,更不用说耗时和乏味了。

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

4

1 回答 1

7

Johan Corveleyn 为我提供了答案。我在这里发布它,以便其他人可以看到答案。

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

svn diff --old=http://repository/branches/X/file.txt --new=file.txt
于 2012-06-29T21:29:00.170 回答