Linux Tips

ダウンロードページで見かけるCVSとは

北浦訓行
2001/9/6

 WebサイトでCVSという言葉を見かけることがある。例えば、Win32上にGNU環境を構築するCygwin ProjectのWebページ(http://www.cygwin.com/cvs.html)やスクリプト言語RubyのWebページ(http://www.ruby-lang.org/ja/cvsrepo.html)にもCVSという単語がある。

 CVS(CurrentVersion System)とは、プログラムを開発するときに利用するバージョン管理システムだ。大規模なプログラムを開発する場合は、多数のプログラマがプロジェクトに参加する。その場合、1つのファイルに対して複数のスタッフが同時に手を加えることも起こるが、CVSを使っているとそれぞれの変更個所をまとめたり、矛盾している変更個所のチェックなどが簡単に行える。ApacheやGNOMEなど、CVSによって開発されているプロジェクトは非常に多い。

 では、プロジェクトに参加していない普通のユーザーの場合、CVSはまったく関係ないかというと、決してそんなことはない。CVSを使うと、真の意味での「最新版」を入手することができるのだ。一般に公開しているプロジェクトでは、Webページで入手法が説明されているはずなので、それを参照していただきたい。

 ここでは、Cygwinの最新版のソースプログラムをダウンロードしてみる。最初に必要なのは、CVSROOTという環境変数の設定だ。CVSでは、履歴がCVSリポジトリという場所に保存されている。CVSROOTは、このCVSリポジトリの場所を指定する。

$ export CVSROOT=:pserver:anoncvs@anoncvs.cygnus.com:/cvs/src

 次に、CVSのサーバにログインする。プロジェクトの参加者でない場合は、anonymousでログインすることになる。anonymousの場合はファイルを変更する権限がないので、ファイルを誤って書き換えてしまうなどの心配はない。

$ cvs login
(Logging in to anoncvs@anoncvs.cygnus.com)
CVS password: anoncvs ←パスワードを入力。ここでは「anoncvs」
$ ←この状態でCVSサーバーにログインされている

 ダウンロードするディレクトリに移動して、ダウンロードを行う。CVSではファイルをダウンロードすることを「チェックアウト」という。

$ cvs checkout winsup ←チェックアウトを開始
cvs server: Updating src/winsup
U src/winsup/CYGWIN_LICENSE
U src/winsup/ChangeLog
U src/winsup/MAINTAINERS
U src/winsup/Makefile.common
(省略)

 bashのプロンプトが表示されれば、ダウンロードは完了だ。CVSサーバからログアウトする。

$ cvs logout
(Logging out of anoncvs@anoncvs.cygnus.com)

 CVSでダウンロードしたファイルは、「最新版」であるがゆえに動作に不具合がある可能性が高い点に留意が必要だ。

 CVSは、何もプログラム開発だけに使うものではない。例えば、複数の著者が原稿を執筆する場合などにも使用できる。また、個人で行う原稿執筆などにも有効だ。原稿を推敲する際に文を削除すると、後日その文章を元に戻すことは難しい。CVSを使っていると、そのような場合でも過去のデータを取り出すことができるのだ。さらに、オペレーションミスなどで原稿一式をすべて削除しても、CVSでバージョン管理をしていれば元の状態に戻すことができる。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間