什么是Xcode首选项中的"源树",我可以用它做什么?

rea*_*f02 9 xcode

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

我无法理解的一件事是关于Xcode项目管理指南中描述的源树.这是我的理论,但由于我无法从任何地方真正验证这一点(据我所知),我真的希望有人能说出我所缺少的东西,如果有的话.

  • Xcode首选项a root中的源树更像是源树,它是我本地文件系统中的文件夹.
  • 我可以使用我的任何Xcode项目中的任何文件,即使文件不在项目文件夹中,如果我可以指定文件的位置与我的一个源树相关.
  • 现在有人拥有与我同步的项目文件夹.她拥有项目文件夹中的所有文件,但源树的相对位置引用的文件可能存在于项目文件夹之外.
  • 但她有一个源代码树,与我的一样Setting Name,(但绝对在她的本地文​​件系统中的不同文件夹中),如果她将文件放在相同的相对位置,那么她的Xcode可以毫无问题地访问该文件.

这是正确的,我们使用源树,因为它使我们能够与项目文件夹外的文件协作?

即使项目文件夹外的文件被项目文件夹本身的相对路径(而不是源树)引用,如果这些文件都由SVN管理,那么它们与每个人的项目文件夹位于相同的相对位置环境,然后我不需要源树,对吧?

MHC*_*MHC 4

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

你所描述的内容就差不多了。认为是操作系统的环境变量。例如,通常在 Autotools 制作的构建系统中,文件是通过相对路径引用的,例如$PROJECT_HOME/src/common/error.cpp. $PROJECT_HOME只要文件可以通过用户目录的相对路径访问,每个用户的本地文件系统中的位置并不重要$PROJECT_HOME

是的,如果用于项目的整个文件夹层次结构是通过项目主目录的相对路径引用的,并且以某种方式确定每个人在同一位置都有相同的文件(例如,因为正如您所说,版本控制存储库包含块中的每个文件)。

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

我的大部分回答是对您已经描述的内容进行了改写,但这就是我source trees自己在 Xcode 中使用该功能的方式。也许其他人可以告诉你更多相关信息。