contrib/subtree: better error handling for 'subtree add'

Check refspecs for validity before passing them on to other commands.
This lets us generate more helpful error messages.

Signed-off-by: David A. Greene <greened@obbligato.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
David A. Greene 2013-02-04 22:06:03 -06:00 committed by Junio C Hamano
parent a5b8e28e4e
commit 10a49587fa
1 changed files with 9 additions and 3 deletions

View File

@ -497,12 +497,18 @@ cmd_add()
ensure_clean
if [ $# -eq 1 ]; then
git rev-parse -q --verify "$1^{commit}" >/dev/null ||
die "'$1' does not refer to a commit"

"cmd_add_commit" "$@"
elif [ $# -eq 2 ]; then
git rev-parse -q --verify "$2^{commit}" >/dev/null ||
die "'$2' does not refer to a commit"

"cmd_add_repository" "$@"
else
say "error: parameters were '$@'"
die "Provide either a refspec or a repository and refspec."
die "Provide either a commit or a repository and commit."
fi
}