Re: Confusing git pull error message
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 13, 2009, 20:38 UTC
- Message-ID
- <7v1vmar353.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20090912211119.GA30966@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
> I think it is enough for git-pull to just check whether the config > exists, and if so, guess that the ref was simply not fetched. IOW, > this:
Thanks.
I saw some discussion on improving the wording. Here is what I plan to commit.
diff --git a/git-pull.sh b/git-pull.sh index 0bbd5bf..2c2fa79 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -89,6 +89,8 @@ error_on_no_merge_candidates () { done curr_branch=${curr_branch#refs/heads/} + upstream=$(git config "branch.$curr_branch.merge" || + git config "branch.$curr_branch.rebase") if [ -z "$curr_branch" ]; then echo "You are not currently on a branch, so I cannot use any" @@ -96,7 +98,7 @@ error_on_no_merge_candidates () { echo "Please specify which branch you want to merge on the command" echo "line and try again (e.g. 'git pull <repository> <refspec>')." echo "See git-pull(1) for details." - else + elif [ -z "$upstream" ]; then echo "You asked me to pull without telling me which branch you" echo "want to merge with, and 'branch.${curr_branch}.merge' in" echo "your configuration file does not tell me either. Please" @@ -114,6 +116,10 @@ error_on_no_merge_candidates () { echo " remote.<nickname>.fetch = <refspec>" echo echo "See git-config(1) for details." + else + echo "Your configuration specifies to merge the ref" + echo "'${upstream#refs/heads/}' from the remote, but no such ref" + echo "was fetched." fi exit 1 }