[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

パッケージ: cvs (Concurrent Version System)

Important: チェックポイント

□ ターゲット     /usr/pkgsrc/devel/scmcvs
□ /etc/rc.conf    不要
□ 設定ファイル    なし
□ ポート番号     なし
□ 動作の確認     cvsが動けばOK(/usr/bin/cvsと間違えないように)

CVS はソースコードを管理するシステムです。 RCS や SCCS の次くらい(三番目くらい?)に古く、二十数年来使われています。

NSRG では CVS を使います。使い方を覚えて下さい。 特に指示がない場合は、つねにインストールして下さい。

注意: # や % の意味が分からない人は 用語 を参照してください。

インストール

% su root
# cd /usr/pkgsrc/devel/scmcvs
# make install

Caution

2011/04 以降: make packege ではなく make install を使ってください。 事情の詳細は the Section called 2011 春: make install および make package の動作が変わる 節を参照してください。

Caution

本来 cvs でいいのですが、 頭に scm (software configuration management ?) [1] をつけてあります。

昔は cvs というディレクトリ名でした。 ただ、これだと、 大文字/小文字を区別しない OS では cvs ディレクトリと CVS ディレクトリ(管理情報)がぶつかってしまいます。 ポータビリティのために scmcvs という名前に変更したのだと思います。

なぜ NSRG は CVS なのか?

まず商用はパスです(お金がないから)。 商用の有名どころというと Perl の管理で使っている Clearcase や Microsoft の VSS などでしょうか。

フリーソフトウエアでは RCS SCCS CVS Subversion あたりが候補になります。

まず RCS 単体は機能が低すぎ、SCCS は保守されていません。捨て。

CVS は rename できない以外の問題点はありません。 実績も古く動作は安定しています。 すべてテキストなので、最悪の場合でも手動で直すことが出来ます。

Subversion は CVS の問題 (1) rename が出来ない。 (2) テキストなので遅い。 という二つの問題を解決するために始められたと理解しています。 (2)のために Subversion のバックエンドは RDBMS です。

rename について NSRG では次のように考えており、 われわれは重視しません。 (1) 数十万行のコードを書いてきた経験をもってしても rename できて嬉しかった事例がほとんど思い出せません。 rename 昨日があれば嬉しいとは思うでしょうが、 実のところ「rename できてうれしい場合は滅多にない」ということです。 (2) そもそも rename しなくてもよいように十分考えてから cvs へ入れればいいだけの話なので、 「rename できる/できない問題」は本末転倒だと思います。

Subversion では RDBMS を使うため最悪の場合、すべてが飛んでしまいます。 バイナリの修復は非常に困難です。 そのためでしょう、 2008 くらいには --text ?などという自分の存在理由を否定するオプションがつきました。

そんなわけで Subversion の人たちも、なんだか分けわかりません…が、 とにかく、NSRG では禁止。

「少しくらい遅くても最悪の場合を考えて運用する」 それが真のエンジニアというものです。 [2]

anonymous cvs

なお anonymous cvs の作成方法は the Section called 設定: anonymous cvs の作成 節を参照してください。

Notes

[1]

Supply Chain Managemnt ではありません:-)

[2]

エンジニアの理想は、いつの時代も宇宙戦艦ヤマトの真田技師長でつ。

「こんなこともあろうかと…」

このセリフを言うために、こつこつ地道な努力をしているのですよ。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >