Re: [PATCH 4/7] contrib/subtree: Better Error Handling for add
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 8, 2013, 18:45 UTC
- Message-ID
- <7v7gnneco2.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1357646997-28675-5-git-send-email-greened@obbligato.org>
"David A. Greene" <greened@obbligato.org> writes:
Show 21 quoted lines
> 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"Where do these uneven indentation come from? Is it mimicking existing breakage in the script?
Show 14 quoted lines
> +
> + "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
> }