New script to replace CVS/Root and CVS/Repository

From-SVN: r29899
This commit is contained in:
Martin v. Löwis 1999-10-11 07:01:38 +00:00
parent b5d6a85051
commit f4ae3f9bf1

29
contrib/newcvsroot Executable file
View File

@ -0,0 +1,29 @@
#! /usr/bin/env bash
# Written by Roland McGrath <roland@gnu.org>
# Replaces all CVS/Root and CVS/Repository files in a checked-out CVS
# tree. Requires shell with # and % variable substitution (e.g. bash).
# Usage: newcvsroot <newroot> <modulename> <toplevel directory>
root=$1; shift
module=$1; shift
topdir=$1; shift
rep=${root##*:}
case "$topdir" in
/*|./*|../*) echo >&2 "$0 wants relative path from top of checkout"; exit 1;;
esac
find $topdir \( -name Repository -o -name Root \) -print | while read f; do
case "$f" in
*/CVS/Root) echo $root > $f ;;
*/CVS/Repository)
r=${module}${f#${topdir}}
echo > $f $rep/${r%/CVS/Repository}
;;
esac
done