[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ファイルの改名とディレクトリ間の移動はうまくできないので、 新しいプロジェクトを始めるときには、 最初にファイルの構成をよく考えておく必要があります。 ファイルの改名や移動は、 不可能ではありませんが非常にやっかいです。 特にディレクトリの改名に関して、 CVS は癖のある動作をします (see section ファイルの改名と移動)。
次に何をするかは、始める状況に依ります。
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 サード・パーティーのソースの追っかけ.
では実際に動作したことを確かめた後、元のソースディレクトリを削除します。
$ 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 ファイル.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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’ 内の他の全てと同様に動作保証はされません (使用者によって評価は異なるでしょう)。 詳細はスクリプト中のコメントを読んでください。
[ < ] | [ > ] | [ << ] | [ 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] | [ ? ] |
This document was generated by Yasutaka SHINDOH on August 8, 2010 using texi2html 1.82.