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

Re: [PATCHv1 2/2] git-p4: work with a detached head

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 9, 2015, 21:52 UTC
Message-ID
<xmqqfv2n5khe.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<1441461738-25066-3-git-send-email-luke@diamand.org>
Luke Diamand <luke@diamand.org> writes:
Show 7 quoted lines
>      def run(self, args):
>          if len(args) == 0:
>              self.master = currentGitBranch()
> -            if len(self.master) == 0 or not gitBranchExists("refs/heads/%s" % self.master):
> -                die("Detecting current git branch failed!")
> +            if self.master == "undefined":
> +                self.master = None

The comparison with textual "undefined" smelled fishy and I ended up looking at the implementation of currentGitBranch().

    def currentGitBranch():
        return read_pipe("git name-rev HEAD").split(" ")[1].strip()

Yuck. I know it is not entirely the fault of this patch, but shouldn't it be reading from

    $ git symbolic-ref HEAD

and catch the error "fatal: ref HEAD is not a symbolic ref" and use it as a signal to tell that the HEAD is detached?

Previous: Luke DiamandNext: Luke Diamand
Message 4 of 12 in “[PATCHv1 0/2] git-p4: work on a detached head”
  1. Luke DiamandSep 5, 2015
  2. 1/2 git-p4: add failing test for submit from detached headLuke Diamand, Sep 5, 2015
  3. 2/2 git-p4: work with a detached headLuke Diamand, Sep 5, 2015
  4. Junio C HamanoSep 9, 2015
  5. Luke DiamandSep 10, 2015
  6. Junio C HamanoSep 10, 2015
  7. Junio C HamanoOct 28, 2015
  8. Luke DiamandOct 28, 2015
  9. Lars SchneiderSep 9, 2015
  10. Jacob KellerSep 10, 2015
  11. Jacob KellerSep 10, 2015
  12. Luke DiamandSep 10, 2015

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.