5dd235c642
Reviewed by: Japanese Online Manual Project <man-jp@jp.FreeBSD.ORG> Submitted by: Kazuo Horikawa <k-horik@yk.rim.or.jp>
365 lines
14 KiB
Groff
365 lines
14 KiB
Groff
.\" jpman %Id: cvs.5,v 1.2 1998/06/13 12:32:50 horikawa Chk %
|
|
.\" WORD: concurrent version system: コンカレントバージョンシステム [cvs.1,cvs.5]
|
|
.\" WORD: repository: (CVS の)リポジトリ [cvs.1,cvs.5]
|
|
.\" WORD: commit: (通常の文中では)コミット [cvs.1,cvs.5]
|
|
.\" WORD: check out: (通常の文中では)チェックアウト [cvs.1,cvs.5]
|
|
.\" WORD: wrapper: ラッパ
|
|
.\" WORD: newsgroup: ニュースグループ [limits.1,patch.1,init.8 のニュース]
|
|
.\" WORD: history: (CVS の) ヒストリ [cvs.1,cvs.5]
|
|
.\" WORD: template: テンプレート
|
|
.TH cvs 5 "12 February 1992"
|
|
.\" Full space in nroff; half space in troff
|
|
.de SP
|
|
.if n .sp
|
|
.if t .sp .5
|
|
..
|
|
.SH 名称
|
|
cvs \- コンカレントバージョンシステムのサポートファイル
|
|
.SH 書式
|
|
.hy 0
|
|
.na
|
|
.TP
|
|
.B $CVSROOT/CVSROOT/commitinfo,v
|
|
.TP
|
|
.B $CVSROOT/CVSROOT/cvsignore,v
|
|
.TP
|
|
.B $CVSROOT/CVSROOT/cvswrappers,v
|
|
.TP
|
|
.B $CVSROOT/CVSROOT/editinfo,v
|
|
.TP
|
|
.B $CVSROOT/CVSROOT/history
|
|
.TP
|
|
.B $CVSROOT/CVSROOT/loginfo,v
|
|
.TP
|
|
.B $CVSROOT/CVSROOT/modules,v
|
|
.TP
|
|
.B $CVSROOT/CVSROOT/rcsinfo,v
|
|
.TP
|
|
.B $CVSROOT/CVSROOT/taginfo,v
|
|
.ad b
|
|
.hy 1
|
|
.SH 解説
|
|
.B cvs
|
|
は、ソースディレクトリの階層的な集合を
|
|
管理するシステムです。
|
|
\fBcvs\fP を使う際のコマンドと手続きは
|
|
.BR cvs ( 1 )
|
|
に記述されています。
|
|
.SP
|
|
.B cvs
|
|
は、リビジョン管理されたファイルのマスタコピーを含むディレクトリである
|
|
\fIソースリポジトリ\fP を管理し、
|
|
ここから開発者の個人的な \fI作業ディレクトリ\fP へ特定のリビジョンの
|
|
ファイルをコピーしたり、作業ディレクトリから修正を採り入れたりします。
|
|
ファイルの構成という点から見ると、各ソースリポジトリは
|
|
\fB$CVSROOT\fP の直下のサブディレクトリになります。
|
|
.SP
|
|
ここで示すファイルは補助的なファイルであり、
|
|
\fBcvs\fP を利用するにあたって必須ではありませんが、
|
|
\fBcvs\fP をより柔軟に操作できるようになります。
|
|
.SP
|
|
\fBcvs\fP により管理されているソースの集合に分かり易い
|
|
名前をつけるために、`\|modules\|' を利用できます。
|
|
`\|modules\|' が存在しなければ、開発者は \fBcvs\fP コマンドで
|
|
ファイルを操作する際に完全なパス名 (絶対パスもしくは \fB$CVSROOT\fP
|
|
からの相対パス) を指定しなければなりません。
|
|
.SP
|
|
`\|\fBcvs commit\fP\|' が実行される際に常に実行されるプログラムを
|
|
定義するために、`\|commitinfo\|' ファイルを利用できます。
|
|
これらのプログラムは、修正、追加、削除されたファイルが本当に
|
|
コミットされる準備ができているかどうかをチェックする「コミット前の」
|
|
チェックとして用いられます。
|
|
このチェックを、ソースリポジトリの一部 (もしくは全体) から
|
|
特定の人やグループを除外するために利用している人もいます。
|
|
また、変更されたファイルがそのサイトのコーディング規約に
|
|
沿っているかどうかを確かめるためにも利用されるでしょう。
|
|
.SP
|
|
ファイルがリポジトリにチェックインされる時や、リポジトリから
|
|
チェックアウトされる時に使われるラッパコマンドを
|
|
.B cvs
|
|
に登録するために、
|
|
`\|cvswrappers\|' ファイルを利用できます。
|
|
ラッパは CVS に入ってくる、もしくは CVS から出ていくファイルや
|
|
ディレクトリを加工することができます。
|
|
使い方はいろいろありますが、一例としては、
|
|
ファイルがチェックインされる前に C ファイルを整形し、
|
|
リポジトリ内の全てのコードの見栄えを揃えるという用法があります。
|
|
.SP
|
|
.BR commit
|
|
後に常に実行される、
|
|
リポジトリ内の変更に関するログエントリを書き込むプログラムを定義するために、
|
|
`\|loginfo\|' ファイルを利用できます。
|
|
これらのプログラムは、ファイルにログメッセージを追加したり、
|
|
電子メールを通じて開発者のグループにログメッセージを送ったり、
|
|
特定のニュースグループにログメッセージを投稿したりするために使われます。
|
|
.SP
|
|
.BR tag
|
|
操作や
|
|
.BR rtag
|
|
操作の後で実行されるプログラムを定義するために、
|
|
`\|taginfo\|' ファイルを利用できます。
|
|
これらのプログラムは、
|
|
新しいタグ名とそのタグを作成したプログラマ名の一覧ファイルに
|
|
メッセージを追加したり、
|
|
開発者のグループにメールを送ったり、
|
|
特定のニュースグループにメッセージを投稿したりするために使われます。
|
|
.SP
|
|
ログメッセージの書式を定義するために、
|
|
`\|rcsinfo\|' ファイルを利用できます。
|
|
.SP
|
|
`\|\fBcvs commit\fP\|' のログエントリを編集・確認する際に実行する
|
|
プログラムを定義するために、
|
|
`\|editinfo\|' ファイルを利用できます。
|
|
これは `\|rcsinfo\|' の書式指定と共に用いると非常に便利であり、
|
|
変更をコミットするユーザが、書式の適切な欄を埋めていることを
|
|
チェックすることができます。
|
|
.SP
|
|
\fBupdate\fP の時に無視するデフォルトのファイル一覧を指定するために、
|
|
`\|cvsignore\|' ファイルを利用できます。
|
|
.SP
|
|
リポジトリに影響を及ぼす \fBcvs\fP コマンドを記録するために、
|
|
`\|history\|' ファイルを利用できます。
|
|
このファイルを作成するとヒストリが記録されるようになります。
|
|
.SH 関連ファイル
|
|
.TP
|
|
.B modules
|
|
`\|modules\|' ファイルは、あなたがソースコードの集合に付けた名前を記録します。
|
|
\fBcvs\fP を使って、正しい書式でファイルを
|
|
`\|\fB$CVSROOT/CVSROOT/modules,v\fP\|' にチェックインすると、
|
|
\fBcvs\fP はこれらの定義を利用するようになります。
|
|
.SP
|
|
`\|modules\|' ファイルは、モジュール定義以外にも、空行やコメント
|
|
(`\|\fB#\fP\|' から始まる行) を含むことができます。
|
|
長い行は、行の最後の文字にバックスラッシュ (``\e'') を置くことで
|
|
次の行に続けることができます。
|
|
.SP
|
|
\fIモジュール定義\fP は `\|modules\|' ファイルの単一行で、
|
|
2 つの書式があります。どちらにおいても \fImname\fP はモジュール名を
|
|
表し、行の残りはその定義になります。
|
|
.SP
|
|
\fImname\fP \fB\-a\fP \fIaliases\fP\|.\|.\|.
|
|
.br
|
|
これはモジュール \fImname\fP を定義する最も簡単な方法です。
|
|
`\|\fB\-a\fP\|' はこの定義が単なる別名 (alias) であることを示します。
|
|
\fBcvs\fP は (コマンドの引数として) \fImname\fP が使われると、
|
|
代わりに \fIaliases\fP の名前のリストが指定されたものとして扱います。
|
|
\fIaliases\fP には、他のモジュール名もしくはパスを指定します。
|
|
\fIaliases\fP にパスを指定すると、
|
|
\fBcvs\fP の引数に明示的にパスが指定した場合と同様、
|
|
`\|\fBcvs checkout\fP\|' は
|
|
作業ディレクトリへの全ての中間ディレクトリを作成します。
|
|
.SP
|
|
.nf
|
|
\fImname\fP [ \fIoptions\fP ] \fIdir\fP [ \fIfiles\fP\|.\|.\|. ] [ \fB&\fP\fImodule\fP\|.\|.\|. ]
|
|
.fi
|
|
.SP
|
|
もっとも単純な場合、この形式のモジュール定義は `\|\fImname dir\fP\|'
|
|
となります。
|
|
これはディレクトリ \fIdir\fP 内のすべてのファイルをモジュール
|
|
\fImname\fP として定義します。
|
|
\fIdir\fP は (\fB$CVSROOT\fP から、ソースリポジトリ内にある)
|
|
ソースファイルのディレクトリへの相対パスです。
|
|
この場合、\fBcheckout\fP 時には作業ディレクトリとして
|
|
\fImname\fP という単一のディレクトリのみが作成され、
|
|
\fIdir\fP が複数ディレクトリ階層を含むパスであろうと、
|
|
中間のディレクトリはデフォルトでは作成されません。
|
|
.SP
|
|
モジュール定義の \fIdir\fP の後で \fIfiles\fP を明示的に指定することで、
|
|
\fIdir\fP 内の特定のファイルを選択することができます。
|
|
\fBmodules\fP にあるサンプル定義は、あるディレクトリの
|
|
単一のファイルから定義されるモジュールの例となっています。
|
|
ここでは別の例を示します:
|
|
.SP
|
|
.nf
|
|
.ft B
|
|
m4test unsupported/gnu/m4 foreach.m4 forloop.m4
|
|
.ft P
|
|
.fi
|
|
.SP
|
|
この定義では、`\|\fBcvs checkout m4test\fP\|' を実行すると、
|
|
単一階層の作業ディレクトリ `\|m4test\|' が作成され、
|
|
\fBcvs\fP ソースリポジトリ内の深い階層のディレクトリにある、
|
|
指定された 2 つのファイルが置かれます。
|
|
.SP
|
|
モジュール定義中に `\|\fB&\fP\fImodule\fP\|' と書くことによって、
|
|
他のモジュールを参照することができます。
|
|
\fBcheckout\fP 時には、作業ディレクトリ内に各 \fImodule\fP 毎の
|
|
ディレクトリが作成されます。
|
|
.br
|
|
.I
|
|
\fBcvs\fP 1.3 の新機能;
|
|
モジュール定義ファイルを古いバージョンの \fBcvs\fP と共有する場合は、
|
|
この機能は使わないでください。
|
|
.SP
|
|
そして、モジュール定義に以下の \fIoptions\fP を加えることができます:
|
|
.SP
|
|
\&`\|\fB\-d\fP \fIname\fP\|', モジュール名ではなく、他の名前を
|
|
作業ディレクトリの名前として用います。
|
|
.br
|
|
.I
|
|
\fBcvs\fP 1.3 の新機能;
|
|
モジュール定義ファイルを古いバージョンの \fBcvs\fP と共有する場合は、
|
|
この機能は使わないでください。
|
|
.SP
|
|
\&`\|\fB\-i\fP \fIprog\fP\|' を用いると、モジュール内のファイルが
|
|
コミットされたときに実行されるプログラム \fIprog\fP を指定できます。
|
|
\fIprog\fP は、ソースリポジトリ内の影響を受けるディレクトリへの
|
|
フルパスを単一引数として受け取ります。
|
|
\fBコミット\fP 時にプログラムを実行するためには、
|
|
`\|commitinfo\|', `\|loginfo\|', `\|editinfo\|' ファイルを使う方法もあります。
|
|
.SP
|
|
`\|\fB\-o\fP \fIprog\fP\|' を用いると、モジュール内のファイルが
|
|
チェックアウトされたときに実行されるプログラム \fIprog\fP を指定できます。
|
|
\fIprog\fP は、モジュール名を単一引数として受け取ります。
|
|
.SP
|
|
`\|\fB\-e\fP \fIprog\fP\|' を用いると、モジュール内のファイルが
|
|
エクスポート (export) されたときに実行される
|
|
プログラム \fIprog\fP を指定できます。
|
|
\fIprog\fP は、モジュール名を単一引数として受け取ります。
|
|
.SP
|
|
`\|\fB\-t\fP \fIprog\fP\|' を用いると、モジュール内のファイルに
|
|
タグが付けられたときに実行されるプログラム \fIprog\fP を指定できます。
|
|
\fIprog\fP は、
|
|
モジュール名と \fBrtag\fP で指定されたシンボリックタグの 2 つを
|
|
引数として受け取ります。
|
|
.SP
|
|
`\|\fB\-u\fP \fIprog\fP\|' を用いると、チェックアウトされたモジュールの
|
|
トップディレクトリにて `\|\fBcvs update\fP\|' が用いられたときに
|
|
実行されるプログラム \fIprog\fP を指定できます。
|
|
\fIprog\fP は、このモジュールのソースリポジトリへのフルパスを
|
|
単一引数として受け取ります。
|
|
.TP
|
|
\&\fBcommitinfo\fP, \fBloginfo\fP, \fBrcsinfo\fP, \fBeditinfo\fP
|
|
これらのファイルは全て、`\|\fBcvs commit\fP\|' 処理の間の
|
|
様々な場面で呼び出されるプログラムを指定します。
|
|
これらのファイルは共通の構造を持ちます。
|
|
各行は、次の 2 つのフィールドを持ちます: すなわち、
|
|
正規表現と、
|
|
空白の後にファイル名かコマンド行のテンプレートです。
|
|
正規表現の 1 つがリポジトリ内のディレクトリ名にマッチすると、
|
|
行の残りが使われます。
|
|
行が文字 \fB#\fP で始まっている場合、コメントとして無視されます。
|
|
フィールド間の空白も無視されます。
|
|
.SP
|
|
`\|loginfo\|' では、行の残りは実行されるコマンド行の
|
|
テンプレートとなります。
|
|
テンプレートはプログラム名だけでなく、
|
|
好きなだけ引数を付けることもできます。
|
|
引数リストのどこかに `\|\fB%s\fP\|' を指定すると、
|
|
\fBcvs\fP はその場所に \fBコミット\fP により影響を受ける
|
|
ファイルリストを列挙します。
|
|
リストの最初のエントリは、
|
|
ソースリポジトリ内の変更が行われる位置への相対パスです。
|
|
リストの残りは、この \fBコミット\fP により修正・追加・削除される
|
|
ファイルとなります。
|
|
.SP
|
|
`\|taginfo\|' では、行の残りは実行されるコマンド行の
|
|
テンプレートとなります。
|
|
コマンドに渡される引数は、順番に
|
|
.I タグ名
|
|
、
|
|
.I 操作
|
|
(すなわち、
|
|
.B add
|
|
は `tag' を、
|
|
.B mov
|
|
は `tag -F' を、
|
|
.B del
|
|
は `tag -d` をそれぞれ意味します)、
|
|
.I リポジトリ
|
|
となり、残りは全て
|
|
.B ファイル名
|
|
と
|
|
.B リビジョン
|
|
の組となります。
|
|
フィルタプログラムが 0 以外を返して終了すると、タグ処理は中断されます。
|
|
.SP
|
|
`\|commitinfo\|' では、行の残りは実行されるコマンド行の
|
|
テンプレートとなります。
|
|
テンプレートはプログラム名だけでなく、
|
|
好きなだけ引数を付けることもできます。
|
|
テンプレートには現在のソースリポジトリへのフルパスが付け加えられ、
|
|
コミットにより (追加・削除・修正など) 影響をおよぼされる
|
|
ファイルのファイル名が続きます。
|
|
.SP
|
|
`\|rcsinfo\|' では、行の残りはログメッセージ用のテンプレートへ
|
|
読み込まれるファイルへのフルパスです。
|
|
.SP
|
|
`\|editinfo\|' では、行の残りは実行されるコマンド行の
|
|
テンプレートとなります。
|
|
テンプレートはプログラム名だけでなく、
|
|
好きなだけ引数を付けることもできます。
|
|
現在のログメッセージ用テンプレートファイルへのフルパスが
|
|
最後に追加されます。
|
|
.SP
|
|
正規表現の代わりに、以下の 2 つのうちどちらかの特殊文字列
|
|
を使うことができます:
|
|
`\|\fBALL\fP\|' では常に実行されるコマンド行テンプレート
|
|
を指定し、
|
|
`\|\fBDEFAULT\fP\|' ではどの正規表現にもマッチしなかったときに
|
|
用いられるコマンド行テンプレートを指定します。
|
|
.SP
|
|
`\|commitinfo\|' ファイルには、
|
|
他の \fBコミット\fP 操作が行われる \fI前に\fP 実行されるコマンドを指定し、
|
|
\fBコミット\fP が行われる前に満たすべき状況をチェックするために
|
|
利用できます。
|
|
\fBコミット\fP 操作の残りは、このファイルで指定されたコマンド全てが
|
|
終了ステータス \fB0\fP で終了したときにのみ続行されます。
|
|
.SP
|
|
`\|rcsinfo\|' ファイルにより、\fBコミット\fP のログ作成の際の
|
|
\fIログ用テンプレート\fP を指定できます。
|
|
このテンプレートの書式を埋めていくだけで、\fBコミット\fP ログを
|
|
作成できるようになります。
|
|
このファイルでは、正規表現より後のフィールドはコマンドテンプレートではなく、
|
|
ログ用テンプレート書式ファイル (複数可) のファイル名となります。
|
|
.SP
|
|
`\|editinfo\|' ファイルにより、\fIコミットが開始する前\fP で
|
|
ログ情報が記録された後の段階で実行されるスクリプトを指定できます。
|
|
これらの「編集」スクリプトは、
|
|
ログファイルに記録された情報を確認することができます。
|
|
編集スクリプトが 0 以外の終了ステータスを返した場合、コミットは中断されます。
|
|
.SP
|
|
`\|loginfo\|' ファイルにより、コミットの \fI最終段階\fP で実行される
|
|
コマンドを指定できます。
|
|
コミットログメッセージとして指定されたテキストはコマンドにパイプされます:
|
|
よくある用法としては、メールを送る、ニュースグループの記事とする、
|
|
中央ファイルに追加書き込みするというものがあります。
|
|
.TP
|
|
\&\fBcvsignore\fP, \fB.cvsignore\fP
|
|
`\|\fBcvs update\fP\|' 中に無視されるデフォルトのファイル (もしくは
|
|
.BR sh ( 1 )
|
|
のファイル名パターン) のリストです。
|
|
まず最初に、\fBcvs\fP はコンパイル時に組み込まれたデフォルトの
|
|
ファイル名パターンのリストを読み込みます (
|
|
.BR cvs ( 1 )
|
|
を参照)。
|
|
その後、\fB$CVSROOT/CVSROOT/cvsignore\fP ファイルが存在すれば、
|
|
その中のリポジトリ毎のリストを読み込みます。
|
|
そして、`\|$HOME/.cvsignore\|' にあるユーザ毎のリストを読み込みます。
|
|
最後に、\fBcvs\fP はディレクトリを辿る時に
|
|
ディレクトリ中に `\|.cvsignore\|' ファイルがあれば、それを読み込みます。
|
|
これらのディレクトリ毎のファイルは、それを含むディレクトリにのみ
|
|
有効で、サブディレクトリには作用しません。
|
|
.TP
|
|
.B history
|
|
ヒストリを記録するには \fB$CVSROOT/CVSROOT\fP にこのファイルを作成します
|
|
(詳細は `\|\fBcvs history\fP\|' の記述を参照)。
|
|
.SH 関連項目
|
|
.BR cvs ( 1 ),
|
|
.SH COPYING
|
|
Copyright \(co 1992 Cygnus Support, Brian Berliner, and Jeff Polk
|
|
.PP
|
|
Permission is granted to make and distribute verbatim copies of
|
|
this manual provided the copyright notice and this permission notice
|
|
are preserved on all copies.
|
|
.PP
|
|
Permission is granted to copy and distribute modified versions of this
|
|
manual under the conditions for verbatim copying, provided that the
|
|
entire resulting derived work is distributed under the terms of a
|
|
permission notice identical to this one.
|
|
.PP
|
|
Permission is granted to copy and distribute translations of this
|
|
manual into another language, under the above conditions for modified
|
|
versions, except that this permission notice may be included in
|
|
translations approved by the Free Software Foundation instead of in
|
|
the original English.
|