Karthik Nayak <karthik.188@xxxxxxxxx> writes: > I'm working on porting over the printing options of ref-filter to `git > branch -l`. > This is a follow up to > http://article.gmane.org/gmane.comp.version-control.git/276377 > > Theres a slight issue with this which I'd like to discuss about. > > When we use `-a` option in `git branch -l` > It lists local branches and remotes with each having a different output format. > This with reference to ref-filter would mean either > > 1. Change format in between local and remote refs I thought the end result of consolidation would be for for-each-ref, branch -l, and tag -l to be "first collect what to show, and then show them according to a single format given". How could it be possible to switch format? It's not even like each element collected in the first phase is marked so that the second "display" phase know which one is which. > 2. Have a format like %(if)...local check....%(then)....local branch > format....%(else)....remote format %(end). That, if we had a working if/then/else/end, would be a good demonstration of it. If this were only for internal use by "branch -l", it might be overkill, but the end users with for-each-ref --format options would want to do the same thing as built-in patterns, so it is a good goal to aim at. > I prefer the latter, but that might lead to a large format. Any suggestions? A less ambitious option might be: 3. Invent "%(refname:<some magic>)" format similar to %(refname:short) but does your thing depending on the prefix refs/heads/ and refs/remotes/. but that will not work if the difference between local and remote format is not merely textual (e.g. paint them in different color). -- 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