summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-09-13 13:38:48 -0700
committerJunio C Hamano <gitster@pobox.com>2009-09-22 22:26:27 -0700
commita6dbf8814f433a7fbfa9cde6333c98019f6db1e4 (patch)
tree2574d638b867d669fbeeab5912335fee8d54ee1e
parent3ddcb1981ba24a45c555152ecbd32b945c32a211 (diff)
downloadgit-1.6.5-rc2.tar.gz
pull: Clarify "helpful" message for another corner casev1.6.5-rc2
When the remote branch we asked for merging did not exist in the set of fetched refs, we unconditionally hinted that it was because of lack of configuration. It is not necessarily so, and risks sending users for a wild goose chase. Make sure to check if that is indeed the case before telling a wild guess to the user. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-pull.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/git-pull.sh b/git-pull.sh
index 0bbd5bf7df..edf3ce33bf 100755
--- a/git-pull.sh
+++ b/git-pull.sh
@@ -89,6 +89,7 @@ error_on_no_merge_candidates () {
done
curr_branch=${curr_branch#refs/heads/}
+ upstream=$(git config "branch.$curr_branch.merge")
if [ -z "$curr_branch" ]; then
echo "You are not currently on a branch, so I cannot use any"
@@ -96,7 +97,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 +115,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
}