cvs による deepconv ソース開発の手引き

  • 小高正嗣
    • 2005/06/14 (小高正嗣) 新規作成

この文書は cvs を用いた deepconv ソース開発の手引である. 日常の開発作業を行う上で必要なコマンドを解説する.

開発ホストでの作業: 基本編

準備;

  • cvs がインストールされているかどうかを確認.
  • 環境変数 CVSROOT を以下のように指定する.

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

リモート環境で行う場合は

$ export CVS_RSH=ssh
$ export CVSROOT=username@dennou-k.gfd-dennou.org:/GFD_Dennou_Club/ftp/arch/deepconv/cvsroot

とする.

checkout

cvsroot から当該モジュールを展開する場合, 作業ディレクトリにおいて

$ cvs checkout (プロジェクト名)

とする(これははじめの 1 回だけ). これにより src 以下のファイルが作成される.

commit

はじめに環境変数 CVSEDITOR を指定しておく.

$ export CVSEDITOR="emacs -nw"

変更内容を cvsroot に反映させる場合, arare0/ ディレクトリ内で

$ cvs commit 

とする. CVSEDITOR で指定したエディタが起動されるので, コメントを書く. コメントの書き方は dcmodel cvs log 書法の手引 にしたがうこと.

日本語入力は euc コードを使うこと(後述の コミットメッセージの漢字コード設定 を参照).

update

作業領域に展開しているモジュールを最新版にそろえる場合, arare0/ ディレクトリ内で

$ cvs update 

とする.

add

新たにファイルを追加作成した場合,

$ cvs add newfile
$ cvs commit newfile

add した後 commit を忘れないこと. ディレクトリを追加する場合には commit はいらない.

remove

ファイル/ディレクトリを削除する場合,

$ cvs remove -f delfile   
$ cvs commit 

tag

一日の作業が終わったら必ずタグを貼る.

$ cvs tag '(プロジェクト名)-YYYYMMDD'

タグの付け方については dcmodel 2007/07/18 付けメモ および モデルプロジェクト CVS タグ付けの手引 および

を参照する.

開発ホストでの作業: ブランチ編

ブランチソースの checkout

本線(トランク)ソースのチェックアウト + update コマンドで行う.

$ cvs checkout (プロジェクト名)
$ cvs update -r (ブランチタグ名)

ブランチからトランクに戻るには

$ cvs update -A

とする.

一度 update -r すると update -A しないかぎりブランチのソースツリーで の作業となるので注意すること.

2005/06/14 現在, arare3 におけるブランチタグ名は

  arare3j	木星テスト版
  arare3m	火星テスト版

の 2 つである.

以下ではブランチのソースツリーで作業していることを仮定する.

ブランチソースの commit

トランクソースの場合と同様に行う. commit を参照.

ブランチソースの update

$ cvs update -r (ブランチタグ名)

とする.

ブランチソースの add

トランクソースの場合と同様に行う. add を参照.

ブランチソースの remove

トランクソースの場合と同様に行う. remove を参照.

ブランチソースの tag

トランクソースの場合と同様に行う. tag を参照.

開発ホストでの作業: マージ編

ここではトランクとブランチ, ブランチ間でのソースの統合(マージ)の手順に ついて解説する. この作業はトランクと複数のブランチに共通のファイルのバ グを修正する場合などで必要となる.

準備

まず自分の作業するソースツリーがトランクなのかブランチなのかを確認する. トランクで作業するなら

$ cvs updata -A

ブランチで作業するなら

$ cvs updata -r (ブランチタグ名)

とする.

ブランチの変更をトランクへ反映させる

ブランチ (arare3j) の変更をトランク (arare3) に反映させる場合の手順は, 以下の通りである.

$ cvs tag arare3j-20050614			(arare3j ソースにタグを貼る)
$ cvs update -A 				(arare3 ソースに移る)
$ cvs diff -c -r arare3j-20050614 <ファイル名>	(差分をチェック)
$ cvs update -j arare3j-20050614 <ファイル名>	(変更点を反映させファイル更新)
$ cvs commit <ファイル名>			(arare3 へ commit)

ファイル名を省略すると作業ディレクトリ以下の全てのファイルについて, 差分のチェックとファイル更新, commit を行うことになる.

トランクの変更をブランチへ反映させる

トランク (arare3) の変更をブランチ (arare3j) に反映させる場合の手順は, ブランチの変更をトランクへ反映させる場合の手順と同様である.

$ cvs tag arare3-20050614			(arare3 ソースにタグを貼る)
$ cvs update -r arare3j 			(arare3j ソースに移る)
$ cvs diff -c -r arare3-20050614 <ファイル名>	(差分をチェック)
$ cvs update -j arare3-20050614 <ファイル名>	(変更点を反映させファイル更新)
$ cvs commit <ファイル名>			(arare3j へ commit)

ブランチ間 (arare3j, arare3m) の変更を反映させる場合の手順も同様である.

参考文献