cvs.loveruby.net の稼働を再開しました。 停止中は御不便をおかけしました。
突然ですが、こんな機構を導入してみました。
read/write マスターレポジトリ ←―――― 別系統のCVSサーバ ←―――――― LAN only | | ミラー +-------------------------------------------------------+ | | chroot jail | | ↓ read only | | ミラーレポジトリ ←―――― 2401ポートのpserver ←――|――― Internet +-------------------------------------------------------+
ミラーは cron で 15 分ごとに Ruby スクリプトをまわしてます。 でも、書いた後になって cvsup を使えばよかったと気付きました。 もう書いちゃったからこれでいいや……。
と、いうことなので、しばらくは何か変なことが起こるかもしれません。 問題があったら遠慮なくつっこんでください。
しかし、15 分ごとにレポジトリを全部なめるのはいくらなんでも無駄すぎる。 commitinfo あたりで、なんとか……
(01:59)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
そのRubyスクリプトってCVSのロックとかも見てるんですか?
akrさんのruby-cvsを使っているので、たぶん大丈夫です。
「たぶん」と言うのは、検証テストが難しいために、
ロックまわりをテストしていないからです。ruby-cvs が
正しく実装されていても使いかたが間違っていたらそれ
までですし。
:pserver:anonymous@cvs.loveruby.net:/src co cvstools
すると mirror-repository.rb というのがそうです。
なるほど。
ちなみに自分はcvsupでいったんローカルにコピーしてからssh経由でrsyncしようと思ってました。
たんにcvsupでも安全なのかもしれませんが...。