[ English | Japanese ] [ 地球流体電脳倶楽部 / 惑星大気モデル DCPAM ] [ ディレクトリ管理の手引き / SIGEN ]

DCPAM CVS リポジトリ作成メモ

以下は, DCPAM の CVS リポジトリを作成した際のメモ書きである.

CVS に関する情報源

CVS のポリシーや設定, 使い方に関する情報に関しては CVS に関するメモ を参照のこと.

以下の書籍も参考となる.

前提

リポジトリを作成するホストには CVS ソフトウェアが入っている 必要がある.

Debian GNU/Linux であれば cvs パッケージをインストールすれば良い.

ポリシー

  1. DCPAM のリポジトリはホスト www.gfd-dennou.org/GFD_Dennou_Club/ftp/arch/dcpam/cvsroot に作成する.
  2. DCPAM のリポジトリ内のファイルを編集可能なのは, www.gfd-dennou.org にアカウントを持ち (ssh で www.gfd-dennou.org にログインでき), dcpam グループに入っているユーザのみとする.
  3. 開発中は内部に大幅な変更が加わり, ディレクトリ構造なども どんどん変化することが考えられるため, プロジェクト名として 始めから「dcpam」を使わず, 「dcpam0」, 「dcpam1」, 「dcpam2」 を用いる. 大きく変更があり, 以前のものが邪魔になって来たら 古いプロジェクトは捨て, 新しいプロジェクトを立ち上げてそちらで 開発をおこなう.
  4. コミット時には dcpam グループにメールを送信する.
  5. DCPAM のリポジトリ内のテキストデータの日本語文字コードは EUC とする. (単にプラットフォームが Linux で, その標準文字コードが EUC であるという理由に基づいているのみである).
  6. 上記と同様に, commit 時のログメッセージに関しても, 英字または EUC の日本語のみとする.

CVS リポジトリ作成

※ 以下のリポジトリ作成に関しては一回こっきりで良いため, 既に作成済みである場合には下の プロジェクト開始 へ行って欲しい.

DCPAM の CVS リポジトリは www.gfd-dennou.org の /GFD_Dennou_Club/ftp/arch/dcpam/cvsroot に作成する. そのためにはまず www.gfd-dennou.org へログインする.

$ ssh www.gfd-dennou.org

ログインしたら /GFD_Dennou_Club/ftp/arch/dcpam/ まで移動する.

$ cd /GFD_Dennou_Club/ftp/arch/dcpam/

ここで cvs コマンドを実行すれば cvsroot を作成可能であるが, グループでの開発であることを考え, 作成するファイルのグループが dcpam となるように, そしてグループに書き込み権限を与えるように グループと環境変数を変更する.

$ sg dcpam
$ umask 002

現在のグループは id コマンドで, umask は umask コマンドで知ることが できる. 準備が出来たら以下のコマンドを実行する.

$ cvs -d /GFD_Dennou_Club/ftp/arch/dcpam/cvsroot init

これで cvsroot ディレクトリが作成されたはずである.

グループ書き込み許可の設定

上記で umask などの設定をおこなったものの, s ビットを立てるなど, パーミッションの設定が必要となる. また cvs init コマンドで 作成したディレクトリやファイルの中にはグループ書き込み権限が 無いものもあるので, 以下で設定する.

プロジェクト開始

既にプロジェクトも開始されており, その上で作業を行う場合には, 日常の作業を参考のこと.

プロジェクトを開始するには, まず環境変数を設定する. 環境変数 CVSROOT と, www.gfd-dennou.org へのアクセス方法を指定する 環境変数 CVS_RSH を設定する. (これらを指定しなくともコマンドに直接指定する方法もある).

$ export CVSROOT=:ext:www.gfd-dennou.org:/GFD_Dennou_Club/ftp/arch/dcpam/cvsroot
$ export CVS_RSH=ssh

なお, www.gfd-dennou.org 内で作業をおこなう場合には

$ export CVSROOT=/GFD_Dennou_Club/ftp/arch/dcpam/cvsroot

のみでも構わない.

次に, プロジェクトとして含むファイル群の位置まで移動する. 仮に /home/morikawa/dcpam 以下にプロジェクトのソース, ドキュメントなど全て含めて置いてあるならば, まず そこへ移動する.

$ cd /home/morikawa/dcpam

ここで cvs import コマンドを実行するとカレントディレクトリを先頭 として全てのファイルがインポートされる. 余計なファイルは全て 消しておくこと. ( .*** ファイルは ls では見えないので ls -a で ちゃんと探すこと).

掃除が終ったらプロジェクトを開始させる. 開始は以下のコマンドでおこなう.

$ cvs import -m \
  "DCPAM (Dennou Club Planetary Atmospheric Model) \
   Version 0 (Tentative Version)" dcpam0 dcpam Initial
                   ↑               ↑     ↑    ↑
                 コメント   プロジェクト名 | リリースタグ
                                 ||        |
                            ディレクトリ名 |
                                          ベンダー

「No conflicts created by this import」 というような メッセージが出れば, インポート成功.

プロジェクトのパーミッションの確認

プロジェクトのディレクトリのパーミッションを確認しておく.

$ ssh www.gfd-dennou.org
$ cd /GFD_Dennou_Club/ftp/arch/dcpam/cvsroot
$ ls -l
drwxrwsr-x    3 morikawa dcpam          53  8月 31 19:40 dcpam0/

上記のようにグループが dcpam で権限が rws の場合は問題ない. もしそうでないのなら, 以下のコマンドでグループとパーミッションを 変更すること.

$ chgrp dcpam dcpam0
$ chmod g+s dcpam0
$ chmod g+w dcpam0

なお, もしも dcpam0 が上記のようなパーミッションになっていなかった 場合, それよりも下層ディレクトリのパーミッションもそれと同様な 可能性がある. それらに関してもグループとパーミッションを設定すること.

※ プロジェクト以下にある「ファイル」に関しては (グループは dcpam である必要があるが) パーミッションは -r--r--r-- で問題ない. cvs コマンドを介せば, 正しく commit, add, remove などが可能である.

CVS リポジトリのカスタマイズ

ポリシー の 4 〜 6 に従い, CVS リポジトリのカスタマイズを行う. それぞれ, CVS に関するメモ の以下の項目を参考のこと.

また, バイナリファイルの一部が CVS キーワードとして誤って置換されて しまわないよう, 以下の作業も行う.

日常の作業

リポジトリの作成とプロジェクトの作成が既になされている場合には, それらを用いて cvs チェックアウト, 作業コピーでのプログラムの作成や改変, cvs コミットなどを行うこととなる. 作業を始める前に環境変数を以下のように設定する.

$ export CVSROOT=:ext:www.gfd-dennou.org:/GFD_Dennou_Club/ftp/arch/dcpam/cvsroot
$ export CVS_RSH=ssh

これ以降の作業については, 以下を参考のこと.


DCPAM Development Group / GFD Dennou Staff dcstaff@gfd-dennou.org
Last Updated: 2009/03/25, Since: 2004/08/31