svnsyncでの、「同期先リポジトリのロックを取得できませんでした。」エラーの対処法
2012年2月5日Table of Contents
svnsyncでの、「同期先リポジトリのロックを取得できませんでした。」エラーの対処法
Subversionのsvnsyncを利用中、何らかの理由で同期に失敗した場合、「同期先リポジトリのロックを取得できませんでした。」というエラーが表示される。
このままでは、同期がとれないので、以下で対処を行う。
現象
svnsync失敗後、svnsyncを再実行してみると・・・
$ svnsync sync file:///some/where/project
同期先リポジトリのロックを取得できませんでした。現在 'ns1.thekyo.tech:e8f61707-8ff4-4b76-a30f-54cf6bcc1f67' が所持しています
というようなエラーが表示される
そこで。
対処法
svnsyncのロックを解除してあげる
$ svn propel svn:sync-lock -revprop -r 0 file:///some/where/project
属性 'svn:sync-lock' をリポジトリのリビジョン 0 から削除しました
対処後
対処後、再度svnsyncを実行する
$ svnsync sync file:///some/where/project
ファイルのデータを送信しています ......
リビジョン 799 をコミットしました。
リビジョン 799 の属性をコピーしました。
原因
原因は色々考えられるが・・
- Apacheが重い
- 物理メモリ不足
などが原因で発生することがあるようだ