]> snippets.scripts.mit.edu Git - Scripts/git/.git/commitdiff
git-rcsimport: Import RCS directories in subdirectories, too.
authorGeoffrey Thomas <geofft@mit.edu>
Sat, 22 Aug 2009 03:12:23 +0000 (23:12 -0400)
committerGeoffrey Thomas <geofft@mit.edu>
Sat, 22 Aug 2009 03:12:23 +0000 (23:12 -0400)
Signed-off-by: Geoffrey Thomas <geofft@mit.edu>
git-rcsimport

index 80714d84f3e39a740f38bf0b0997f52749154716..33bff05c1beaddd08dd71e60096c40ca881c6a31 100755 (executable)
@@ -13,10 +13,13 @@ if [ ! -d "$dir/RCS" ]; then
 fi
 
 tmpdir=`mktemp -d`
-mkdir "$tmpdir/CVSROOT"
-mkdir "$tmpdir/locks"
+mkdir "$tmpdir/CVSROOT" "$tmpdir/locks" "$tmpdir/rcs"
 echo "LockDir=$tmpdir/locks" > "$tmpdir/CVSROOT/config"
-ln -s "`readlink -f "$dir"`/RCS" "$tmpdir/RCS"
-CVSROOT="$tmpdir" git cvsimport RCS "$@"
-rm "$tmpdir/RCS" # a bit paranoid about rm -r's competence
+absdir=`readlink -f "$dir"`
+(cd "$absdir"; find -name RCS -type d) | while read dir; do
+    rcsdir=$tmpdir/rcs/$(dirname "$dir")
+    mkdir -p "$rcsdir"
+    ln -s "$absdir/$dir"/* "$rcsdir"
+done
+CVSROOT="$tmpdir" git cvsimport "$@" rcs
 rm -r "$tmpdir"