mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-25 05:28:59 +08:00
30 lines
664 B
Plaintext
30 lines
664 B
Plaintext
|
#! /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
|