This series ports over branch.c to use ref-filter APIs
This is the last part of unification of 'git branch -l', 'git tag -l'
and 'git for-each-ref'.
There are a few topics worth discussing here :
1. [7/9] This ensures that when we use the "%(upstream:track)" atom we
print "[gone]" for upstreams which are invalid. We either implement
this and try to mimic what branch.c does when we use the verbose
option or we can drop this in branch.c.
2. [8/9] The usage of get_format() function in branch.c which provides
us the needed format for printing. This seems overly complex to the
uninitiated as it uses a complex atom combinations to mimic the
existing branch printing format.
Karthik Nayak (9):
ref-filter: implement %(if), %(then), and %(else) atoms
ref-filter: implement %(if:equals=<string>) and
%(if:notequals=<string>)
ref-filter: add support for %(path) atom
ref-filter: modify "%(objectname:short)" to take length
ref-filter: adopt get_head_description() from branch.c
ref-filter: introduce format_ref_array_item()
ref-filter: make %(upstream:track) prints "[gone]" for invalid
upstreams
branch: use ref-filter printing APIs
branch: implement '--format' option
Documentation/git-branch.txt | 7 +-
Documentation/git-for-each-ref.txt | 32 ++++-
builtin/branch.c | 262 ++++++++++---------------------------
ref-filter.c | 250 +++++++++++++++++++++++++++++++----
ref-filter.h | 3 +
t/t3203-branch-output.sh | 11 ++
t/t6040-tracking-info.sh | 12 +-
t/t6300-for-each-ref.sh | 24 +++-
t/t6302-for-each-ref-filter.sh | 105 +++++++++++++++
9 files changed, 480 insertions(+), 226 deletions(-)
--
2.6.0
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html