summaryrefslogtreecommitdiff
path: root/contrib/newcvsroot
diff options
context:
space:
mode:
authorloewis <loewis@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-11 07:01:38 +0000
committerloewis <loewis@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-11 07:01:38 +0000
commitc3b441462dce6e12aad897c236b9df0839323151 (patch)
tree2ccbf261df91e3049e17336ca0338740aa9432c1 /contrib/newcvsroot
parentdd846cb4bdbb2d07a07b0bff1b3c5946b0d30066 (diff)
downloadgcc-c3b441462dce6e12aad897c236b9df0839323151.tar.gz
New script to replace CVS/Root and CVS/Repository
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29899 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'contrib/newcvsroot')
-rwxr-xr-xcontrib/newcvsroot29
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/newcvsroot b/contrib/newcvsroot
new file mode 100755
index 00000000000..4ce13526f48
--- /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