web-dev-qa-db-ja.com

コミットに失敗しました:すでにロックされています

TortoiseSVNを使用して、約25,000のファイルをVisualSVNに追加してコミットしようとしました。

コミットダイアログはロックされました(予想どおり)が、スレッドがブロックされてしばらくすると、一度に小さなファイルチャンクをコミットすることを期待して、亀を殺しました。

今、私はこのエラーを受け取ります:

エラー:コミットに失敗しました(詳細が続きます):

作業コピー「C:\ INTERNAL\Icons\Oxygen 4.10.1」がロックされています。

「C:\ INTERNAL\Icons\Oxygen 4.10.1\scalable\places\PaxHeaders.14455」はすでにロックされています

TortoiseProc.exeを強制終了し、VisualSVNを数回再起動しましたが、まだエラーが発生します。

また、フォルダーを右クリックしてロックの解除を選択しましたが、次のようになります:

ロックを解除するものは何もありません。この作業コピーにロックされているファイルはありません。

svn stを実行すると、追加されるのを待っているすべてのファイルの非常に長い出力が得られます。

関係のないもの(2、3日前)をコミットしようとしても、同じエラーが発生します。

同じサーバー上の別のリポジトリに正常にコミットできます。

ロックを解除してこれらのファイルをコミットするにはどうすればよいですか?

28
Danny Beckett

SVNクリーンアップを試してください。私は同じ問題を抱えていて、それを行った後、ロックが解除されました。

具体的には The Tortoise SVN Cleanup Documentation から:

サーバーの問題などが原因でSubversionコマンドを正常に完了できない場合、作業コピーが一貫性のない状態のままになる可能性があります。その場合、フォルダーでTortoiseSVN→クリーンアップを使用する必要があります。作業コピーの最上位でこれを行うことをお勧めします。

クリーンアップダイアログには、作業コピーをクリーンな状態にする他の便利なオプションもあります。

作業コピーのステータスをクリーンアップする前述のように、このオプションは一貫性のない作業コピーを実行可能かつ使用可能な状態にしようとします。これは、持っているデータには影響せず、作業コピーデータベースの内部状態にのみ影響します。これは、古いTortoiseSVNクライアントまたは他のSVNクライアントから知っている実際のクリーンアップコマンドです。

推奨されるSVNクリーンアップオプションのスクリーンショットは次のとおりです。

SVN Cleanup Screenshot

75
jordanhill123

ジョーダンの答えにほんの少し追加しただけで、私は同じ問題を抱えていましたが、問題のフォルダーのクリーンアップがロックのために失敗していました。それを修正するには、親ディレクトリでSVNクリーンアップを実行し、次に問題のディレクトリで実行する必要がありました。

20
James Hill

Eclipseでsvnを使用する場合、クリーンアップを試みますが失敗しますので、Tortoiseをインストールしてから、break locks checkedでクリーンアップします

enter image description here

5
amdev