最近,我一直在研究如何管理一个或多个项目中的源文件。我已经读到Xcode内置了对使用svn的支持,并且还将支持git,我发现这两者都是非常有用的。

我不清楚的一件事是《 Xcode项目管理指南》中描述的源代码树。这是我的理论,但由于我无法真正从任何地方(据我所知)进行验证,我真的很想知道是否有人可以说出我所缺少的(如果有的话)。

  • Xcode首选项中的源代码树更像源代码树的a root,它是我本地文件系统中的一个文件夹。
  • 即使可以指定与我的一个源代码树相关的文件位置,我也可以在我的任何Xcode项目中使用任何文件,即使这些文件不在项目文件夹中也是如此。
  • 现在,某人具有与我的同步的相同项目文件夹。她的所有文件都位于项目文件夹中,但相对于源树的相对位置引用的文件可能不存在于项目文件夹中。
  • 但是她有一个源代码树,要使用相同的Setting Name进行挖掘(但绝对在她的本地文​​件系统中的另一个文件夹中),并且如果她的文件位于相同的相对位置,则她的Xcode可以访问文件而无需输入问题。

  • 那么这是正确的吗?我们使用源代码树是因为它使我们能够与项目文件夹外部的文件进行协作?

    即使项目文件夹外部的文件是通过相对于项目文件夹本身(而不是源树)的相对路径引用的,如果这些文件都由SVN管理,因此它们在每个人的文件夹中都与项目文件夹存在相同的相对位置环境,那么我就不需要源代码树了,对吧?

    最佳答案

    我从不认为我是Xcode的专家,但是似乎您的问题已经有一段时间没有得到回答了,所以也许值得评论一下我可以说的是:

    您所描述的几乎与此有关。认为是操作系统的环境变量。例如,通常在由Autotools制作的构建系统中,文件是由相对路径引用的,例如$PROJECT_HOME/src/common/error.cpp。只要用户可以通过其到用户$PROJECT_HOME目录的相对路径访问文件,$PROJECT_HOME在每个用户的本地文件系统中的位置都无关紧要。

    是的,如果用于项目的整个文件夹层次结构是通过项目主目录的相对路径引用的,并且可以确定每个人在同一位置具有相同的文件,则无需使用源树。如您所说,版本控制存储库中的每个文件都包含在一个块中。

    但是,我认为最好将所有文件保留在项目主文件夹中,除非它们在多个项目中使用,因此版本控制存储库仅包含项目的单个根目录(项目主目录)。如果有最好由多个项目共享的文件,那么我将为这些文件建立一个单独的存储库。在这种情况下,您的所有同事都必须使用相同的协议(protocol),例如,使用具有相同设置名称的源树,并将从版本控制服务器中检索到的所有项目主目录都直接放置在源树下(因此可以引用项目主目录外的文件关于所有程序员的源代码树)。

    我大部分的回答是重新描述您已经描述的内容,但这就是我本人在Xcode中使用source trees功能的方式。也许其他人可以告诉您更多有关它的信息。

    关于xcode - Xcode首选项中的 "Source Tree"是什么,我该怎么办?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4982133/

    10-12 17:28
    查看更多