updating your CVS setup

Francois-Rene Rideau fare@bespin.cx
Wed, 24 Mar 1999 22:49:54 +0100


Thanks Tril for spending time making bespin a better server for Tunes.

> I also updated the tunes page.  Announced a server (software) upgrade on
> the main page, and changed collaboration.html slightly: no ftp2 exists
> currently, and the new CVSROOT should end with @cvs.tunes.org:/cvs).

Here is a series of zsh functions to update your former CVS dump.
Worked for me, anyway, so I thought I might share...

BACKUPDIR=/tmp

fullname () { for i ; do case "$i" in /*) echo $i ;; *) echo $PWD/$i ;;
esac ; done }

repl () {(
  eval "prog=($1)" ; shift
  eval "FILES=($1)" ; shift
  for i in $FILES ; do
    j="${BACKUPDIR}/$(fullname $i | perl -npe 's,/,!,g ; chop' )~" &&
    $prog $@ < $i > $j &&
    (cmp -s $j $i || =cp $j $i)
  done
#  [[ -f "$j" ]] && =rm -f $j
)}

new_tunes_cvs_address () {
      repl perl '**/CVS/*' -npe '
	s,/usr/local/lib/cvs/rep1,/cvs, ;
	s,bespin[.a-z]*\:,cvs.tunes.org:, ;'
}

[ "Faré" | VN: Уng-Vû Bân | Join the TUNES project!   http://www.tunes.org/  ]
[ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ]
[ Reflection&Cybernethics  | Project for  a Free Reflective  Computing System ]
In a five year period we can get one superb programming language.
Only we can't control when the five year period will begin. -- Alan Perlis