git-commit-vandalism/git-cvsimport-script
Tommy M. McGuire 861cb6f02c [PATCH] git cvsimport sanity checking
This patch adds some sanity checking to git-cvsimport-script,
specifically forcing the use of cvsps -x (to get the latest information
from the repository, rather than whatever is in the cache) and aborting
early if cvsps does not produce any output.

I debated removing the $MODULE directory following an abort, but I
eventually decided leaving stuff behind would make debugging easier.  On
the other hand, this patch should help with the "cvsimport left me with
an empty repository" complaints.

Call cvsps with the -x flag, to get the current state of the repository,
and abort the cvs import early if cvsps does not produce any output.

Signed-off-by: Tommy McGuire <mcguire@crsr.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-12 20:48:18 -07:00

28 lines
569 B
Bash
Executable File

#!/bin/sh
ARGS=""
if [ "$1" == "-v" ]; then
ARGS=$1
shift
fi
export CVSROOT="$1"
export MODULE="$2"
if [ ! "$CVSROOT" ] || [ ! "$MODULE" ] ; then
echo "Usage: git cvsimport <cvsroot> <module>"
exit 1
fi
cvsps -h 2>&1 | grep -q "cvsps version 2.1" >& /dev/null || {
echo "I need cvsps version 2.1"
exit 1
}
mkdir "$MODULE" || exit 1
cd "$MODULE"
TZ=UTC cvsps -x -A $MODULE > .git-cvsps-result
[ -s .git-cvsps-result ] || exit 1
git-cvs2git $ARGS --cvsroot="$CVSROOT" --module="$MODULE" < .git-cvsps-result > .git-create-script || exit 1
sh .git-create-script