diff options
author | Martin v. Löwis <loewis@gcc.gnu.org> | 1999-10-11 07:01:38 +0000 |
---|---|---|
committer | Martin v. Löwis <loewis@gcc.gnu.org> | 1999-10-11 07:01:38 +0000 |
commit | f4ae3f9bf1745edb976ea56f300e3fecb067af10 (patch) | |
tree | 2ccbf261df91e3049e17336ca0338740aa9432c1 /contrib/newcvsroot | |
parent | b5d6a850510e446c0ebbda4b352495ab86d13446 (diff) | |
download | gcc-f4ae3f9bf1745edb976ea56f300e3fecb067af10.zip gcc-f4ae3f9bf1745edb976ea56f300e3fecb067af10.tar.gz gcc-f4ae3f9bf1745edb976ea56f300e3fecb067af10.tar.bz2 |
New script to replace CVS/Root and CVS/Repository
From-SVN: r29899
Diffstat (limited to 'contrib/newcvsroot')
-rwxr-xr-x | contrib/newcvsroot | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/newcvsroot b/contrib/newcvsroot new file mode 100755 index 0000000..4ce1352 --- /dev/null +++ b/contrib/newcvsroot @@ -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 |