File: newcvsroot

package info (click to toggle)
ghdl 0.26%2Bsvn98%2Bgcc4.1.2~dfsg-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 93,808 kB
  • ctags: 63,866
  • sloc: ansic: 645,601; ada: 91,832; makefile: 36,755; asm: 23,240; sh: 16,722; cpp: 3,121; perl: 685; yacc: 593; lex: 589; awk: 586; exp: 526; pascal: 86; lisp: 59
file content (36 lines) | stat: -rwxr-xr-x 854 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#! /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