[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cvs-ml 438] RE: directoryのみのexport
こんな状況だと理解しました。
開発機 : ライブラリ管理機 : 実機
: :
+-----------+ : +--------------+ :
| Project | : +-->|CVS-Repository| :
| working | : | +--------------+ :
| directory | : (3)| :
+-----------+ : | +--------+ :
| : +---|entry |<--+ :
| : +--------+ | :
| : | :
| (1) : +--------+ |(2) : +-------+
+--------------------->|ftp |---+ (4): | |
: +--------+------------------>+-------+
: | :
: V(5) :
: +--------+ :
: |recovery| :
: +--------+ :
1. 開発者は配布したいファイルを変更分のみ置く
2. ライブラリ管理者がcommit用ディレクトリにコピー
3. ライブラリ管理者がcommitする
4. ftpをつかって配備する
5. 障害発生時のときのためのバックアップを作成する
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
やはり配布イメージをリポジトリからとってきてないのは
CVSを使う意味が半減するので、以下のような構成を考えてみました。
(単なる思い付きなので運用実績はありません。)
開発機 : ライブラリ管理機 : 実機
: :
+-----------+ : +-------------------+ :
| Project | : | Master-Repository |<--(4)
| working | : +-------------------+ :
| directory | : A | :
+-----------+ : | V(5) :
| : | +------------+ (6) +--------+
|(1) : | | dist-image |-------->| |
V : (3)| +------------+ : +--------+
+------------+ : | :
| Project | (2) : +-------------------+ :
| Repository |---------->| working directory | :
+------------+ : +-------------------+ :
1. 開発者はプロジェクト毎のリポジトリにcommitする。
ファイルには$Name$や$Id$を埋め込んでおくとよい。
2. ライブラリ管理者はリリース計画に基づき
開発機のリポジトリから(配布すべき)ライブラリを引っぱってくる。
% cvs -d :ext:librarian@develo_machine checkout project
3. cvs importでライブラリ管理用のリポジトリに登録する。
この時点でライブラリの品質は確認済であるとする。
4. タグをつける。
% cvs -d /master/repository rtag REL-20000223 project
5. 配布イメージを作成する。
% cvs checkout -r REL-20000223 -d dist-image project
6. sitecopy <http://www.lyra.org/sitecopy/>あるいは
rsync <http://rsync.samba.org/rsync/>
をつかって変更のあったファイルだけを転送する。
もちろんtar+ftpでも問題なし。
プロジェクトのリポジトリとライブラリのリポジトリを分けてますが
これは開発者はライブラリのレポジトリをさわらないほうが
お互いやりやすいかなぁ程度のつもりです。なので
この2つのリポジトリは一本化してもよいです。
--
KOIE Hidetaka 鯉江英隆 <hide@koie.org>