cvs の利点2006年09月27日 11時20分58秒

cvsup から anoncvs に変更したが、それぞれ一長一短ある。

cvsup は早い。cvs と比べると、とてつもなく早い。ローカルのファイルを調べている間に、並列してサーバー側でもファイルを調べているようだ。cvsup はコマンドに入力してから、見ている間に画面が流れて、ファイルの取得が終わる。欠点としては、サーバ側と完全に同期するために、パッチが当たっていると全て無効になるのだ。

それに引き替え、cvs はとても遅い。ローカルのファイルを全て走査してから、サーバ側の走査が始まる。取得も元々遅い。cvs up を実行していたのを忘れてしまうのも度々だ。

しかし、ローカルの変更が失われないのが大きい。cvsup だとパッチによっては悪夢になるが、そんなことが全然ない。他にも、cvs diff -r RELENG_6 を cvs up の前にやることによって、前回更新したときからの変更を知ることが出来る。これは cvsup では出来ない。

手元でパッチも一切当てず、ただ単に stable や current を追いかけたいときは cvsup だろう。何といっても断然早い。しかし、stable や current でどのような変更が行なわれているか知りたいときや、手元で大量のパッチが当たっている場合は、cvs の方が手間が断然少ない。

前回。

コメント

_ 上美谷 ― 2006年09月27日 19時01分20秒

cvsup-mirror でリポジトリのミラーを /home/ncvs にもってきて、
そいつに対して
cvs -d /home/ncvs co src
というのはどうでしょう

_ uyota ― 2006年09月28日 09時43分37秒

cvsup でもレポジトリ自体を取得することは出来ます。ただ、src のレポジトリだけでも、今では 1.5 GB ぐらいと大きいので特に始めての場合は、取ってくるのも大変です。

実は何年か昔にやったことがあるのですが、全然早くはありませんでした。cvs は元々大量のディスクアクセスが発生するし、src には大量のディレクトリとファイルがあります。レポジトリとワークエリアが同一ディスクだったため、anoncvs のサーバを使うよりも遅くなってしまいました。今はディスクも速くなっていますし、ディスクを二つに分ければ、どうなるかは判りませんが。

加えて、CVSROOT などが FreeBSD のサイトのものと同じではなかったからでしょうか。チェックアウトした時のタグのユーザ名などがおかしくなって、mergemaster の時に全てのファイルが変更されてと認識されたみたいで、大変な目に会いました。

長いとはいっても cvs update を始めてから、-stable と -current のメーリングリストを目を通したり、他のことをやっている間に終わってしまうので、特に問題はありません。-stable や -current を追いかける時は、まずメーリングリストに目を通しましょうとハンドブックにもあります。cvs が遅さが見切り発射も防止というおまけになっています。

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2006/09/27/539630/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。