web-dev-qa-db-ja.com

SVNファイルがロックされたため、コミットできなくなりました

シナリオ:バイナリファイルを変更するには、svnロックが必要です。変更するには、ファイルを最初にロック、変更し、コミット中に「キャンセル」ボタンを使用してコミットをキャンセルしました。何らかの理由で、ロックされたファイルを含むフォルダー全体(.svnフォルダーを含む)を削除しました。

問題:「SVN update」をカメsvnで使用しました。すべてのファイルが更新されました。ただし、以前にロックされたファイルは、ロック記号でロックされていることを示しません。それでも、ファイルを変更してコミットしようとしました。

コミット中のエラー

 Server sent unexpected return value (423 Locked) in response to PUT request for '/****/!svn/wrk/9f89b6b6-7932-9f45-82e8-fafbd5426290/trunk/***'

「SVN Get Lock」を使用してロックを再度取得しようとすると、次のエラーが表示されます。

ロックを取得しようとしたときのエラー

.`...is already locked by user 'kr***' in filesystem '/data/svn/dir/***/repos/***/db'`

私が感じているのは、クライアント側のロック情報が欠落しているが、サーバー側にはまだ存在しているということです。

抜け道を提案してください。

バージョン情報:TortoiseSVN 1.6.8、ビルド19260-32ビット、2010/04/16 20:20:11

注:*を使用してマスクされるパスとログインはほとんどありません

26
Krishna

Simon Large (TortoiseSVNの共著者)によると:

リポジトリブラウザを使用し、コンテキストメニューから「ロックを解除」します。

スクリーンショット:

TortoiseSVN 'Break lock' command

このアイテムは、実際にアイテムがロックされている場合にのみ表示されることに注意してください。ここに示すように、レポブラウザの外に「ロックを解除...」コマンドもあります。

TortoiseSVN 'Release lock...' command

35
darvids0n

クリーンアップ作業コピーのルートで問題を修正しました。私も、SVN Commitを実行中にCancelを実行していました。

27
toddmo

ターミナルでは、

svn cleanup 

ロックを解除します。

2
Cory Danielson

時々、私はSVNを使用していました。新鮮なチェックアウトを行い、そのファイルに変更をマージできます。マージしたら、ファイルをSVNにコミットできます。

0
Chandu