| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ファイルの改名とディレクトリ間の移動はうまくできないので、 新しいプロジェクトを始めるときには、 最初にファイルの構成をよく考えておく必要があります。 ファイルの改名や移動は、 不可能ではありませんが非常にやっかいです。 特にディレクトリの改名に関して、 CVS は癖のある動作をします (see section 7.4 ファイルの改名と移動)。
次に何をするかは、始める状況に依ります。
| 3.1 ファイルの準備 | ファイルをリポジトリに加える | |
| 3.2 モジュールの定義 | ファイルからモジュールを作る |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
始めの一歩は、リポジトリ中にファイルを生成することです。 これには幾つか異なる方法があります。
| 3.1.1 存在するファイルからディレクトリを生成する | 既存のプロジェクトに便利な方法 | |
| (既にファイルが存在する場合) | ||
|---|---|---|
| 3.1.2 他のバージョン管理システムからファイルを作成する | 古いプロジェクトの、他の システムでの履歴を保存する | |
| 3.1.3 ゼロからディレクトリを作る | ゼロからディレクトリを作成する | |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
CVS を使い始める場合に、
おそらく CVS を使用できるプロジェクトが
既に幾つかあるでしょう。
この場合 import コマンドを使用するのが最も簡単です。
例を挙げて説明します。
CVS に組み込みたいファイルが `wdir' にあり、
それを `$CVSROOT/yoyodyne/rdir' に置きたい時、
次のようにします。
$ cd wdir $ cvs import -m "Imported sources" yoyodyne/rdir yoyo start |
`-m' フラグでログ・メッセージを与えなかった場合、CVS により エディタが開かれ、メッセージの入力が促されます。文字列 `yoyo' は ベンダー・タグと呼ばれるものであり、 `start' はリリース・タグと呼ばれるもの です。この文脈では意味をなさないかもしれませんが、CVS はそれらの 存在を要求します。詳しくは See section 13. サード・パーティーのソースの追っかけ.
では実際に動作したことを確かめた後、元のソースディレクトリを削除します。
$ cd .. $ mv dir dir.orig $ cvs checkout yoyodyne/dir # 下で説明 $ diff -r dir.orig yoyodyne/dir $ rm -r dir.orig |
誤って CVS を通さないで編集してしまわないように、下のソースを削除 すると良いでしょう。もちろん削除する前に、ソースのバックアップを取るの が賢明です。
checkout コマンドはモジュールの名前 (以前の全ての例のように)、
または $CVSROOT からの相対パス (上の例のように) を引数に取りま
す。
CVS が $CVSROOT 中のディレクトリに設定した
使用許可とグループ属性が、
適切かどうか調べると良いでしょう。See section 2.2.2 ファイル使用許可.
取り込みたいファイルの中にバイナリ・ファイルが含まれる場合、 wrapper 機能を用いて、どのファイルがバイナリなのか 明示するとよいでしょう。See section C.2 cvswrappers ファイル.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
RCS 等の、 他のバージョン管理システムで保守されてきたプロジェクトがあり、 そのプロジェクトのファイルを CVS に移管する場合、 各ファイルの修正履歴の維持を望むでしょう。
RCS ファイルを CVS に移動するときに、 ロックされていてはいけません。 ロックされている場合には、CVS での操作に支障を来します。
それが駄目なら、おそらく一番良いのは他のシステムのコマンド行のインター フェースを使って一回に一つのリビジョンを取り出し、それを CVS に格 納するスクリプトを書くことでしょう。下の `sccs2rs' スクリプトはそ のために役に立つ例でしょう。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
新しいプロジェクトを始める場合、 まず次のように空のディレクトリを作ります。
$ mkdir tc $ mkdir tc/man $ mkdir tc/testing |
その後 import コマンドを使って、
リポジトリに各々の (空の) ディレクトリを登録(作成)します:
$ cd tc $ cvs import -m "Created directory structure" yoyodyne/dir yoyo start |
これは yoyodyne/dir を $CVSROOT の下にディレクトリとして追加します。
そして add コマンドで、
ファイル (と新しいディレクトリ) を加えていきます。
その時、 $CVSROOT の中のファイルの使用許可が、
正しいものかどうかを確認すると良いでしょう。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
二歩目は `modules' ファイルにモジュールの定義をする事です。 必ずしも必要ではありませんが、 関連するファイルやディレクトリをグループ化するのに便利です。
モジュールを定義する簡単な手順を示します。
$ cvs checkout CVSROOT/modules $ cd CVSROOT |
tc yoyodyne/tc |
$ cvs commit -m "Added the tc module." modules |
$ cd .. $ cvs release -d CVSROOT |
| [ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |