如何在xcode中管理svn存储库

时间:2010-05-06 10:50:48

标签: svn xcode

我正在使用svn作为我的xcode项目。我在当前项目中添加了两个文件,将它们添加到存储库并为我的classes文件夹提交了更改。但是当我尝试提交整个项目时,我收到了这个错误:

  

错误:155005(工作副本未锁定;这可能是个错误,请报告)说明:提交失败(详情如下):
  错误:155005(工作副本未锁定;这可能是一个错误,请报告)说明:目录'/ Users / gopalmadhu / Desktop /所有我的数据/ Schduler当前代码/ build / Debug-iphonesimulator / scheduler.app.dSYM /。 svn'包含工作副本管理区域缺失

因此,当我检查代码时,已经签入的类不可见。文件位于项目中,但不可见。作为一种解决方法,我需要再次将它们从项目文件夹添加到classes文件夹中。这不是管理svn的正确方法。我该怎么办?

2 个答案:

答案 0 :(得分: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命令中显示构建目录。

答案 1 :(得分:0)

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