This series incorporates and replaces all the "tag" patches I have floating around the list, and adds a lot in the mix which discovered while working on the initial two patches, but which made sense as separate patches. It's based no top of Jeff's gitster/jk/ref-filter-flags-cleanup. I'm bundling this all together because a lot of these patches touch the exact same code, and in other cases subsequent patches make use of test suite improvements I made earlier in the series. So although some could be split out entirely (e.g. the --point-at patch), I'd like to just present them all for review together & split out any if there's strong objections to basing them on top of each other. I think this series changes addresses all the points brought up by Junio/Jeff about my previous patches, except there's no extensive discussion of how the filtering mechanism works in general as pointed out by Junio in <xmqqwpbvumrk.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxx>. I think it makes sense to have that, but in the interest of getting something out the door I'm not working on that for now. Ævar Arnfjörð Bjarmason (8): tag: Remove a TODO item from the test suite tag: Refactor the options handling code to be less bizarro tag: Change misleading --list <pattern> documentation tag: Implicitly supply --list given another list-like option tag: Implicitly supply --list given the -n option ref-filter: Add --no-contains option to tag/branch/for-each-ref tag: Add tests for --with and --without tag: Change --point-at to default to HEAD Documentation/git-branch.txt | 15 ++- Documentation/git-for-each-ref.txt | 6 +- Documentation/git-tag.txt | 44 ++++--- builtin/branch.c | 4 +- builtin/for-each-ref.c | 3 +- builtin/tag.c | 36 ++++-- contrib/completion/git-completion.bash | 4 +- parse-options.h | 4 +- ref-filter.c | 19 ++- ref-filter.h | 1 + t/t3201-branch-contains.sh | 51 +++++++- t/t6302-for-each-ref-filter.sh | 16 +++ t/t7004-tag.sh | 226 +++++++++++++++++++++++++++++++-- 13 files changed, 371 insertions(+), 58 deletions(-) -- 2.11.0