原作: Jordan K. Hubbard
<jkh@FreeBSD.ORG>
訳: 杉村 貴士
<takas-su@is.aist-nara.ac.jp>
.
19 July 1998.
Anonymous CVS (もしくは, anoncvs として知られています) は
離れたところにある CVS リポジトリと同期を取るために FreeBSD に付属している
CVS ユーティリティに含まれている機能です. 他にもありますが, それは FreeBSD の
ユーザが, 特別な権限なしに FreeBSD プロジェクトの公式な anoncvs サーバに
読み取り専用で CVS の操作をすることができるようにするためのものです.
それを使うには, 単に CVSROOT 環境変数を設定して適切な anoncvs サーバを
指定し, そして cvs(1)
コマンドを使って手元にあるリポジトリのように
アクセスするだけです.
CVSup と anoncvs
のサービスは本質的に
同じ機能ではないかということも言われていますが, ユーザが同期を取る方法を
選ぶときに影響を与えるようなさまざまなトレードオフが存在します.
要約して言えば, CVSup
はネットワーク資源の使い方においては
非常に効率がよく, またはるかに技術的に洗練されたものですが,
相当な手間がかかります. CVSup
を使うには, 特別なクライアントをまず
インストールして設定しなくては 1bit も取ってくることができず, またそのとき
CVSup
では collections と呼んでいるかなり大きなかたまり
だけからしか取ってこれません.
それに対して anoncvs
では, CVS モジュールの名前を指定することで
特定のプログラムの (ls や grep のような) 個々のファイルから
調べることができます. もちろん, anoncvs
は CVS リポジトリの
読み取り専用の操作に対してのみ適しているので, もしあなたが
FreeBSD プロジェクトのものと共有されたなにかローカルなリポジトリを作って
そこでの開発を行おうというときには, CVSup
だけが
唯一の手段となってしまいます.
cvs(1)
を設定して Anonymous CVS リポジトリを使うには
単に CVSROOT 環境変数を設定して FreeBSD プロジェクトの
anoncvs
サーバを指定するだけのことです.
この文書を書いているときには, 次のサーバが利用できるようになっています.
CVS はかつて存在した (もしくは, 時にはこれから存在するものも :)
ほとんどどんなバージョンの FreeBSD のソースを "check out" することができますが,
あなたは cvs(1)
の リビジョン (-r) のオプションや
FreeBSD プロジェクトのリポジトリの中でそれをどのように指定したらいいものか
ということをよく知っておく必要があります.
タグには 2 種類あって, リビジョンタグとブランチタグがあります. リビジョンタグは特定の改訂版を指しており, それはいつも同じものを意味しています. 一方ブランチタグは, 指定されたときの指定された開発の流れにおける 最も新しい改訂版を示しています. ブランチタグは特定の改訂版を指していないために, その意味はきょうと明日では違うものになっているでしょう.
ユーザが興味を持つであろうブランチタグの一覧です.
主要部をなす流れ, すなわち FreeBSD-current のための名前です. また, どのリビジョンも指定されなかったときにはこれになります.
FreeBSD-3.x の開発のための流れです. FreeBSD-stable としても知られています. ports コレクションには無効です.
FreeBSD-2.2.x の開発のための流れです. 2.2-stable としても 知られています. ports コレクションにはふさわしくありません.
FreeBSD-2.1.x の開発のための流れです - このブランチは 大部分がすたれています. ports コレクションにはふさわしくありません.
ユーザが興味を持つであろうリビジョンタグの一覧です.
FreeBSD-2.2.6. ports コレクションにはふさわしくありません.
FreeBSD-2.2.5. ports コレクションにはふさわしくありません.
FreeBSD-2.2.2. ports コレクションにはふさわしくありません.
FreeBSD-2.2.1. ports コレクションにはふさわしくありません.
FreeBSD-2.2.0. ports コレクションにはふさわしくありません.
FreeBSD-2.1.7. ports コレクションにはふさわしくありません.
FreeBSD-2.1.6.1. ports コレクションにはふさわしくありません.
FreeBSD-2.1.6. ports コレクションにはふさわしくありません.
FreeBSD-2.1.5. ports コレクションにはふさわしくありません.
FreeBSD-2.1.0. ports コレクションにはふさわしくありません.
ブランチタグを指定したときには, 普通はその開発の流れにおける最も新しい バージョンのファイルを受け取ることができます. もし以前のバージョンのものが 欲しいときには, 日付を -D date オプションを使って指定すればよいです.
本当はなにかする前には cvs(1)
のマニュアルページの全体をちゃんと
読んでからのほうがいいのですが, Anonymous CVS の使い方の本質的なところを
簡単に例を挙げて説明します.
-current (ls(1)) をちょっと確認してから消してみます.
% setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs % cvs co ls % cvs release -d ls
ls(1) のバージョンを 2.2-stable ブランチから調べてみます.
% setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs % cvs co -rRELENG_2_2 ls % cvs release -d ls
FreeBSD 2.2.2 と FreeBSD 2.2.6 とで ls(1) の変更点のリストを (unidiff で) 作ってみます.
% setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs % cvs rdiff -u -rRELENG_2_2_2_RELEASE -rRELENG_2_2_6_RELEASE ls
他のどんなモジュールの名前が使われているか検索してみます.
% setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs % cvs co modules % more modules/modules % cvs release -d modules
次の資料は CVS を学ぶのに役に立つでしょう.