[ruby-dev:6696] Re: CVSup (Re: RUBYLIB_PREFIX)
From:
Yasuhiro Fukuma <yasuf@...>
Date:
1999-04-30 14:53:29 UTC
List:
ruby-dev #6696
福間@福岡 です。
記事 <14121.11277.654900.72159A@studly.private.netlab.co.jp> にて、
Shugo Maeda <shugo@netlab.co.jp> さんは書きました:
> > |そういえば CVSup は使えるようになったんだっけ?
> >
> > それってなんでしょう? ^^;;;
>
> 例のModule-3で書いてあったやつです。
> バイナリパッケージを拾ってきてはいるのですが、使い方がわからなく
> てほったらかしになっています(^_^;
勝手なお願いをしておきながら、実はわたしもサーバを動かしたことは
なかったのですが、せっかくの機会なのでちょっと試してみました。
1. /usr/local/etc/cvsup というディレクトリを作る。
2. そのディレクトリで、同封の ruby-cvsup.shar を、環境変数 CVSROOT に
RubyのCVS repository rootを設定した状態で展開する。
ちなみに sup/ 以下にある各ディレクトリがcollectionの名前、
collection-name/releases の各行の先頭の単語が、それぞれのcollectionの
release名になります。各行の list= で指定されているのがlistファイルで、
転送の対象になるファイル群を指定します。
3. cvsupdを起動する。
# cvsupd -C 20 -l /var/log/cvsupd.log
-C の引数は同時に接続可能なクライアントの数。このオプションを指定
しないと、最初のセッションを実行したあとに終了してしまうので注意。
クライアント側ですが、例えば最新の Ruby 1.3 を取って来る場合は
1. /usr/local/etc/cvsup というディレクトリを作る。
2. 以下のような設定ファイルを、例えば ruby-1.3.supfile という名前で
作成する。
# 各行の書式は collection-name [option[=value] ...]
#
# ひとつのsupfileで複数のcollectionを指定することも可能。
# 特別なcollection名 "*default" は、それ以降のオプションの
# デフォルト値を設定する。
#
# base: CVSupの base ディレクトリ
# (デフォルトは /usr/local/etc/cvsup)
#
# compress: データを圧縮してやりとりする
#
# delete: 不要なファイルを削除する
# (CVSupの知らない--ユーザが独自に作成した--ファイルを
# 勝手に削除することはない)
#
# use-rel-suffix: なにか神秘的なおまじない:) cf. cvsup(1)
#
# release: release名
#
# host: CVSupサーバ
#
# prefix: 転送先ディレクトリのprefix
#
# tag: CVSのタグ名
*default base=/usr/local/etc/cvsup
*default compress delete use-rel-suffix
*default release=cvs
*default host=cvs.netlab.co.jp
*default prefix=/usr/local/src
*default tag=ruby_1_3
ruby
mod_ruby などでメインの枝(HEAD branch)の最新版を取り出したい場合は
tag=. としてください。
tag=tagname の代わりに date=[cc]yy.mm.dd.hh.mm.ss というのを指定
すれば、指定された時点のsnapshotを取ってくることもできます。
もちろん tag=v1_2_5 などとすることも可能。
また、tag も date も指定されていなければ、ある時点のsnapshotを
checkoutするのではなく、RCSファイルそのものが転送されます。
$CVSROOT 以下全てのrepositoryを取ってくるにはこんな感じ:
*default compress delete use-rel-suffix
*default release=cvs
*default host=cvs.netlab.co.jp
*default prefix=/usr/local/cvs
cvs-all
あとはlocalで
$ cvs -d /usr/local/cvs co -r ruby_1_3 ruby
などとして取り出すなり、CVSwebで探検するなりご自由に。
3. CVSupを起動する。
# cvsup ruby-1.3.supfile
NAT越しのホストからなどで、うまくサーバと通信できない場合は、
-P - としてpassive mode にするとうまくいくようです。また、m3socks
というツールを使えばSOCKSが使えるようになるみたいです(このへんよく
分かってません(__))。
4. Go ボタン(三角形のやつ)を押す。
crontabに仕掛けて毎日同期させたいなど、GUIが不要な場合は
# cvsup -g -L 2 ruby-1.3.supfile
のように -g を付けてください。
という感じでしょうか。あとは
cvsup(1)
cvsupd(1)
http://www.polstra.com/projects/freeware/CVSup/
http://www.jp.freebsd.org/www.freebsd.org/ja/handbook/synching.html#CVSUP
あたりを参照、ということで。
---
Yasuhiro Fukuma (福間 康弘) as Yasu.F @ Kitakyushu.Fukuoka.Japan
Web site: http://www8.big.or.jp/~yasuf/
“InterNIC is NOT NSI!”
Attachments (1)
ruby-cvsup.shar
(3.98 KB, text/plain)
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# sup
# sup/cvs-all
# sup/cvs-all/releases
# sup/cvs-all/list.cvs
# sup/ruby
# sup/ruby/releases
# sup/ruby/list.cvs
# sup/cmail
# sup/cmail/releases
# sup/cmail/list.cvs
# sup/mod_ruby
# sup/mod_ruby/releases
# sup/mod_ruby/list.cvs
# sup/ruby-man
# sup/ruby-man/releases
# sup/ruby-man/list.cvs
# sup/ruby-man-jp
# sup/ruby-man-jp/releases
# sup/ruby-man-jp/list.cvs
# prefixes
# prefixes/Ruby.cvs
#
: ${RUBY_CVSROOT="$CVSROOT"}
echo c - sup
mkdir -p sup > /dev/null 2>&1
echo c - sup/cvs-all
mkdir -p sup/cvs-all > /dev/null 2>&1
echo x - sup/cvs-all/releases
sed 's/^X//' >sup/cvs-all/releases << END-of-sup/cvs-all/releases
Xcvs list=list.cvs prefix=prefixes/Ruby.cvs keywordprefix=${RUBY_CVSROOT} norsync
END-of-sup/cvs-all/releases
echo x - sup/cvs-all/list.cvs
sed 's/^X//' >sup/cvs-all/list.cvs << 'END-of-sup/cvs-all/list.cvs'
Xupgrade CVSROOT
Xupgrade cmail
Xupgrade mod_ruby
Xupgrade ruby
Xupgrade ruby-man
Xupgrade ruby-man-jp
Xomitany */#cvs.*
Xomitany CVSROOT/.#*
Xomitany */,*
Xomitany */.nfs*
Xomitany */core
Xomitany *.core
Xomitany */CVS
END-of-sup/cvs-all/list.cvs
echo c - sup/ruby
mkdir -p sup/ruby > /dev/null 2>&1
echo x - sup/ruby/releases
sed 's/^X//' >sup/ruby/releases << END-of-sup/ruby/releases
Xcvs list=list.cvs prefix=prefixes/Ruby.cvs keywordprefix=${RUBY_CVSROOT} super=cvs-all
END-of-sup/ruby/releases
echo x - sup/ruby/list.cvs
sed 's/^X//' >sup/ruby/list.cvs << 'END-of-sup/ruby/list.cvs'
Xupgrade ruby
Xomitany */#cvs.*
Xomitany */,*
Xomitany */.nfs*
Xomitany */core
Xomitany *.core
Xomitany */CVS
END-of-sup/ruby/list.cvs
echo c - sup/cmail
mkdir -p sup/cmail > /dev/null 2>&1
echo x - sup/cmail/releases
sed 's/^X//' >sup/cmail/releases << END-of-sup/cmail/releases
Xcvs list=list.cvs prefix=prefixes/Ruby.cvs keywordprefix=${RUBY_CVSROOT} super=cvs-all
END-of-sup/cmail/releases
echo x - sup/cmail/list.cvs
sed 's/^X//' >sup/cmail/list.cvs << 'END-of-sup/cmail/list.cvs'
Xupgrade cmail
Xomitany */#cvs.*
Xomitany */,*
Xomitany */.nfs*
Xomitany */core
Xomitany *.core
Xomitany */CVS
END-of-sup/cmail/list.cvs
echo c - sup/mod_ruby
mkdir -p sup/mod_ruby > /dev/null 2>&1
echo x - sup/mod_ruby/releases
sed 's/^X//' >sup/mod_ruby/releases << END-of-sup/mod_ruby/releases
Xcvs list=list.cvs prefix=prefixes/Ruby.cvs keywordprefix=${RUBY_CVSROOT} super=cvs-all
END-of-sup/mod_ruby/releases
echo x - sup/mod_ruby/list.cvs
sed 's/^X//' >sup/mod_ruby/list.cvs << 'END-of-sup/mod_ruby/list.cvs'
Xupgrade mod_ruby
Xomitany */#cvs.*
Xomitany */,*
Xomitany */.nfs*
Xomitany */core
Xomitany *.core
Xomitany */CVS
END-of-sup/mod_ruby/list.cvs
echo c - sup/ruby-man
mkdir -p sup/ruby-man > /dev/null 2>&1
echo x - sup/ruby-man/releases
sed 's/^X//' >sup/ruby-man/releases << END-of-sup/ruby-man/releases
Xcvs list=list.cvs prefix=prefixes/Ruby.cvs keywordprefix=${RUBY_CVSROOT} super=cvs-all
END-of-sup/ruby-man/releases
echo x - sup/ruby-man/list.cvs
sed 's/^X//' >sup/ruby-man/list.cvs << 'END-of-sup/ruby-man/list.cvs'
Xupgrade ruby-man
Xomitany */#cvs.*
Xomitany */,*
Xomitany */.nfs*
Xomitany */core
Xomitany *.core
Xomitany */CVS
END-of-sup/ruby-man/list.cvs
echo c - sup/ruby-man-jp
mkdir -p sup/ruby-man-jp > /dev/null 2>&1
echo x - sup/ruby-man-jp/releases
sed 's/^X//' >sup/ruby-man-jp/releases << END-of-sup/ruby-man-jp/releases
Xcvs list=list.cvs prefix=prefixes/Ruby.cvs keywordprefix=${RUBY_CVSROOT} super=cvs-all
END-of-sup/ruby-man-jp/releases
echo x - sup/ruby-man-jp/list.cvs
sed 's/^X//' >sup/ruby-man-jp/list.cvs << 'END-of-sup/ruby-man-jp/list.cvs'
Xupgrade ruby-man-jp
Xomitany */#cvs.*
Xomitany */,*
Xomitany */.nfs*
Xomitany */core
Xomitany *.core
Xomitany */CVS
END-of-sup/ruby-man-jp/list.cvs
echo c - prefixes
mkdir -p prefixes > /dev/null 2>&1
echo l - prefixes/Ruby.cvs -\> "$RUBY_CVSROOT"
ln -sf "$RUBY_CVSROOT" prefixes/Ruby.cvs > /dev/null 2>&1
exit