Hopefully the last version of this. Changes since v2 in <20170321125901.10652-1-avarab@xxxxxxxxx>: Ævar Arnfjörð Bjarmason (16): tag doc: move the description of --[no-]merged earlier tag doc: split up the --[no-]merged documentation tag doc: reword --[no-]merged to talk about commits, not tips ref-filter: make combining --merged & --no-merged an error No changes. ref-filter: add test for --contains on a non-commit Minor grammar fixes in the commit message, as pointed out on-list. tag: remove a TODO item from the test suite tag tests: fix a typo in a test description for-each-ref: partly change <object> to <commit> in help No changes. tag: add more incompatibles mode tests Reworded the commit message to be less confusing, as pointed out on-list & added a few more tests for incompatible model, e.g. modes, e.g. "-l -v -d". parse-options: add OPT_NONEG to the "contains" option NEW: Junio pointed out that my new --without should have a OPT_NONEG, which made me notice that --with and --contains have also had the same bug for ages without anyone noticing, add OPT_NONEG to them all. tag: change misleading --list <pattern> documentation Hopefully solves the sticking point with the "-l <pat> -l <pat>" test I'm adding, there's now a big fat comment saying this was never intended behavior but we want to test it blah blah. Also change `git tag <pattern>` -> `git tag <tagname>`. See also my just-sent "[PATCH] branch doc: Change `git branch <pattern>` to use `<branchname>`". tag: implicitly supply --list given another list-like option Minor typo fix in commit message, as pointed out on-list. Squashed the "tag: implicitly supply --list given the -n option" patch into this, as discussed on-list. tag: change --point-at to default to HEAD ref-filter: add --no-contains option to tag/branch/for-each-ref The new --no-contains & --without options also have OPT_NONEG now. ref-filter: reflow recently changed branch/tag/for-each-ref docs Add missing Signed-off-by. tag: add tests for --with and --without Add a couple of extra tests asserting that --no-with and --no-without error out. Documentation/git-branch.txt | 33 +++-- Documentation/git-for-each-ref.txt | 12 +- Documentation/git-tag.txt | 60 +++++--- builtin/branch.c | 5 +- builtin/for-each-ref.c | 5 +- builtin/tag.c | 27 ++-- contrib/completion/git-completion.bash | 4 +- parse-options.h | 6 +- ref-filter.c | 30 +++- ref-filter.h | 1 + t/t3200-branch.sh | 4 + t/t3201-branch-contains.sh | 61 +++++++- t/t6302-for-each-ref-filter.sh | 20 +++ t/t7004-tag.sh | 245 +++++++++++++++++++++++++++++++-- 14 files changed, 441 insertions(+), 72 deletions(-) -- 2.11.0