SVN 405メソッドは許可されていません


122

SVNのフォルダーを誤って削除して、すぐに元に戻しました。私はこれで問題に遭遇し、私の解決策は私のサーバーのコピーだけでなくローカルのコピーからもフォルダーを完全に削除してしまいました。他のファイルまたはフォルダーで問題なく更新とコミットを実行できますが、同じ名前のフォルダーを作成し、追加してコミットしようとすると、次のエラーが発生します。

svn: '/ svn / www /!svn / wrk / 9de0d765-2203-456c-af16-58e792ec7ac0 / trunk / htdocs / solutions / medical'に対するMKCOL要求への応答として、サーバーが予期しない戻り値(405メソッドは許可されていません)を送信しました

無数のクリーンアップ、コミット、更新などを実行しました。問題は何も解決しません。アイデア?

ちなみに、最上位のフォルダの名前を変更するオプションはありません。


サブディレクトリを削除しようとしているときにも同じようにして、正しく無視できるようにしました。どういうわけかそれはそれ自体を解決し、私はこれを可能にするために要素のどの不可解な組み合わせが一致したのか本当に知りません、それで私は私の質問を捨てました。私の新しいものは、次のとおりです。なぜ私たちはすべてを使用しgitないのですか
icedwater 2013

回答:


170

追加しようとしているフォルダはすでに SVNに存在いると思います。別のフォルダーにファイルをチェックアウトして確認し、トランクに必要なフォルダーが既にあるかどうかを確認できます。


1
私は別のチェックアウトバージョンでこれを確認しました。なぜ私の作業用コピーが更新されないのか、私には判断できません。
roadsunknown

1
ここでもそうでしたが、別のフォルダーでフォルダーをチェックアウトする必要がありました(または、私はそれを「foo」に名前変更してsvn up'dし、「deleted」フォルダーを含めてそれを取り戻しましたが、コミットは成功しました削除します。)
Kalle

1
@Shaji:私はあなたのケースを理解しています。しかし、このエラーが原因で、どうすればまだコミットできますか?とにかくやることがあります、教えてください。ありがとう。
ホイタワー2014

1
フォルダーでSVN更新を実行してから、コミットを再試行してください。
Alex R

これは迷惑なエラーです。Githubから新しいリポジトリをチェックアウトし、新しいフォルダをコミットしました。常に同じエラーが表示されます。ソリューションを試してみましたが、機能しません。
emeraldhieu 2015

56

修正する最も簡単な方法は、影響を受けるフォルダーを複製し、別の名前でコミットすることでした。その後svn mv duplicateFolder originalFolder。とても簡単。

したがって、folder1を取得してfolder1Copyを作成します。

svn delete folder1
svn add folder1Copy

コミットして更新:

svn mv folder1Copy/ folder1/

もう一度コミットすると修正されます。


6
これは私にとってはうまくいき、2番目の作業コピーを処理するよりもはるかに簡単です。
Justin

うまくいけばcommit & update、文字通りのコマンドラインではありません... Unixでは両方を同時に実行しようとするでしょう。
LarsH 2012年

1
サニーベールに来て、どういうわけか私を見つけたら、私はあなたにコーヒーを買います。
Michael Voznesensky 2014年

10

「消えた」フォルダはでしたlibraries/fof

削除して更新を実行すると、表示されません。

cd libaries
svn up

(何も起こりません)。

しかし、実際の名前で更新する:

svn update fof

トリックを行い、それが更新されました。そのため、自分の(手動でtarアーカイブした)作業コピーを展開して再コミットしました。最も簡単なソリューション。


これが最も簡単であることに同意します。「svn up」の代わりに「svn up [folder]」を実行してください。
Dimitris 2013

この解決策は私のために働いたものです。ありがとうございました。
ミゲルレンテス2015

4

私は自分のリポジトリでこれを修正しました。私はWindowsでTortoiseSVNを使用しているので、これがコマンドラインでどのコマンドに変換されるのか正確にはわかりませんが、次のようにします。

問題のあるフォルダはと呼ばれlib、追加される予定でした。

  • 最初に追加を元に戻したため、SVNはこれに注意を払っていませんでした。
  • 次にlibs、Windowsのコンテキストメニューを使用して名前を(それは重要ではない)に変更し、追加して、正常にコミットしました。
  • 最後にlib、TortoiseSVNのコンテキストメニュー(これはおそらく重要です)を使用するように名前を変更し、再度コミットしました。

3

今この問題にも出会い、このようにして解決しました。そこで、ここで録音しました。他の人にも役立つことを願っています。

シナリオ:

  1. コードをコミットする前に、リビジョン:100
  2. (他の誰かがコードをコミットします...リビジョンは199に増加しました)
  3. 私は(「svn up」を実行するのを忘れて、)コードをコミットします。今は私のリビジョン:200
  4. 「svn up」を実行します。

エラーが発生しました。

解決:

  1. $ mv current_copy copy_back#現在のコードコピーの名前を変更
  2. $ svn checkout current_copy#もう一度チェックアウト
  3. $ cp copy_back / current_copy#変更を復元します

3

同様の問題がありました。私はそれを軌道から外してしまい、その過程で私のSVN履歴を失ってしまいました。しかし、少なくとも私はそのいまいましい間違いをなくしました。

これはおそらく実行するコマンドの最適ではないシーケンスですが、実際に機能させるために実際に実行したコマンドのシーケンスにかなり厳密に従う必要があります。

cp -rp target ~/other/location/target-20111108
svn rm target --force
cp -rp ~/other/location/target-20111108 target-other-name
cd target-other-name
find . -name .svn -print | xargs rm -rf
cd ..
svn add target-other-name
svn ci -m "Re-re-re-re-re-re-re-re-re-re import target"
svn mv target-other-name target
svn ci -m "Re-re-re-re-re-re-re-re-re-re import target"

それが確実にする唯一の方法です。
TomDestry 2014年

1

を使用code.google.comしてSubversionリポジトリをホストする場合。

あなたは以下のことを知っていますよね?

If you plan to make changes, use this command to check out the code as yourself using HTTPS:

# Project members authenticate over HTTPS to allow committing changes.
svn checkout https://.../svn/trunk/ user-...

When prompted, enter your generated googlecode.com password.
Use this command to anonymously check out the latest project source code:

# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://.../svn/trunk/ ...-read-only

あなたが正確にあなたがNon-members may check out a read-only working copy anonymously over HTTPステータスを使用していると述べたエラー。したがって、これまでにコミットまたは何かを行うことはできません。

Project members authenticate over HTTPS to allow committing changesものを使わなければなりません。

今は大丈夫でしょう。


0

同じ問題が発生し、次の方法で修正できました。

  1. フォルダを別の場所にコピーします。
  2. コピーしたフォルダーから.svnを削除する
  3. 元のフォルダを右クリックし、「SVNチェックアウト」を選択します
  4. (3)が見つからない場合、ケースは私のケースとは異なります。
  5. REPO-BROWSERのディレクトリが正しいかどうかを確認します。私の場合、これが原因でした。
  6. チェックアウト
  7. コピーしたフォルダから元のディレクトリにファイルを戻します。
  8. コミット。

0

これは、svnに配置しようとしているフォルダー/ファイルが既にそこに存在することを意味します。私のアドバイスは、何かをする前に、フォルダ/ファイルを右クリックして、リポジトリブラウザをクリックすることです。これにより、svnにすでに存在するすべてのファイル/サブフォルダーなどを確認できます。必要なファイル/フォルダーがsvnに存在しない場合は、追加したいファイルを(バックアップ後に)削除して、更新を実行します。


0

現在追加されているディレクトリは、リポジトリですでにコミットされています。したがって、リポジトリ内のディレクトリを削除し、同じディレクトリを再度コミットします。


0

URLアドレスを「/」で終わる新しいアドレスに置き換えたため、このエラーが発生しました。REPOSITORYテーブルの.svnフォルダーにあるwc.dbデータベースのレコードを意味します。

「/」という記号を削除すると、エラーは解消しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.