Xcode4和SCM(子版本)-组/文件夹不受版本控制



我有一个Xcode4项目,它在Subversion SCM下。最初的目录结构看起来像这样:

/MyProject
/MyProject/MyProject.xcodeproj
/MyProject/MyProject
/MyProject/MyProject/MyProject-Prefix.pch
/MyProject/MyProject/Classes
/MyProject/MyProject/Files
/MyProject/MyProject/Resources
/MyProject/MyProject/main.m
/MyProject/MyProject/README.rtf

我把一个包含几个pdf文件的文件夹拖到项目的"文件"组中。在拖动操作过程中,我选择了以下两个首选项:

  • 将项目复制到目标组的文件夹(如果需要)
  • 为创建组任何添加的文件夹

因此,创建了"pdf"组,并将"pdf"文件夹和所有.pdf文件复制到Xcode4项目中。

最后的目录结构看起来像这样:

/MyProject
/MyProject/MyProject.xcodeproj
/MyProject/MyProject
/MyProject/MyProject/MyProject-Prefix.pch
/MyProject/MyProject/Classes
/MyProject/MyProject/Files
/MyProject/MyProject/Files/PDFs
/MyProject/MyProject/Files/PDFs/(*.pdf)
/MyProject/MyProject/Resources
/MyProject/MyProject/main.m
/MyProject/MyProject/README.rtf

现在,问题是Xcode4的SCM在所有pdf文件中显示"A",但当我选择其中任何一个并尝试commit文件时,它会给我一个错误,显示如下:

The working copy "MyProject" failed to commit files.
svn: Commit failed (details follow):
svn: '/Path/MyProject/Files/PDFs' is not 
under version control and is not part of the commit, 
yet its child '/Path/MyProject/Files/PDFs/filename.pdf' 
is part of the commit.

我该如何解决此问题?

注意:对于所有pdf文件,源代码管理选项"添加"显示为禁用。

将文件导入Xcode时(右键单击"将文件添加到"your_PROJECT"…"),请确保为文件夹选择以下选项:

  • "为任何添加的文件夹创建文件夹引用"

创建文件夹引用而不是组非常重要。我真的不知道为什么,但这对我有效。

确保您没有意外复制任何.svn目录,这些目录在unix/linux系统(包括Mac OS X)上是"隐藏的"。如果你这样做了,那么你就会混淆你的subversion客户端。

另外,考虑在其他地方进行新的签出,并区分目录树。结果可能非常有教育意义。

最新更新