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


65

尝试提交新目录时,出现以下错误。

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

我从未见过此错误。我该如何解决这个问题?

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

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

缺少信息,例如您的配置,传输(HTTP / HTTPS),服务器错误日志中的消息(最重要),如果您正在客户端和服务器之间运行Web缓存服务等...
朱利安

7
请添加解决方案作为答案,而不是添加问题
Sam Cogan

3
我讨厌svn给出错误并停止。看起来就像一个孩子一直在抽搐。我还原了,然后添加了已提交的并神奇地接受服务器的文件。

对于谷歌代码库看到- stackoverflow.com/a/32636072/1406510
nanosoft

Answers:


44

此错误通常表明您要添加的文件夹存在于存储库中-您最近是否进行了更新,或者是否从头开始进行了非递归检出?

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

编辑:Opps-已在问题正文中回答。在这里,我为我知道一个未解决的问题的答案而感到非常兴奋:)


@Andrew-好吧,您正确回答了问题... @Sergio应该已经回答了他自己的问题。
乔什(Josh)2010年

8

我在Googlecode上的MKACTIVITY有类似的问题。这是因为我已经用http:签出了存储库,但是签到需要https:。


收获很大-我正要释放机器上急躁的程序员的愤怒。:)您需要使用https:重新检出该文件夹:(或者,如果您偷偷清除了.svn以外的其他文件夹,请修改URL为http => https的.svn / entries的内容。提交屏幕将显示https URL。)
Gishu 2010年


5

我遇到了相同的错误并设法解决了这个问题:

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

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


这个简单的解决方案解决了我的问题。非常感谢!:)
consuela

4

您的svn储存库是否允许通过HTTP提交?某些存储库(例如SourceForge)允许通过HTTP 进行匿名检出,但要求开发人员通过svn和SSH检入。


3

就我而言,我在检入文件夹中的文件时遇到问题。我按照Sergio概述的步骤进行了一些更改。

  1. 复制了问题的父目录。
  2. 复制目录中已删除的.svn文件
  3. svn删除/ parent_directory
  4. 承诺
  5. 在仓库中创建新目录
  6. 承诺
  7. 将子目录从复制的目录移到存储库
  8. 承诺
  9. 复制单个文件
  10. 承诺

我有一些遇到挑战的文件。我将它们从存储库中删除,但是使用新名称重新创建了它们。


2

当我从SVN删除目录然后重新创建它时,出现了这个问题。当我提交新添加的目录时,SVN产生了此错误。我通过在新添加的目录上运行SVN解决了该问题,然后手动解决了冲突


1

使用托管的svn服务Unfuddle,当在OS​​ X Finder中通过文件复制践踏.svn时,我反复看到此错误。对我有用的svn咒语:

  • 还原
  • 更新
  • 使用远程URL删除文件夹
  • 添加并提交文件夹

0

就我而言,我要添加一个新目录,该目录假定我的本地(客户端)元数据已经存在于服务器上,而Cleanup无法纠正该目录。我备份了所有新文件和修改过的文件,删除了所有内容(根.svn文件夹除外),运行“更​​新”以还原文件,然后将备份的新文件和修改过的文件复制回目录中。我再次添加了新文件并成功提交。


0

在Eclipse中,很容易修复。

小组>切换到另一个标签/分支

选择,完全递归并选中将工作副本更改为指定深度

按确定

文件夹的图标更改。右键单击并(团队>)标记为已解决。

就是这样,现在您可以提交了。


请记住,Eclipse是开发工具,并不是ServerFault的重点。
安德鲁B

0

备份文件夹。
删除存储库中的文件夹(使用Repo-Browser)。
再次提交。

对我来说很好。
马库斯


0

我有类似的问题,我备份目录(出于安全考虑)而不是更新svn文件夹。之后,我可以再次提交。(并且没有使用我的备份)


-1

我遇到e175002 200 OK的问题。但是我读到错误消息上的路径是在谈论一台错误的服务器,因此我的中继的URL不是一个好的URL(http:// localhost:80 / path / to / my / trunk /)…等待!本地主机?...现在,我意识到这是因为在我的第一次修订中,我的设置将我的项目文件发送到了本地本地仓库中。所以在第一次修订中,请确保服务器IP的设置没有错,因为在那之后...存储库中将包含错误的信息,您将必须找到一种方法来修改其上或首次使用存储库的每个客户端上的错误设置。

我的解决方法是检查项目的每个文件夹…。在每个文件夹上都有一个存储信息的.svn文件夹,并且在每个.svn文件夹上都有一个名为“条目”的文件…在此文件中,有一个服务器路径,我用存储的每个条目中的好IP替换了坏行。在每个.svn文件夹中。然后没有更多的错误。

希望能帮助到你。:)很抱歉,如果您很难理解我的帖子^^',我会更加努力。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.