我们使用subversion来跟踪我们的代码,只是在我们之间共享代码。但是,当我们在下次提交之前同时添加或删除文件时遇到问题。似乎每当我们搞乱群组&项目包下的文件,project.pbxproj将被修改,而subversion无法解决这个问题。结果,项目无法打开。
我的猜测是project.pbxproj会跟踪组和文件的排列方式。如何在Subversion下完成这项工作?它是一个文本文件,但不知何故它似乎没有被视为这样。
答案 0 :(得分:1)
首先,“Project.pbxproj”是一种跟踪XCode包更新的文件,例如添加,删除,移动的任何新文件。
因此,在提交源代码时必须提交此文件。
如果您在更新后无法打开项目,那是因为您的“Project.pbxproj”文件与之前的提交有冲突。所以你必须通过打开和解决问题来解决这个问题。编辑它。
通常当发生冲突时,SVN会添加3个额外的文件。
您需要手动比较并解决问题。
其他更好的方法是,保留最新的提交文件&删除冲突的,您自己的文件&旧版文件。将最新的已提交文件重命名为project.pbxproj
现在,您可以在删除冲突文件时打开xcode项目。
请确保添加&删除之前在上次提交和之前完成的文件冲突,对目标。现在,最新的提交文件将在项目中进行更改。您现在可以将项目提交到存储库。
希望它有意义。
答案 1 :(得分:0)
首先,.pbxproj文件是否已损坏,或者您所做的更改是否未正确反映在其中? (即如果删除文件,但在.pbxproj文件中没有更新,是否拒绝加载?)
如果.pbxproj文件是文本,您可以通过设置svn:minme-type属性告诉subversion存储它。
将其设置为文本类型将为您提供更好的合并,因此无论谁先提交保存更改,然后当另一个更新其工作副本时,更改将合并到文件中。你应该在合并发生时检查更改,即使subversion很擅长这一点,它只是一个计算机进程,并且不会偶尔做你想要的。