2010-05-06 80 views
8

我为我的xcode项目使用svn。我将两个文件添加到我当前的项目中,将它们添加到存储库并为我的类文件夹提交更改。但是,当我尝试提交整个项目,我得到这个错误:如何在xcode中管理svn仓库

Error: 155005 (Working copy not locked; this is probably a bug, please report) Description: Commit failed (details follow):
Error: 155005 (Working copy not locked; this is probably a bug, please report) Description: Directory '/Users/gopalmadhu/Desktop/All My data/Schduler current code/build/Debug-iphonesimulator/scheduler.app.dSYM/.svn' containing working copy admin area is missing

由于这个原因,那些在已经检查的类不,当我检查出我的代码变得可见。这些文件在项目中,但不可见。作为解决方法,我需要将它们再次从项目文件夹添加到classes文件夹。这不是管理svn的正确方式。我该怎么办?

+1

你对“承诺整个项目”意味着什么?你应该只提交源代码和资源,而不是构建文件。 – bastibe 2010-05-06 13:28:49

回答

19

你的问题在于将构建结果提交给Subversion。

Subversion通过将一个名为.svn的隐藏文件夹放置在版本控制下的每个文件夹中。这对于可能被工具删除并重新创建的文件夹来说效果不佳,因为该工具可能不会尊重.svn文件夹的存在。这包括整个构建目录,每次清理项目目标时都会清除其内容。

您应该从版本控制中删除您的构建目录。它不应该在那里,因为它的一切都可以通过Xcode构建来重新生成。为了摆脱现有困境的请尝试以下操作:

  1. 备份项目中的某处
  2. 在终端去你的项目目录,并rm -rf build
  3. 做一个svn update。在这一点上,Subversion将有希望恢复构建目录。
  4. svn rm build
  5. svn commit -m "Removed build from version control"
  6. (可选)svn propedit svn:ignore .这将打开一个编辑器的svn:ignore属性。在单独的行上添加构建。在这之后,Subversion将不会显示svn status命令中的构建目录。
+0

非常感谢您的回复。在这种情况下它适用于我。很大的解脱...再次感谢 – ratnasomu 2010-05-06 15:07:45

+0

如果它解决了你的问题,请你能接受答案:) – JeremyP 2010-05-06 16:25:58

+0

我接受了答案Jeremy P。但我有1个问题,在这里你可以解决,现在提交项目后,如果我改变了什么,它不显示我的M符号和commitchanes等..它只是像一个本地文件来..我编辑了项目设置dnt knw这里发生的谢谢 – ratnasomu 2010-05-07 10:31:25

0

你也可以试试.... XCODE-> Build->清理所有目标选项。这解决了我的问题!