SVN でロックしたまま削除されたファイルのロックを解除する方法
- 2017年05月30日
- Subversion
- SVN, TortoiseSVN
SVN でロックしたままのファイルをリネームすると、ロック状態が残ってしまいます。TortoiseSVN などでは通常はわかりませんが、同名のファイルをコミットしようとするとエラーが出ます。
1 2 3 4 5 |
コミットに失敗しました (詳しい理由は以下のとおりです): locked in another working copy no lock token available |
ここで、ローカル環境でいくらクリーンアップを実行しても解決しません。サーバ側でロックの管理ファイルが残っているのが原因だからです。
このような状態になると、TourtoiseSVN からでは手も足も出ないので、サーバ側に ssh などでログインして、SVN のデータファイルを直接触ります。
Subversion 1.7 であれば、以下の場所にロックのファイルがあります。
1 |
(リポジトリのパス)/db/locks/***/ |
このディレクトリ直下をファイル名で grep して該当ファイルを削除(SVNディレクトリ外へ移動)すればロックの情報が消えます。
1 2 3 4 5 |
$ grep authorization.php -R locks/ locks/aec/aec20cf9132cc5abc156e46dee9d04bf:/trunk/hoge/foo/bar/authorization.php $ mv /aec/aec20cf9132cc5abc156e46dee9d04bf ~/workdir/ |
もし似たような状況でお困りであれば試してください。
ITエンジニア募集中!
キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。
下記よりITエンジニア募集の採用情報をご覧いただけます。