FreeBSD ハンドブック
Prev | Appendix A. FreeBSD の入手方法 | Next

# A.3. Anonymous CVS

訳: 杉村 貴士 `<sugimura@jp.FreeBSD.org>`、1998 年 7 月 19 日

## A.3.1. 導入

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 だけが唯一の手段となってしまいます。

## A.3.2. Anonymous CVS を使う

cvs(1) を設定して Anonymous CVS リポジトリを使うには単に `CVSROOT` 環境変数を設定して FreeBSD プロジェクトの anoncvs サーバを指定するだけのことです。 この文書を書いているときには、 次のサーバが利用できるようになっています。

- フランス: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (パスワードは “anoncvs”), ssh (パスワードはありません) が使えます)

- 日本: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (`cvs login` コマンドを使い、 プロンプトが表示されたらパスワード “anoncvs” を入力してください)

- 台湾: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver (`cvs login` コマンドを使い、 プロンプトが表示されたら任意のパスワードを入力してください), ssh (パスワードはありません) が使えます)

      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: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (ssh のみが提供されています (パスワードはありません))

      SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu
      SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub

- USA: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ssh2 のみが提供されています (パスワードはありません))

      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 を見てください。

## A.3.3. 例

本当はなにかする前には 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 freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
    The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
    DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.

Example A-3. ls(1) のバージョンを 6-STABLE ブランチから調べてみます。

    % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
    % cvs login
    プロンプトが表示されたら、“password” に任意の単語を入力します。
    % cvs co -rRELENG_6 ls

Example A-4. ls(1) の変更点のリストを (Unified diff で) 作ってみます。

    % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
    % cvs login
    プロンプトが表示されたら、“password” に任意の単語を入力します。
    % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls

Example A-5. 他のどんなモジュールの名前が 使われているか検索してみます。

    % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
    % cvs login
    プロンプトが表示されたら、“password” に任意の単語を入力します。
    % more modules/modules

## A.3.4. 他の資料

次の資料は CVS を学ぶのに役に立つでしょう。

- CVS チュートリアル Cal Poly によるものです。

- CVS Home、 CVS の開発とサポートをしているコミュニティです。

- CVSWeb は FreeBSD Project の CVS のための WWW インタフェースです。

Prev | Home | Next
FTP サイト | Up | CTM を使う