2011-02-13 30 views
9

我最近一直在研究如何管理项目或多个项目中的源文件。我读过Xcode对使用svn有一个内置的支持,并且也支持git,我发现这两者都非常有用。什么是Xcode首选项中的“源代码树”,我该怎么处理它?

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

  • Xcode偏好设置中的源代码树更像是源树的a root,它是我本地文件系统中的文件夹。
  • 我可以使用任何文件在任何我的Xcode的项目,即使这些文件不在项目文件夹,如果我可以指定文件的位置与我的源代码树的一个。
  • 现在有人拥有与我的同步的项目文件夹。她拥有项目文件夹中的所有文件,但由相对位置引用到源树的文件可能不在项目文件夹中。
  • 但她有一个源代码树,用同样Setting Name矿,(但绝对在她的本地文​​件系统不同的文件夹),如果她有相同的相对位置的文件,然后她的Xcode可以访问该文件没有问题。

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

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

回答

4

我从来不觉得我的Xcode的专家,但似乎你的问题没有得到回答了一段时间,所以也许这是值得评论,我可以说什么:

你所描述的是相当多关于它。认为是一个操作系统的环境变量。例如,通常在由Autotools制作的构建系统中,文件通过相对路径引用,例如$PROJECT_HOME/src/common/error.cpp。这不要紧,$PROJECT_HOME是在每个用户的本地文件系统,只要文件是由他们的用户的$PROJECT_HOME目录的相对路径访问。

是的,如果用于项目的整个文件夹层次被项目的相对路径所引用,那么不需要使用源代码树,并且某种程度上肯定每个人在相同位置都有相同的文件(例如,因为版本控制库包含块中的每个文件,如您所说的)。

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

我的答案大部分是对你已经描述过的内容进行了改写,但这就是我自己使用Xcode中的source trees特性的方法。也许别人可以告诉你更多关于它的信息。

+0

这似乎是一个好习惯。我想知道是否还有其他关于源代码树的东西,但我想就是这样。谢谢你的回答(你回答我的问题两次!)。 – realstuff02 2011-02-13 20:30:40

相关问题