[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ファイルの改名とディレクトリ間の移動はうまくできないので、 新しいプロジェクトを始めるときには、 最初にファイルの構成をよく考えておく必要があります。 ファイルの改名や移動は、 不可能ではありませんが非常にやっかいです。 特にディレクトリの改名に関して、 CVS は癖のある動作をします (see section ファイルの改名と移動)。
次に何をするかは、始める状況に依ります。
3.1 ファイルの準備 | ||
3.2 モジュールの定義 |
始めの一歩は、リポジトリ中にファイルを生成することです。 これには幾つか異なる方法があります。
3.1.1 存在するファイルからディレクトリを生成する | ||
3.1.2 他のバージョン管理システムからファイルを作成する | ||
3.1.3 ゼロからディレクトリを作る |
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 サード・パーティーのソースの追っかけ.
では実際に動作したことを確かめた後、元のソースディレクトリを削除します。
$ 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 ファイル使用許可.
取り込みたいファイルの中にバイナリ・ファイルが含まれる場合、 wrapper 機能を用いて、どのファイルがバイナリなのか 明示するとよいでしょう。See section cvswrappers ファイル.
RCS 等の、 他のバージョン管理システムで保守されてきたプロジェクトがあり、 そのプロジェクトのファイルを CVS に移管する場合、 各ファイルの修正履歴の維持を望むでしょう。
RCS を使用してきた場合、RCS ファイルを見付けて下さい-- 通常 `foo.c' という名前のファイルには、 `RCS/foo.c,v' という RCS ファイルが対応します (他の場所にあるかもしれませんので、 詳細は RCS の文書を調べて下さい)。 次に、CVS リポジトリに適当なディレクトリを作成して下さい。 そして CVS リポジトリの当該ディレクトリに、 ファイルをコピーして下さい (リポジトリ中のファイル名は、 ソース・ファイルに `,v' が付加されたものでなくてはならず、 またファイルは `RCS' サブディレクトリではなく、 当該ディレクトリに直接置いて下さい)。 この例のように、CVS コマンドを利用せず、 CVS リポジトリを直接利用するほうが適当な場合が稀にあります。 以上で作業コピーを新たに取り出す準備ができました。
RCS ファイルを CVS に移動するときに、 ロックされていてはいけません。 ロックされている場合には、CVS での操作に支障を来します。
多くのバージョン管理システムは、 標準形式の RCS ファイルを出力する機能を持っています。 これが可能ならば、RCS ファイルを出力して、 前項の説明に従って下さい。
それが駄目なら、おそらく一番良いのは他のシステムのコマンド行のインター フェースを使って一回に一つのリビジョンを取り出し、それを CVS に格 納するスクリプトを書くことでしょう。下の `sccs2rs' スクリプトはそ のために役に立つ例でしょう。
CVS のソース配布物の中の `contrib' ディレクトリの中に、 `sccs2rcs' という名前のスクリプトがあります。 これを用いて SCCS ファイルを RCS ファイルに変換できます。 注意: SCCS と RCS の両方を持つマシンで実行する必要があり、 また `contrib' 内の他の全てと同様に動作保証はされません (使用者によって評価は異なるでしょう)。
CVS のソース配布物の中の `contrib' ディレクトリの中に、 `pvcs_to_rcs' という名前のスクリプトがあります。 これを用いて PVCS アーカイブを RCS ファイルに変換できます。 PVCS と RCS のあるマシンで実行する必要があり、 また `contrib' 内の他の全てと同様に動作保証はされません (使用者によって評価は異なるでしょう)。 詳細はスクリプト中のコメントを読んでください。
新しいプロジェクトを始める場合、 まず次のように空のディレクトリを作ります。
$ mkdir tc $ mkdir tc/man $ mkdir tc/testing |
その後 import
コマンドを使って、
リポジトリに各々の (空の) ディレクトリを登録(作成)します:
$ cd tc $ cvs import -m "Created directory structure" yoyodyne/dir yoyo start |
そして add
コマンドで、
ファイル (と新しいディレクトリ) を加えていきます。
その時、 $CVSROOT
の中のファイルの使用許可が、
正しいものかどうかを確認すると良いでしょう。
二歩目は `modules' ファイルにモジュールの定義をする事です。 必ずしも必要ではありませんが、 関連するファイルやディレクトリをグループ化するのに便利です。
モジュールを定義する簡単な手順を示します。
ファイル modules の作業コピーを取ってきます。
$ cvs checkout CVSROOT/modules $ cd CVSROOT |
ファイルを編集し、モジュールの定義を加えます。 導入は See section 管理用ファイルの紹介. 詳細な記述は The modules file 参照。 モジュール `tc' を定義するには次の行を加えます:
tc yoyodyne/tc |
modules ファイルに変更を格納します。
$ cvs commit -m "Added the tc module." modules |
モジュール modules をリリースします。
$ cd .. $ cvs release -d CVSROOT |
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Akihiro Sagawa on June, 15 2005 using texi2html 1.70.