Re: Running 'git pull' from an unnamed branch
From: Reece Dunn <hidden>
Date: 2016-06-15 22:46:33
Subsystem:
the rest · Maintainer:
Linus Torvalds
2009/4/5 Markus Heidelberg [off-list ref]:
Reece Dunn, 05.04.2009:quoted
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.
quoted
+ 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>" + echoNot 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 <redacted> 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