From: Yasuhiro Fukuma Date: 1999-04-30T23:53:29+09:00 Subject: [ruby-dev:6696] Re: CVSup (Re: RUBYLIB_PREFIX) ----Next_Part(Fri_Apr_30_23:51:15_1999_809)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 福間@福岡 です。 記事 <14121.11277.654900.72159A@studly.private.netlab.co.jp> にて、 Shugo Maeda さんは書きました: > > |そういえば 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!” ----Next_Part(Fri_Apr_30_23:51:15_1999_809)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=ruby-cvsup.shar # 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 ----Next_Part(Fri_Apr_30_23:51:15_1999_809)----