From: Reece Dunn Date: Sun, 05 Apr 2009 22:15:40 GMT Subject: Re: Running 'git pull' from an unnamed branch Message-ID: <3f4fd2640904051515x797e10b5ia20543f207084a60@mail.gmail.com> In-Reply-To: <200904052342.44856.markus.heidelberg@web.de> 2009/4/5 Markus Heidelberg : > Reece Dunn, 05.04.2009: >> Hi, >> >> Here is something I have just recently tripped up on. >> >> $ git pull >> >> [..] >> >> $ git branch >> * (no branch) >>   master >> >> Running `git checkout master && git pull` fixed the above issue. The >> patch below improves the error message for users that are in this >> state. >> >> Also, is "branch..remote" valid? Should this be "branch.remote"? > > The current branch has no name, so there is nothing between the two > dots. For clarification: branch.(no branch).remote Ok. I see now. >> +     echo "You may not be on a branch. In this case, you need to move" >> +     echo "onto the branch you want to pull to (usually master):" >> +     echo "    git checkout " >> +     echo > > Not being on a branch is not the general case when you receive this > message. Maybe determining if you are not on a branch and adjusting the > message acordingly is an option. So, something like: From 59e8b71be1585a3a6c8c1233811c19ef0022b3e5 Mon Sep 17 00:00:00 2001 From: Reece Dunn Date: Sun, 5 Apr 2009 23:15:03 +0100 Subject: [PATCH] Improve the message when pulling to a headless branch. --- git-pull.sh | 40 +++++++++++++++++++++++----------------- 1 files changed, 23 insertions(+), 17 deletions(-) diff --git a/git-pull.sh b/git-pull.sh index 8a26763..f263c04 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -90,23 +90,29 @@ error_on_no_merge_candidates () { curr_branch=${curr_branch#refs/heads/} - 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" - echo "name which branch you want to merge on the command line and" - echo "try again (e.g. 'git pull ')." - echo "See git-pull(1) for details on the refspec." - echo - echo "If you often merge with the same branch, you may want to" - echo "configure the following variables in your configuration" - echo "file:" - echo - echo " branch.${curr_branch}.remote = " - echo " branch.${curr_branch}.merge = " - echo " remote..url = " - echo " remote..fetch = " - echo - echo "See git-config(1) for details." + if [ -n "$curr_branch" ]; 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" + echo "name which branch you want to merge on the command line" + echo "and try again (e.g. 'git pull ')." + echo "See git-pull(1) for details on the refspec." + echo + echo "If you often merge with the same branch, you may want to" + echo "configure the following variables in your configuration" + echo "file:" + echo + echo " branch.${curr_branch}.remote = " + echo " branch.${curr_branch}.merge = " + echo " remote..url = " + echo " remote..fetch = " + echo + echo "See git-config(1) for details." + else + echo "You may not be on a branch. In this case, you need to" + echo "move to the branch you want to pull to (usually master):" + echo " git checkout " + fi exit 1 } -- 1.6.2.2.414.g81aa.dirty