SVN提交失败:文件已存在

时间:2009-12-03 18:48:17

标签: svn

我有一个文件(mapViewController.m),它在svn中但我无法对其进行更改。我试图将文件复制到别处,然后更新。该文件没有附带更新,所以我将其复制回来。然后我无法对其进行更改。

这很难解释什么是错的......因为我不知道。

6 个答案:

答案 0 :(得分:14)

所有SVN问题的经验法则是当您无法解决问题时,请将新副本签出到新目录(如果可能)

尝试重新结帐,然后替换文件然后提交。

此外,请确保您不必先锁定该文件。

听起来有点像你忘记在文件上做svn add(或Turotiose SVN - > Add)。 SVN确实识别目录,但不会自动在其中添加文件。您必须首先添加文件(通过您的subversion客户端),然后提交它以将其置于subversion中。

答案 1 :(得分:6)

我遇到了同样的问题。我忘记更新我的工作副本并尝试提交我的更改。 所以,我对该特定文件而不是整个目录进行了更新:

svn update filename

svn commit

它有效。

答案 2 :(得分:1)

听起来你正在做一些根本性的错误。也许您在没有最初检出文件的情况下尝试提交更改,或者您尝试import而不是commit。无论如何,我建议您阅读位于here的文档,这将使您很快开始使用SVN。

答案 3 :(得分:1)

我今天遇到了同样的错误,原因是我试图添加一个已存在于服务器上的文件(添加不更新)。我所做的是将我的版本保存到一个不相关的目录,更新到最新的版本,然后使用我在本地保存的那个更改给定的服务器文件,并进行更改。

答案 4 :(得分:0)

我已经解决了改变工作副本深度的类似问题。 我使用TortoiseSVN,有命令:

1)上下文菜单→更新项目到修订版....深度:仅此项目
2)上下文菜单→更新项目到修订版....深度:完全递归

来自存储库的所有文件都来自第二个文件。

答案 5 :(得分:0)

当我从branche X合并时,这个问题很常见 - > Y, 通常对我来说有什么用(来自Eclipse): - 制作文件/文件夹(A)的副本
- 从工作仓库中删除文件/文件夹 -update
-copy文件/文件夹来自(步骤A)
-Commit。

祝你好运