Subversion 错误:(405 方法不允许)响应 MKCOL

Subversion 错误:(405 方法不允许)响应 MKCOL

当我尝试提交新的目录添加时出现以下错误。

svn: Commit failed (details follow):
svn: Server sent unexpected return value (405 Method Not Allowed) in response to MKCOL request for '....

我以前从未见过此错误。我该如何修复此问题?

解决方案
我设法解决了这个问题:

  • 删除出现问题的文件夹的父目录。
  • 执行 SVN 更新。
  • 存储库中已存在与新文件夹同名的文件夹。
  • 删除该文件夹。
  • SVN 提交。
  • 复制新的文件夹,安排添加和SVN提交。

答案1

此错误通常表示您尝试添加的文件夹已经存在于存储库中 - 您最近是否做过更新,或者您是否先进行了非递归检出?

我以前遇到过这个错误 - 找到一个博客告诉我问题所在。解决方案稍微复杂一些,从我的工作副本中删除有问题的目录(将其复制到其他地方),运行递归更新,然后手动将两个目录合并在一起。

编辑:哎呀——问题正文中已经回答了。现在我很兴奋,因为我知道了一个未解答问题的答案:)

答案2

我在 googlecode 上使用 MKACTIVITY 时也遇到了类似的问题。这是因为我使用 http: 签出存储库,但签入需要 https:。

答案3

我遇到了同样的错误并设法解决了它:

  1. SVN 将有问题的目录重命名为“foo”,或其他名称
  2. SVN 提交
  3. SVN Rename 回你想要的名字
  4. SVN 提交

我不确定这是否在所有情况下都有效,但它比删除父目录更简单。

答案4

就我而言,我在签入文件夹中的文件时遇到了问题。我按照 Sergio 列出的步骤操作,但做了一些修改。

  1. 复制有问题的父目录。
  2. 已删除复制目录中的 .svn 文件
  3. svn 删除 /父目录
  4. 犯罪
  5. 在 repo 中创建新目录
  6. 犯罪
  7. 将子目录从复制的目录移动到 repo
  8. 犯罪
  9. 复制单个文件
  10. 犯罪

我有一些文件遇到了问题。我把它们从存储库中移除,但用新名称重新创建了它们。

相关内容