G'day. Debian recently released git 1.6.3 to unstable, so it has just landed on my desk, and a change in the output of 'git branch' listings is causing one of the front-ends I use to fail.
In previous versions, in a git-svn repository, I got this output to 'git branch -a':
,----[ git 1.6.2 and earlier ] | ] git branch -a | * master | tags/16-1 | tags/18-1 | tags/19-2 | trunk `----
Now, in 1.6.3, I see two different output formats:
,----[ git 1.6.3 ] | ] git branch -a | * master | remotes/tags/16-1 | remotes/tags/18-1 | remotes/tags/19-2 | remotes/trunk | ] git branch -r | tags/16-1 | tags/18-1 | tags/19-2 | trunk `----
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.
Regards,
DanielFootnotes: [1] http://thread.gmane.org/gmane.comp.version-control.git/110564/focus=110616