在Xcode中使用Subversion

Kev*_* L. 25 svn version-control xcode

似乎所有" 使用带有xcode的subversion "的初始Google结果实际上只是安装和配置svn和Xcode的教程,而不是实际使用这两个(即通过Xcode的GUI与svn交互).

是否有人知道一个好的指南,教导通过Xcode的GUI使用svn的技巧和陷阱?什么能够弥补最优秀的版本控制与Subversion书和Xcode IDE 之间的差距(如在没有任何终端命令的情况下使用纯Xcode GUI )?

编辑:

我们都喜欢我们的终端命令,我们都喜欢Eclipse但是(我的意思是最好的方式)这两个问题都不是真的.我更喜欢通过Xcode的IDE而不是通过终端使用svn,因为我喜欢(好吧,对于这种情况)在Xcode的IDE中编码而不是使用vim和gcc.Apple工程师花了很多时间在Xcode中实现SCM菜单; 有人必须在某个地方看过使用指南.

Oz.*_*Oz. 10

我使用此页面作为使用SVN设置我的XCode项目的参考.这是一个很好的起点,但我将简要介绍一下我所做的事情(因为页面并不是真的有用!).

一些注意事项:我正在使用XCode 3.1.2和Subversion 1.4.2.我听说过使用SVN 1.5时遇到了问题,但是有很多方法可以解决这个问题.

首先,我已经设置了一个存储库,然后创建了XCode项目.

  1. 在XCode中,您需要使用首选项窗口中的SCM选项卡将其设置为了解您的存储库.输入:

    1. 名称(这是任意的,用于与XCode一起参考)
    2. 该计划(http或svn)
    3. 主机(即svn.example.com)
    4. 路径(位于主机上的SVN存储库的确切路径)
    5. 端口(仅当它不是默认值时)
    6. 以及用于访问存储库的用户名和密码.

    输入其他字段时,URL将自动填充.当所有字段都很好并且XCode说它可以连接时,点击"OK".

  2. 然后打开您的项目并在项目本身上执行"获取信息"(带感叹号的圆形蓝色图标).在底部的"常规"选项卡下面是SCM的一个选项,选择您在1中创建的存储库并关闭窗口.

  3. 现在在菜单栏中打开SCM并转到"存储库".希望您使用基本级别的分支,主干和其他目录构建存储库,因为XCode不支持签出根目录.因此,在列表中一次一个目录,然后单击"Checkout"按钮并选择要检查的目录(我建议在XCode项目目录中使用"Code"或"Source"或"SVN"目录).您不能一次检出多个目录,但是您可以在第一个目录完成之前告诉下一个目录结帐,并使用队列命令的XCode.

  4. 完成所有操作后,返回到您的XCode项目窗口并将"添加 - >现有文件..."添加到您的项目中.选择您已将存储库签出的目录,我建议使用"创建文件夹引用"选项而不是"递归创建组"选项,因为添加和删除的项目将自动反映在"文件夹参考"中,但不会反映在组中.

现在您已将SVN存储库导入XCode项目.每当您进行更改时,只需在文件中右键单击(控制 - 单击,如果您只有1个按钮),在上下文菜单的底部是用于比较,提交,更新和丢弃的SCM选项(还原) ) 文件.您还可以使用菜单栏中的SCM菜单进行文件或项目范围的更新/提交/还原.


the*_*ill 5

我知道这不是你提出的要求,但我不会太依赖于使用Xcode中的SVN,因为你可以用它做的非常有限.它能够直接从IDE执行diff或annotate,但不是很多其他功能.我不认为它可以替代使用单独的独立客户端,如SmartSVN或版本.

您还必须跳过许多环节才能让Xcode与SVN 1.5版本一起使用,因此在安装独立客户端之前需要注意一些事项.如有疑问,请先查看沙箱.


rui*_*eco 5

我是第二个the_mandrill的评论,来自XCode的SVN支持是非常有限的,特别是如果你已经习惯了Eclipse.

我也不明白为什么每个人似乎都需要视觉客户.我在项目目录中打开了一个终端窗口,我没有遇到从命令行与SVN交互的问题.

  • 对于使用命令行中的svn进行简单操作很容易,但是当你想要做一些事情,比如用于添加到更改列表的cherry-pick文件,或者做选择性提交,或者3向冲突解决,或者看到分支结构然后有视觉效果客户非常值得.AFAIR,我不认为Xcode偶然会做这些. (13认同)
  • d*mnit.所有这些都是无知的.他要求提供一个在Xcode中构建的SCM功能的手册,如果你告诉他使用命令行,它不会让任何人进一步. (3认同)