如何在颠覆中比较分支与主干?

Ste*_*ski 38 svn

在Subversion中,我使用trunk创建了一个分支svn copy.根据SVN 1.5手册,"这是"标记"存储库中的修订版的最简单方法 - 只需将该版本(通常是HEAD)复制到您的标记目录中."

svn copy file:////svn/projectX/trunk file:///svn/projectX/branches/stefanl
Run Code Online (Sandbox Code Playgroud)

然后,我对stefanl分支进行了修改.我想将我的更改提交到主干,但在我这样做之前,我希望看到更改的差异.

如何将'stefanl'分支与'trunk'分支区分开来?我试过了svn diff,但它没有提供太多信息:

% svn diff file:////svn/projectX/trunk file:///svn/projectX/branches/stefanl
Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
   Reverse-merged /trunk:r1699-1870
Run Code Online (Sandbox Code Playgroud)

sam*_*m-w 59

添加到以前的答案(如果在Windows上使用Tortoise SVN):

  • 右键单击任何文件夹.从上下文菜单中,选择TortoiseSVN - > Repo-browser.
  • URL框中输入您的回购地址.
  • 导航到要比较的第一个文件夹.右键单击并选择标记进行比较.
  • 导航到第二个文件夹.右键单击并选择" 比较URL"

  • 问题没有提到Tortoise SVN或Windows,因此使用SVN命令行的答案将更可取. (3认同)

小智 8

您可以使用Unix diff来比较目录.

要查找丢失的文件:

diff -r svn/projectX/trunk svn/projectX/branches/stefanl | grep -i only
Run Code Online (Sandbox Code Playgroud)

要找到文件之间的差异:

diff -ru svn/projectX/trunk svn/projectX/branches/stefanl
Run Code Online (Sandbox Code Playgroud)

我有同样的问题,并在邮件线程中找到了建议:http: //svn.haxx.se/users/archive-2003-08/0538.shtml