2009/4/5 Markus Heidelberg <markus.heidelberg@xxxxxx>: > 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 <branch>" >> + 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 <msclrhd@xxxxxxxxx> 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 <repository> <refspec>')." - 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 = <nickname>" - echo " branch.${curr_branch}.merge = <remote-ref>" - echo " remote.<nickname>.url = <url>" - echo " remote.<nickname>.fetch = <refspec>" - 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 <repository> <refspec>')." + 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 = <nickname>" + echo " branch.${curr_branch}.merge = <remote-ref>" + echo " remote.<nickname>.url = <url>" + echo " remote.<nickname>.fetch = <refspec>" + 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 <branch>" + fi exit 1 } -- 1.6.2.2.414.g81aa.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html