[PATCH 4/7] contrib/subtree: Better Error Handling for add
- From
David A. Greene <greened@obbligato.org>
- Date
- Jan 8, 2013, 12:09 UTC
- Message-ID
- <1357646997-28675-5-git-send-email-greened@obbligato.org>
- In-Reply-To
- <1357646997-28675-1-git-send-email-greened@obbligato.org>
From: "David A. Greene" <greened@obbligato.org>
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> --- contrib/subtree/git-subtree.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh index cac0680..d53eaee 100755 --- a/contrib/subtree/git-subtree.sh +++ b/contrib/subtree/git-subtree.sh @@ -508,12 +508,18 @@ cmd_add() ensure_clean if [ $# -eq 1 ]; then - "cmd_add_commit" "$@" + git rev-parse -q --verify "$1^{commit}" >/dev/null || + die "'$1' does not refer to a commit" + + "cmd_add_commit" "$@" elif [ $# -eq 2 ]; then - "cmd_add_repository" "$@" + 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 }
-- 1.7.10.4