svnsyncでの、「同期先リポジトリのロックを取得できませんでした。」エラーの対処法

2012年2月5日 オフ 投稿者: KYO
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が重い
  • 物理メモリ不足

などが原因で発生することがあるようだ