我如何修复Subversion MKCOL错误?

Ott*_*tto 59 svn

当我提交时,我从Subversion获得此错误:

bash-2.05b$ svn commit -m "testing subversion, still"
Adding         baz
svn: Commit failed (details follow):
svn: MKCOL of '/viper/!svn/wrk/6b9bcd38-b2fe-0310-95ff-9d1a44098866/sandboxes/ohammersmith/trunk/baz': 405 Method Not Allowed (http://svn.example.com)
Run Code Online (Sandbox Code Playgroud)

Ott*_*tto 89

当您添加了其他人已添加并已提交的目录时,就会发生这种情况.提交时的错误消息确实令人困惑,但是如果你这样做,svn up你会看到这条消息:

bash-2.05b$ svn up
svn: Failed to add directory 'baz': object of the same name already exists
Run Code Online (Sandbox Code Playgroud)

要解决此问题,请删除您的目录(或将其移到一边)并执行操作svn update以获取服务器上的版本并重新进行更改.

作为一般规则,请务必这样做,svn update因为错误消息往往更有帮助.

  • 有时出现问题,但更新是无用的,因为奇怪的是Subversion不会尝试从存储库中检索目录; 使用Tortoise SVN时经常会出现这种情况.然后解决方案是访问存储库本身,例如使用Tortoise SVN"Repo-browser",并删除目录.然后,您应该能够将本地数据添加并提交到存储库. (8认同)
  • Pragmateek-如果您不是唯一在该文件夹中处理文件的人,那可能很危险。最安全的方法是按照Otto的建议。将本地目录移到一边,更新本地副本(如果更新不起作用,则签出全新副本),然后将文件夹复制到顶部(以获取任何更改)。SVN然后将获取更改,并且您不会丢失自上次更新以来其他所有人对该文件夹所做的所有工作。 (2认同)
  • @Dimi SVN命令在Linux和Windows上相同。打开一个Windows cmd,进入您的仓库并输入`svn up`。 (2认同)

Har*_*ain 17

当您添加了其他人已添加并已提交的目录时,就会发生这种情况.

这是指示冲突但在目录级别(只是为了理解).

要解决此问题,请svn update在提交更改之前执行此操作