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

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缓存服务等...

请添加解决方案作为答案,而不要添加到问题中

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

有关Google代码存储库,请参见-stackoverflow.com/a/32636072/1406510

#1 楼

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

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

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

评论


@Andrew-好吧,您正确回答了问题... @Sergio应该已经回答了他自己的问题。

–乔什
2010-2-26在14:53

#2 楼

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

评论


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

– Gishu
2010年6月30日9:44

stackoverflow.com/a/32636072/1406510

– Nananosoft
15年9月17日在17:08

#3 楼

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


SVN将有问题的目录重命名为'foo',或其他任何内容
SVN Commit

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

评论


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

– Consuela
15年3月6日在16:44

#4 楼

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

#5 楼

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


复制了问题的父目录。
在复制的目录中删除了.svn文件
svn delete / parent_directory
提交
在repo中创建新目录
提交
将子目录从复制的目录移动到repo
提交
复制单个文件
提交

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

#6 楼

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

#7 楼

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


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


#8 楼

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

#9 楼

在Eclipse中,易于修复。

团队>切换到另一个标签/分支

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

按OK

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

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

评论


请记住,Eclipse是开发工具,并不是ServerFault的真正重点。

–安德鲁(Andrew B)
13年3月20日在23:17

#10 楼

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

#11 楼

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

#12 楼

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

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

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