On Sun, Sep 9, 2019 at 4:34 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > I guess with "%(if)...%(then)...%(else)...%(end)" you might be able > to do either one of --include/--exclude without supporting the > other, e.g. "--include='%(if)%(symref)%(then)%(else)not a > symref%(end)" would be usable as "I do not want to see symrefs" in a > system that supports only "--include" without "--exclude". This has made me realize that I can get the behavior I need by using `%(if)`. Exclude symrefs: "%(if)%(symref)%(then)%(else)%(refname)%(end)" Only symrefs: "%(if)%(symref)%(then)%(refname)%(end)" However, this still prints an empty line for each ref that does not match the condition. This can be cleaned up by piping through `grep .`, but what would you think of adding a new optional flag to git-for-each-ref to prevent it from printing empty expanded format strings?