Thread (7 messages) flat view 7 messages, 4 authors, 2016-06-15

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>"
+     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 <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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help