如何比较XCode中的两个SVN修订版?

时间:2011-11-15 10:32:25

标签: ios xcode svn version-control

有没有办法比较XCode中两个SVN修订版之间的所有更改?

(我知道如何查看比较单个文件,使用XCode 4的源代码控制视图模式,我知道如何查看组织者存储库部分中单个修订版中引入的更改。)

5 个答案:

答案 0 :(得分:9)

在XCode 6中,您的工作方式如下:

  1. 点击比较按钮,然后选择"比较"。按钮位于XCode窗口的右上角。

    Xcode 6 comparison mode

  2. 选择修订版。控件位于编辑器窗格的底部。 Xcode 6 choose revision

答案 1 :(得分:4)

我不知道从什么时候开始,但是在xCode 4.4.1的组织者的存储库部分,右下角有一个“视图修订”按钮。如果您输入修订号,您将从此版本到存储库的头部进行所有更改。

但如果您想查看修订版1801,1802和1803(即比较修订版1800和1803)所做的更改,您也可以写“1800:1803”。

我认为这就是你想要的。

答案 2 :(得分:1)

在源代码控制拆分视图中,最底部有修订选择控件。双方都有此控件可用,因此您可以选择任意提交diff:

change comparison revisions

Discolsure:我使用git SVN进行了测试,效果很好!

答案 3 :(得分:1)

如果您无法通过Xcode找到解决方法,您可以随时使用终端的SVN命令行来执行此操作。

要在终端运行中查看修订版186的差异(按空格键以查看差异中的下一页,或q以退出):

svn diff -c 186 | more

要查看修订版179和186之间的差异,请执行:

svn diff -r 179:186 | more

然后您可以复制像fmdiff这样的脚本,并直接使用差异的输出调用FileMerge,例如:

svn diff -c 186 --diff-cmd fmdiff

答案 4 :(得分:0)

如果你正在使用分支,你可以比较两个分支。我发现它使用源控制|合并然后取消合并,但可能有另一种方式。

我不知道你是否可以在Xcode中追溯创建一个分支,但是如果你从命令行创建分支,我很确定Xcode会识别它​​。

svn copy -r specificRevisionNumber file:/// Users / yourName / svn / yourProject / trunk file:///Users/yourName/yourProject/branches/yourProject-1.0

希望有所帮助