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

[PATCHv3] parse-remote: handle detached HEAD

From
SBSanti Béjar <santi@agolina.net>
Date
Dec 6, 2010, 10:20 UTC
Message-ID
<1291630811-16584-1-git-send-email-santi@agolina.net>
In-Reply-To
<7vfwubtw1g.fsf@alter.siamese.dyndns.org>

get_remote_merge_branch with zero or one arguments returns the upstream branch. But a detached HEAD does no have an upstream branch, as it is not tracking anything. Handle this case testing the exit code of "git symbolic-ref -q HEAD".

Reported-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Santi Béjar <santi@agolina.net>
---
Show 6 quoted lines
> If that is the case, shouldn't we be not calling "echo" at all to begin
> with?  IOW, shouldn't the code read more like this?
>
>        curr_branch=$(git symbolic-ref -q HEAD) &&
>        test "$origin" = "$default" &&
>        echo ...

Or course, you are right. I didn't know/think about the exit code... Thanks.

Santi
 git-parse-remote.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/git-parse-remote.sh b/git-parse-remote.sh
index 5f47b18..4da72ae 100644
--- a/git-parse-remote.sh
+++ b/git-parse-remote.sh
@@ -66,7 +66,7 @@ get_remote_merge_branch () {
 	    origin="$1"
 	    default=$(get_default_remote)
 	    test -z "$origin" && origin=$default
-	    curr_branch=$(git symbolic-ref -q HEAD)
+	    curr_branch=$(git symbolic-ref -q HEAD) &&
 	    [ "$origin" = "$default" ] &&
 	    echo $(git for-each-ref --format='%(upstream)' $curr_branch)
 	    ;;
-- 
1.7.3.3.399.g0d2be.dirty
Previous: Junio C HamanoNext: Santi Béjar
Message 5 of 8 in “parse-remote: handle detached HEAD”
  1. parse-remote: handle detached HEADSanti Béjar, Dec 5, 2010
  2. Sverre RabbelierDec 5, 2010
  3. [PATCHv2] parse-remote: handle detached HEADSanti Béjar, Dec 5, 2010
  4. Junio C HamanoDec 6, 2010
  5. [PATCHv3] parse-remote: handle detached HEADSanti Béjar, Dec 6, 2010
  6. Santi BéjarDec 6, 2010
  7. Junio C HamanoDec 6, 2010
  8. Sverre RabbelierDec 6, 2010

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.