git-rcsimport: Import RCS directories in subdirectories, too.
[snippets/.git] / git-rcsimport
1 #!/bin/sh
2 # This is a trivial wrapper around git-cvsimport.
3
4 dir="$1"
5 shift
6 if [ -z "$dir" ]; then
7   echo "Usage: git-rcsimport path/to/dir"
8   exit 1
9 fi
10 if [ ! -d "$dir/RCS" ]; then
11   echo "$dir/RCS does not exist."
12   exit 1
13 fi
14
15 tmpdir=`mktemp -d`
16 mkdir "$tmpdir/CVSROOT" "$tmpdir/locks" "$tmpdir/rcs"
17 echo "LockDir=$tmpdir/locks" > "$tmpdir/CVSROOT/config"
18 absdir=`readlink -f "$dir"`
19 (cd "$absdir"; find -name RCS -type d) | while read dir; do
20     rcsdir=$tmpdir/rcs/$(dirname "$dir")
21     mkdir -p "$rcsdir"
22     ln -s "$absdir/$dir"/* "$rcsdir"
23 done
24 CVSROOT="$tmpdir" git cvsimport "$@" rcs
25 rm -r "$tmpdir"