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

Re: git branch -a now reports 'remotes/foo' rather than 'foo'?

From
Jay Soffian <jaysoffian@gmail.com>
Date
May 11, 2009, 05:26 UTC
Message-ID
<76718490905102226w4cda3a75l5062e1956129dc87@mail.gmail.com>
In-Reply-To
<87skjcpeno.fsf@rimspace.net>
On Sun, May 10, 2009 at 10:16 PM, Daniel Pittman <daniel@rimspace.net> wrote:
Show 25 quoted lines
> The front-end I am using looks for a 'trunk' branch by name in the
> output of 'git branch -a', which historically worked.  Now, though, it
> shows that fully qualified.
>
> Looking at the release notes it looks like this was a deliberate change,
> from this entry:
>
> * "git-branch -r" shows HEAD symref that points at a remote branch in
>  interest of each tracked remote repository.
>
> However, that isn't unambiguously clear about the change, and is pretty
> light on the "why" parts.  Worse, the only discussion I can find about
> the change suggests that this was noticed, and there wasn't real clarity
> about the background.
>
> (See Jeff King under "[PATCH 1/2] add basic branch display tests" at [1]
>  for the details.)
>
>
> I confess, to me, that having 'git branch -a' and 'git branch -r' emit
> different values doesn't make much sense, but I suppose the upstream
> code can be adapted.
>
> I wanted to confirm that this was a deliberate change before I went to
> the trouble or rewriting the front-end code however.

Yes, the change was deliberate. Commit 209d336 (builtin-branch: improve output when displaying remote branches, 2009-02-13) has more details:

    When displaying local and remote branches, prefix the remote branch
    names with "remotes/" to make the remote branches clear from the local
    branches. If displaying only the remote branches, the prefix is not
    shown since it would be redundant.

When you fix your front-end, I suggest you stop parsing git branch's output. It is a so-called porcelain command, as opposed to a plumbing command, and so its output is subject to change. You probably want to use the for-each-ref command instead.

j.
Previous: Daniel PittmanNext: Daniel Pittman
Message 2 of 3 in “git branch -a now reports 'remotes/foo' rather than 'foo'?”
  1. Daniel PittmanMay 11, 2009
  2. Jay SoffianMay 11, 2009
  3. Daniel PittmanMay 11, 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.