#!/bin/sh

find . -type d -name CVS -print |
    while read dir
    do
	[ -s $dir/Root ] || continue
	root=$(<$dir/Root)
	case $root in
	    :pserver:anonymous@puffin.external.hp.com:/home/cvs/parisc)
	    	newroot=:pserver:anonymous@cvs.parisc-linux.org:/var/cvs;;
	    :ext:*@puffin.external.hp.com:/home/cvs/parisc)
		user=${root#:ext:}
		user=${user%@puffin.external.hp.com:/home/cvs/parisc}
		newroot=:ext:$user@cvs.parisc-linux.org:/var/cvs;;
	    *@puffin.external.hp.com:/home/cvs/parisc)
		user=${root%@puffin.external.hp.com:/home/cvs/parisc}
		newroot=$user@cvs.parisc-linux.org:/var/cvs;;
	    puffin.external.hp.com:/home/cvs/parisc)
	        newroot=cvs.parisc-linux.org:/var/cvs;;
	    /home/parisc/cvs)
	    	newroot=cvs.parisc-linux.org:/var/cvs;;
	    :pserver:anonymous@pehc:/home/cvs/parisc)
	    	newroot=:pserver:anonymous@cvs.parisc-linux.org:/var/cvs;;
	    :ext:*@pehc:/home/cvs/parisc)
	        newroot=cvs.parisc-linux.org:/var/cvs
		user=${root#:ext:}
		user=${user%@pehc:/home/cvs/parisc}
		newroot=:ext:$user@cvs.parisc-linux.org:/var/cvs;;
	    pehc:/home/cvs/parisc)
	        newroot=cvs.parisc-linux.org:/var/cvs;;
	    /home/parisc/cvs)
	    	newroot=cvs.parisc-linux.org:/var/cvs;;
	    *cvs.parisc-linux.org*)
	    	newroot=$root
		;;
	    *) echo -e "\nCannot fix $dir/Root ($root)" >&2
	    	continue;;
	esac

	cp $dir/Root $dir/Root.pehc
	echo $newroot > $dir/Root
	echo -e ".\c"
	
	[ -s $dir/Repository ] || continue
	repository=$(<$dir/Repository)
	mv $dir/Repository $dir/Repository.pehc
	repository=${repository#/home/cvs/parisc/}
	echo $repository > $dir/Repository
    done
echo
