git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Running 'git pull' from an unnamed branch

From
RDReece Dunn <msclrhd@googlemail.com>
Date
Apr 5, 2009, 22:15 UTC
Message-ID
<3f4fd2640904051515x797e10b5ia20543f207084a60@mail.gmail.com>
In-Reply-To
<200904052342.44856.markus.heidelberg@web.de>
2009/4/5 Markus Heidelberg <markus.heidelberg@web.de>:
Show 21 quoted lines
> 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.
Show 8 quoted lines
>> +     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@gmail.com>
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
Previous: Markus HeidelbergNext: Markus Heidelberg
Message 4 of 12 in “Running 'git pull' from an unnamed branch”
  1. Reece DunnApr 5, 2009
  2. Sverre RabbelierApr 5, 2009
  3. Markus HeidelbergApr 5, 2009
  4. Reece DunnApr 5, 2009
  5. Markus HeidelbergApr 5, 2009
  6. Björn SteinbrinkApr 5, 2009
  7. Reece DunnApr 5, 2009
  8. Junio C HamanoApr 6, 2009
  9. Reece DunnApr 6, 2009
  10. Björn SteinbrinkApr 6, 2009
  11. Reece DunnApr 6, 2009
  12. Markus HeidelbergApr 6, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.