【发布时间】:2015-01-16 05:02:40
【问题描述】:
有没有办法比较 XCode 中两个 SVN 修订版之间的所有更改?
(我知道如何使用 XCode 4 的源代码控制视图模式查看比较单个文件,并且我知道如何查看组织者存储库部分中单个修订版中引入的更改。)
【问题讨论】:
标签: ios xcode svn version-control
有没有办法比较 XCode 中两个 SVN 修订版之间的所有更改?
(我知道如何使用 XCode 4 的源代码控制视图模式查看比较单个文件,并且我知道如何查看组织者存储库部分中单个修订版中引入的更改。)
【问题讨论】:
标签: ios xcode svn version-control
在 XCode 6 中,您可以这样做:
单击比较按钮并选择“比较”。按钮位于 XCode 窗口的右上角。
选择一个修订版。控件位于编辑器窗格的底部。
【讨论】:
我不知道从什么时候开始,但在 xCode 4.4.1 的组织者存储库部分的右下角有一个“查看修订”按钮。如果您输入修订号,您将拥有从此版本到存储库头部的所有更改。
但如果您想查看修订版 1801、1802 和 1803 中所做的更改(即比较修订版 1800 和 1803),您也可以写“1800:1803”。
我想这就是你想要的。
【讨论】:
在源代码管理拆分视图中,最底部有修订选择控件。双方都可以使用此控件,因此您可以选择任意提交来区分:
Discolsure:我用 git 和 SVN 对此进行了测试,效果很好!
【讨论】:
如果您找不到通过 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
【讨论】:
如果您使用的是分支,则可以比较两个分支。我发现它使用源代码控制|合并然后取消合并,但可能还有其他方法。
我不知道你是否可以在 Xcode 中追溯创建分支,但如果你从命令行创建分支,我很确定 Xcode 会识别它。
svn copy -r specificRevisionNumber file:///Users/yourName/svn/yourProject/trunk file:///Users/yourName/yourProject/branches/yourProject-1.0
希望有帮助
【讨论】: