122

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

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

数え切れないほどのクリーンアップ、コミット、更新などを実行しました。問題を解決するものはありません。アイデア?

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

4

11 に答える 11

170

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

于 2010-08-30T15:30:29.953 に答える
56

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

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

svn delete folder1
svn add folder1Copy

コミットして更新します。

svn mv folder1Copy/ folder1/

再度コミットすると修正されます。

于 2011-11-08T03:02:33.173 に答える
10

私の「消えた」フォルダはlibraries/fof.

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

cd libaries
svn up

(何も起こりません)。

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

svn update fof

トリックを行い、更新されました。そこで、(手動で tar アーカイブされた) 作業コピーをその上に展開し、再コミットしました。最も簡単な解決策。

于 2013-05-15T13:45:49.307 に答える
4

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

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

  • 最初に追加を元に戻し、SVN が注意を払わないようにしました。
  • 次にlibs、Windows のコンテキスト メニューを使用して名前を変更し (重要ではありませんが)、追加し、正常にコミットしました。
  • 最後に、TortoiseSVN のコンテキスト メニューを使用する名前に戻しlib(これはおそらく重要です)、再度コミットしました。
于 2011-09-01T15:45:04.180 に答える
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"
于 2011-11-08T21:51:29.277 に答える
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 # 変更を復元します
于 2011-09-09T08:16:38.257 に答える
1

code.google.comSubversion リポジトリをホストするために使用する場合。

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

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

今は大丈夫です。

于 2014-06-27T08:26:16.850 に答える
0

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

于 2014-11-10T12:49:04.807 に答える
0

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

  1. フォルダを別の場所にコピーします。
  2. コピーしたフォルダから .svn を削除
  3. 元のフォルダーを右クリックし、[SVN チェックアウト] を選択します。
  4. (3) が見つからない場合、あなたのケースは私のケースとは異なります。
  5. REPO-BROWSER 上のディレクトリが正しいか確認してください。私の場合、これが原因でした。
  6. チェックアウト
  7. コピーしたフォルダから元のディレクトリにファイルを戻します。
  8. 専念。
于 2013-12-31T16:02:38.267 に答える