CVS の利用方法

CVS は、複数の人が同じ対象に対して同時に作業するのを助けるためのプログラム です。すべてのユーザが、メインのリポジトリ (貯蔵庫) のローカルなコピーを作成します。 このローカルコピーは、同じマシンの上にあってもいいですし、 ネットワーク越しでもかまいません。ユーザはローカルコピーを好きなように 変更することができ、変更内容が正しければ、その変更をメインの リポジトリに反映する (cvs commit する) ことができます。

読み取り専用アクセス向けに、 ウェブ フロントエンドを利用可能です。KDE の cervisia のようないくつかのグラフィカルな CVS クライアントもあります。 この文書はコマンドラインプログラム cvs や類似の機能を提供するその他のクライアントでのワークフローについて 説明します。

あなたが最後にローカルコピーをアップデート (cvs update) した後に メインのリポジトリに変更があった場合、CVS は commit を許可しません。 この場合でも、あなたはローカルコピーをアップデートできるので、 これは通常は問題にはなりません。もし、メインのリポジトリへの変更が、 あなたの行おうとしている変更とは別の部分であった場合には、両者の 変更は単に合わせられるだけです。もし変更が、あなたの行おうとしている 変更と同じ場所に及んでいる場合、衝突が発生したので commit する前にファイルを編集して修正しなければならないという 警告が表示されます。

以下の例では、匿名 (anonymous) アクセスが例として取り上げられます。 リポジトリへの書き込み権限があるアカウントを持っている場合には、 そのアカウントを使ってください。anonymous ユーザは変更を commit する権限がないので、変更を行うつもりがあるなら、 前もってアカウントを取得することをお勧めします。書き込み権限のセクションを読んでください。

CVS を使い始めるにあたって、まず CVS サーバに login しなければなりません。

   cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml login

(パスワードを求められたら、単に enter を押してください)

wml ファイル群全体をあなたのローカルマシンに取得 (check out) するには、次のようにしてください。

   cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml checkout webwml

wml ファイル群の一部だけをコピー (check out) することもできます:

   cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml checkout -l \
          webwml webwml/<language>
   cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml checkout \
          webwml/Perl webwml/english/template webwml/<language>/Pics
   cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml checkout \
          webwml/<language>/<path to desired files>

必要とするサブディレクトリやファイルの数だけ、この操作を繰り返してください。 2 行目は、WML ファイルから HTML を生成するのに必要な全ファイルを含んでいます。 ただし、一部分の check out は実際にはサポートされていないので、 上記の操作は必ずうまくいくとは限りません。

もしあなたがユーザ名とパスワードを持っている場合には、以下に示すように、 anonymous の代わりにユーザ名を使ってください。

   cvs -d :pserver:username@cvs.debian.org:/cvs/webwml checkout webwml/english/doc

これから先は、「-d:pserver:...」の部分を必要としません。 数日おきに、

   cvs update -d

を実行し、リポジトリの変更を受け取ってください。update につける -d オプションは、自動的に新ディレクトリを追加するという意味です。 同じオプションをいつもいつも書かなくても済むように、 ~/.cvsrc ファイルを作るとよいでしょう。例えば、 以下のような内容にします。

cvs -z9
update -d -P
diff -u

以下の内容は、リポジトリへの書き込み権限がある人に向けたものです。 あるページへの変更作業が完了したら、以下のようにしてその変更をリポジトリに 反映 (commit) してください。

   cvs commit <file>.wml

または

   cvs commit <dir>    (<dir> の中のすべてのファイルを commit する)

または

   cvs commit          (カレントディレクトリ以下のすべての変更を commit する)

もしそのページを最初に翻訳した場合には、 cvs commit の前に

   cvs add <file>.wml

を実行する必要があります。cvs add は再帰的ではないので、ディレクトリの内容を cvs add するよりも前にそのディレクトリ自身を cvs add しなければなりません。

CVS について詳しくは、info cvs を使ってください。

CVS 書込み権

CVS への書き込み権限を得る方法は、http://people.debian.org/~joey/misc/webwml.html に説明があります。