On Wed, Mar 31, 2010 at 1:26 PM, layer <layer@xxxxxxxxx> wrote: > In git 1.6.6.1 & 1.6.3.3, "git branch -a" output is like this > > * master > remotes/origin/foo > ... > > instead of like this for 1.6.1.3 > > * master > origin/foo > ... > > Is this a feature or bug? I searched the mailing list archives and > announcements couldn't find any reference to this change. Feature. Introduced in 1.6.3: http://article.gmane.org/gmane.comp.version-control.git/116404 See "builtin-branch: improve output when displaying remote branches" > This is important to me because I use the output of "git branch -a" in > scripts. > > I should add that the scripts are merely testing for the existence of > remote tracking branches in the local repo. If there's a better way > to do this, I'm game. Thanks. git branch is a so-called porcelain command, and as you've now been bitten by, the output of porcelain's is subject to change. You probably want git for-each-ref. Aside, the only list of plumbing vs porcelain commands I'm aware of is in the bash-completion script under contrib. See __git_list_porcelain_commands here: http://git.kernel.org/?p=git/git.git;a=blob;f=contrib/completion/git-completion.bash Those are generally commands whose output you do not want to be parsing. All the other git commands installed under git-core are mostly plumbing upon which you can build additional functionality. (Note to git list: there should be a man page that has a single-line summary of each command and states whether the command is plumbing or porcelain. Maybe there is and I just don't know it.) j. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html