X-Git-Url: https://snippets.scripts.mit.edu/gitweb.cgi/Scripts/git/.git/blobdiff_plain/82262a5c1cd4acdc57056c4325f2b0557e9800c7..refs/heads/master:/git-rcsimport diff --git a/git-rcsimport b/git-rcsimport index 80714d8..4b06a00 100755 --- a/git-rcsimport +++ b/git-rcsimport @@ -12,11 +12,14 @@ if [ ! -d "$dir/RCS" ]; then exit 1 fi -tmpdir=`mktemp -d` -mkdir "$tmpdir/CVSROOT" -mkdir "$tmpdir/locks" +tmpdir=`mktemp -d -t git-rcsimport-XXXXXXXXXX` +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=`cd "$dir"; pwd` +(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"