Subject: [PATCH v3 00/16] Various changes to the "tag" command & related

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Thu, 23 Mar 2017 13:05:13 +0000

Hopefully the last version of this. Changes since v2 in
<[email-masked]>:

Æ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