Subversion控件否此类文件或目录。无法打开文件

时间:2011-05-25 09:25:06

标签: xcode svn

错误讯息:

“svn:无法打开文件'/Users/username/Projects/myproject/trunk/project/.svn/text-base/filetoupdate.h.svn-base':没有这样的文件或目录”

问题:

我有一个问题我用一个新文件替换了一个项目(在Xcode中)中的文件(如果有参考,如果这有所不同,新文件的名称与我之前删除的名称相同)。 / p>

现在,当我尝试在Xcode中提交更改时,我收到上面详述的错误消息,无法提交更改(即添加新文件)。

在文件系统视图中(在屏幕左侧的Xcode中),文件旁边有一个R(表示在存储库中替换)。

有谁知道如何修复它以便我可以提交文件?

由于

4 个答案:

答案 0 :(得分:5)

使用不区分大小写的文件系统时,Subversion存在错误或限制:

https://superuser.com/questions/303348/cant-checkout-in-subversion

当检出包含两个文件的存储库时,通常会显示此错误,这两个文件的名称仅在大小写上有所不同。当然,这些不能同时存在于不区分大小写的文件系统上的同一目录中。 SVN可以提供更有用的错误消息,但它无法真正解决问题。

您的问题有点不同,因为我认为文件系统中不再存在文件filetoupdate.h(旧案例)。所以这不是工作目录中的案例冲突。但是我想SVN正试图用新案例在.svn/text-base中创建文件,而旧案例仍然存在,这是失败的(出于同样的原因)。

您可以先尝试从Subversion中删除该文件,保留本地副本(未经测试)。必须从SVN控件中删除新副本才能使提交成功:

svn rm --keep-local --force FileToUpdate.h

还必须删除旧副本,以便我们稍后添加新副本:

svn rm --keep-local filetoupdate.h

提交此更改:

svn commit

现在希望您可以将新文件添加到版本控制中:

svn add FileToUpdate.h

如果这不起作用,您可能需要吹掉整个结帐,然后重新开始。

答案 1 :(得分:1)

您使用的是Mac还是Windows?那些具有不区分大小写的文件系统,当出现上述问题时 当前存在的文件具有相同的名称但具有不同的情况。

要修复,请在Linux计算机上签出树,然后“svn rm”其中一个文件。

答案 2 :(得分:0)

也许您的本地版本存在权限问题。检查您的用户是否具有为.svn目录编写的权限。

祝你好运

答案 3 :(得分:0)

看起来有些事情在某处感到困惑。为了解决这个问题,我只是复制了有问题的文件,并以新名称保存。从项目中删除了原件,并将文件的复制(重命名)版本添加到项目中。

如果添加和删除具有相同名称的文件,SVN似乎不喜欢它。我尝试通过终端清理SVN,但它对此问题没有影响。但更改名称确实对我有用。