訳: 杉村 貴士 <sugimura@jp.FreeBSD.org>
、1998
年 7 月 19 日
Anonymous CVS (もしくは、anoncvs として知られています) は離れたところにある CVS リポジトリと同期を取るために FreeBSD に付属している CVS ユーティリティに含まれている機能です。他にもありますが、 それは FreeBSD のユーザが、特別な権限なしに FreeBSD プロジェクトの公式な anoncvs サーバに読み取り専用で CVS の操作をすることができるようにするためのものです。 それを使うには、単に CVSROOT 環境変数を設定して適切な anoncvs サーバを指定し、 cvs login を使って パスワード “anoncvs” を入力してください。 そして次に cvs(1) コマンドを使うことで、 手元にあるリポジトリと同じようにアクセスできるようになります。
Note: cvs login コマンドは、CVS サーバの認証に使われるパスワードを HOME ディレクトリの .cvspass というファイルに保存します。 このファイルが存在しなければ、最初に cvs login を使おうとしたときにエラーが出るでしょう。空の .cvspass ファイルを作成して再度ログインに挑戦してください。
CVSup と anoncvs のサービスは本質的に同じ機能ではないかということも言われていますが、 ユーザが同期を取る方法を選ぶときに影響を与える、 さまざまなトレードオフが存在します。要約して言えば、 CVSup はネットワーク資源の使い方においては非常に効率が良く技術的にもはるかに洗練されたものですが、 相当な手間がかかります。CVSup を使うには特別なクライアントをまずインストールして設定しなくては 1 bit も取ってくることができませんし、さらにそのとき CVSup で取ってくることができるのは、 コレクション (collection) と呼ばれる、 かなり大きなかたまりだけです。
それに対して anoncvs では、 CVS モジュールの名前を指定することで特定のプログラムの (ls や grep のような) 個々のファイルから調べることができます。もちろん、 anoncvs は CVS リポジトリの読み取り専用の操作に対してのみ適しているので、 もしあなたが FreeBSD プロジェクトのものと共有されたなにか ローカルなリポジトリを作ってそこでの開発を 行おうというときには、CVSup だけが唯一の手段となってしまいます。
cvs(1) を設定して Anonymous CVS リポジトリを使うには単に CVSROOT 環境変数を設定して FreeBSD プロジェクトの anoncvs サーバを指定するだけのことです。 この文書を書いているときには、 次のサーバが利用できるようになっています。
フランス: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver モードでは、cvs login コマンドを使い、 プロンプトが表示されたらパスワード “anoncvs” を入力してください。 ssh ではパスワードは必要ありません。)
台湾: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver モードでは、cvs login コマンドを使い、 プロンプトが表示されたら任意のパスワードを入力してください。 ssh ではパスワードは必要ありません。)
SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub
USA: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ssh では ssh バージョン 2 を使ってください。パスワードは必要ありません。)
SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub
CVS はかつて存在した (もしくはこれから存在するものも) ほとんどどんなバージョンの
FreeBSD のソースを “check out” することができますが、あなたは cvs(1) の リビジョン
(-r
) のオプションや FreeBSD プロジェクトのリポジトリの中で
それをどのように指定したらいいものかということを よく知っておく必要があります。
タグには 2 種類あって、 リビジョンタグとブランチタグがあります。 リビジョンタグは特定の改訂版を指しており、 それはいつも同じものを意味しています。一方ブランチタグは、 指定されたときの指定された開発の流れにおける 最も新しい改訂版を示しています。 ブランチタグは特定の改訂版を指していないために、 その意味はきょうと明日では違うものになっているでしょう。
Section A.7 にはユーザが興味を持つであろうリビジョンタグの一覧が載せられています。 これらはいずれも Ports Collection に対して使うことはできません。 Ports Collection は複数の開発ブランチを持っていないからです。
ブランチタグを指定したときには、 普通はその開発の流れにおける
最も新しいバージョンのファイルを受け取ることができます。
もし以前のバージョンのものが欲しいときには、日付を -D date
オプションを使って指定すればよいです。 これ以上のことは cvs(1) man page
を見てください。
本当はなにかする前には cvs(1) のマニュアルページの全体をちゃんと読んでからのほうがいいのですが、 Anonymous CVS の使い方の本質的なところを簡単に例を挙げて説明します。
Example A-1. -CURRENT (ls(1)) をちょっと確認してみます。
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
プロンプトが表示されたら、“password” に任意の単語を入力します。
% cvs co ls
Example A-2. SSH を使って src/ ツリーをチェックアウトしてみます。
% cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established. DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts.
Example A-3. ls(1) のバージョンを 8-STABLE ブランチから調べてみます。
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
プロンプトが表示されたら、“password” に任意の単語を入力します。
% cvs co -rRELENG_8 ls
次の資料は CVS を学ぶのに役に立つでしょう。
CVS チュートリアル California Polytechnic State University によるものです。
CVS Home、 CVS の開発とサポートをしているコミュニティです。
CVSWeb は FreeBSD Project の CVS のための WWW インタフェースです。
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で)
連絡してください。
本文書に関する質問については、<doc@FreeBSD.org> まで電子メールを (英語で)
送ってください。