シナリオ:バイナリファイルを変更するには、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
注:*を使用してマスクされるパスとログインはほとんどありません
Simon Large (TortoiseSVNの共著者)によると:
リポジトリブラウザを使用し、コンテキストメニューから「ロックを解除」します。
スクリーンショット:
このアイテムは、実際にアイテムがロックされている場合にのみ表示されることに注意してください。ここに示すように、レポブラウザの外に「ロックを解除...」コマンドもあります。
クリーンアップ作業コピーのルートで問題を修正しました。私も、SVN Commitを実行中にCancelを実行していました。
ターミナルでは、
svn cleanup
ロックを解除します。
時々、私はSVNを使用していました。新鮮なチェックアウトを行い、そのファイルに変更をマージできます。マージしたら、ファイルをSVNにコミットできます。