找出主干和分支之间的区别?


72

有没有办法找到trunk和说分支之间的区别0.4.x

我需要创建一个标签-但是我不记得我的最新更正是在主干还是在分支中完成的。

Answers:


112

如果您手头有一个存储库的签出,则可以使用^(插入符号,在手册中进行搜索)表示法来引用存储库的根目录,如下所示:

svn diff --old ^/branches/0.4.x --new ^/trunk

从Subversion 1.6开始有效。

如果您有较旧的版本或没有方便的回购,可以使用绝对路径,如原始红皮书所述

svn diff --old http://.../repo/branches/0.4.x --new http://.../repo/trunk/

应该给您想要的答案。

替换http://.../repo/为存储库的实际URL。


1
这不适用于Mac OS X(Mountain Lion)包含的Subversion(1.7)。我使用Homebrew升级到了Subversion 1.8.1,并且可以正常工作。
杰森

2
使用脱字号(SVN> = 1.6):svn diff --old ^ / branches / 0.4.x --new ^ / trunk
Steve Kehlet13年

@SteveKehlet:哪里^表示“我当前所在的结帐库”?
David Schmitt

@DavidSchmitt是的,插入号是回购协议根的简写。手册中有更多信息,搜索插入符号。
Steve Kehlet13年

6
svn diff ^/trunkUrl/fileName ^/branchUrl/fileName

这将为您提供分支文件和主干文件之间的区别。


2

您可以使用融合工具进行比较,而不是使用命令提示符来查看差异。它像这样。

svn diff --diff-cmd='meld' --old http://.../repo/branches/0.4.x --new http://.../repo/trunk/

什么meld工具?
2013年

2
@ceving:我认为他指的是Meld。在Ubuntu中,它应该已经在存储库Meld Diff Viewer中
Luca Borrione

2

如果只想与当前分支进行比较,则可以使用点。

svn switch ^/branches/branchName
svn diff . ^/trunk
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.