Yukiharu YABUKI の tDiary
このtDiaryを検索します。
2010-04-21 [長年日記]
_ svn のリポジトリがおかしいかも? と思ったら。
たいていは、自分の環境がおかしいのだから、別の場所にチェックアウトして作業するのが正しいと思う。が、svn の fsfs データベースを確認したいなら、下記の手順が良いのではないだろうか。ただし、事前の仕込みがないと後からでは何ともならないこともある。とくに
- リポジトリの置いてあるマシンにssh *1
- svn --version および svnadmin --version で svn のバージョンを確認する。svn のバージョンによって fsfs や Berkeley DB に関連がある。
- svnadmin help でコマンド一覧を確認する。
- svnadmin verify [repo path]を実行する。この結果でぶっ壊れているなら、バックアップから戻そう。see also svnadmin dump/load また cron で svnadmin verity [repo path] を実行して結果を取っておくのも良い。
- svnadmin recover [repo path]があるが、これで直る場合もあるが、直らなかったらと思うとゾッとするので、やっぱりバックアップは必要。HDDが壊れたり、eccのないメモリーでエラー検知ができないままファイルが書かれてもファイルはぶっ壊れることもある。頻度は低いけども致命的な結果をもたらす。ので世代バックアップは作りましょう。see also svnadmin dump やってて安心。
おまけ、
- svnadmin lslocks ロックの確認
- svnadmin lstxns 未コミット・トランザクションの確認
*1 svnadminは URLじゃなくて unix pathで動く。そのためリポジトリのマシンへ入る必要がある。