ここでは、:ext を使用して、SSH 経由で repository を使用しています。 普段は laptop で編集を行い、CVS で commit すると web server の 内容も更新されます。 以下が行った command です。
cvs -d $HOME/cvsroot init
cd $HOME/public_html && cvs import -m "Initial revision" wwwdocs web start
cd && cvs -d $HOME/cvsroot co wwwdocs
cd && rm -r ~/public_html && mv wwwdocs public_html
ここまでで、repository の設定は終わりです。実際は、3と4の間に
import がちゃんとできているかどうかを確認しています。4の代わりに
cvs -d $HOME/cvsroot co -d public_html wwwdocsとやっても
良いのですが、同じことなので mv で済ませています。この後は client
で作業をします。
まずは SSH での接続を設定します。私は以下のような内容の script を ~/bin/cvs-sodan として置いています。 XEmacs の CVSで使用しているもの を変えただけです。
#!/bin/sh
exec env CVS_RSH=ssh cvs -w -z3 -d :ext:penny@sodan.org:/home/penny/cvsroot ${1+"$@"}
commit 時に自動的に update されるように CVSROOT を checkout して
cvs-sodan co CVSROOT を実行してから、
CVSROOT/loginfo に以下の行を追加します。これは Info の
Node, Keeping a checked out copy に書かれています。
^wwwdocs (date; cat; (sleep 2; cd $HOME/public_html; cvs -q update -d) &) >> $HOME/cvsroot/CVSROOT/updatelog 2>&1
そしてcvs-sodan commit -m "Add auto update script" CVSROOT
で commit をします。ここまでできたら、後は普通に
cvs-sodan co wwwdocs で working copy を local に作業コピーを
commit をするだけです。