web-dev-qa-db-ja.com

Subversionエラー:(405 Method Not Allowed)in response to 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コミットを行います。
65
Sergio del Amo

このエラーは通常、追加しようとしているフォルダーすでにがリポジトリーに存在することを示しています-最近更新を行ったか、それとも非再帰的なチェックアウトを行ったか?

以前にこのエラーが発生しました-問題が何であるかを教えてくれるブログを見つけました。解決策はもう少し複雑で、問題のディレクトリを作業コピーから削除し(別の場所にコピー)、再帰的な更新を実行してから、2つのディレクトリを手動でマージします。

編集:Opps-質問の本文で既に回答済み。そして、ここで私は未回答の質問への答えを知っていることに興奮しました:)

44
andrewc

私はgooglecodeのMKACTIVITYで同様の問題がありました。これは、http:を使用してリポジトリをチェックアウトしたためですが、チェックインにはhttps:が必要でした。

8
Troy Daniels

私は同じエラーを受け取り、それをなんとか解決しました:

  1. SVN問題のあるディレクトリの名前を「foo」などに変更します
  2. SVNコミット
  3. SVN名前を希望の名前に戻します
  4. SVNコミット

これがすべてのケースで機能するかどうかはわかりませんが、親ディレクトリを削除するよりも簡単です。

5
Sam Dutton

あなたのsvnリポジトリはHTTP経由のコミットを許可していますか? SourceForgeなどの一部のリポジトリでは、HTTPによるanonymousチェックアウトが許可されていますが、開発者はsvnおよびSSH経由でチェックインする必要があります。

4
Dave Cheney

私の場合、フォルダ内のファイルのチェックインに問題がありました。私はいくつかの変更を加えて、セルジオが概説した手順に従いました。

  1. 問題の親ディレクトリをコピーしました。
  2. コピーされたディレクトリ内の.svnファイルを削除しました
  3. svn delete/parent_directory
  4. コミット
  5. リポジトリに新しいディレクトリを作成する
  6. コミット
  7. コピーしたディレクトリからリポジトリにサブディレクトリを移動します
  8. コミット
  9. 個々のファイルをコピーする
  10. コミット

いくつかの問題があったファイルがありました。リポジトリには入れませんでしたが、新しい名前で再作成しました。

3
Dawn Green

SVNからディレクトリを削除して再作成すると、この問題が発生しました。新しく追加したディレクトリをコミットすると、SVNでこのエラーが発生しました。私は新しく追加されたディレクトリでSVNを実行し、競合を手動で解決しましたで問題を解決しました。

2
imikay

ホストされているsvnサービスであるUnfuddleを使用して、OS X Finderでのファイルのコピーによって.svnが踏みにじられると、このエラーが繰り返し表示されます。私のために働いたsvnの呪文:

  • 元に戻す
  • 更新
  • リモートURLを使用してフォルダーを削除する
  • フォルダを追加してコミットする
1
xentek

フォルダのバックアップを作成します。
リポジトリ内のフォルダを削除します(Repo-Browserを使用)。
もう一度コミットします。

私にとってはうまくいきます。
マーカス

0
Marcus

Eclipseでは修正は簡単です。

チーム>別のタグ/ブランチに切り替える

選択し、完全に再帰的に、作業コピーを指定された深さに変更をチェックします

OKを押します

フォルダのアイコンが変わります。右クリックして(チーム>)解決済みとしてマークします。

それだけです。今すぐコミットできます。

0
juliangonzalez

私の場合、ローカル(クライアント)メタデータが既にサーバー上にあると想定し、クリーンアップがそれを修正しなかった新しいディレクトリを追加していました。新しいファイルと変更されたファイルをすべてバックアップし、すべて(ルート.svnフォルダーを除く)を削除し、Updateを実行してファイルを復元し、バックアップした新しいファイルと変更されたファイルをディレクトリにコピーしました。新しいファイルを再度追加し、正常にコミットしました。

0
stimpy77

私は同様の問題を抱えていたので、svnフォルダーを更新するよりも(安全のため)ディレクトリをバックアップしました。その後、私は再びコミットすることができました。 (私のバックアップは使用していません)

0
Ohad Cohen