gcc/contrib/newcvsroot
Daniel Berlin 1b9f940b0c gcc_update: Update for svn.
2005-10-28  Daniel Berlin  <dberlin@dberlin.org>
	    Ben Elliston <bje@au1.ibm.com>
	
	* gcc_update: Update for svn.
	* newcvsroot: Ditto.
	* gcc_build: Ditto.

Co-Authored-By: Ben Elliston <bje@au.ibm.com>

From-SVN: r105933
2005-10-28 14:44:48 +00:00

37 lines
854 B
Bash
Executable File

#! /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>
if [ $# != 3 ]; then
echo "Note to svn users: use svn switch --relocate instead."
echo
echo "usage: `basename $0` <newroot> <modulename> <toplevel directory>"
exit 1
fi
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