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

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Tue, 21 Mar 2017 12:58:45 +0000

This series is now 2x the size of v1. The reason is that the
discussion for v1 brought up lots of related side-points that I fixed
while I was at it. Most if this *could* be split off, but since a lot
of it's modifying the same bits of code doing that would result in
merge conflict galore, so I think it's easier to bundle it up.

Comments on individual patches below:

Æ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

NEW: Document that --merged & --no-merged operate on commits, not
objects. Split up the docs to document each option indepenently for
ease of subsequent changes.

  ref-filter: make combining --merged & --no-merged an error

NEW: Currently "--merged HEAD --no-merged HEAD" is just silently
equivalent to "--no-merged HEAD". Make the former an "incompatible
options" error.

  ref-filter: add test for --contains on a non-commit

NEW: Jeff suggested we should test for this. Make it so.

  tag: remove a TODO item from the test suite

No changes.

  tag tests: fix a typo in a test description

NEW: Fix a tag test typo.

  for-each-ref: partly change <object> to <commit> in help

NEW: Clarify the for-each-ref --help output.

  tag: add more incompatibles mode tests

CHANGED: I dropped the "tag: Refactor the options handling code to be
less bizarro" patch, but these are the tests that came along with it.

  tag: change misleading --list <pattern> documentation

No changes.

  tag: implicitly supply --list given another list-like option

Changed: Typo fixes in commit message, `argc == 0 && !cmdmode` logic
changes, code reflow, better error messages etc.

  tag: change --point-at to default to HEAD

Changed: Fixed up an ">expect" at the start of the test.

  ref-filter: add --no-contains option to tag/branch/for-each-ref

Changed: Typos/grammar in commit message, get rid of needless "else",
tests for tree/tag blobs.

  ref-filter: reflow recently changed branch/tag/for-each-ref docs

NEW: Split off reflowing of documentation paragraphs from the above
for ease of reading.

  tag: implicitly supply --list given the -n option

Re-arranged: I still want this included, but the consensus on the list
wasn't as strong, so it's moved later in the series so it can be
dropped without conflicts.

  tag: add tests for --with and --without

No changes.

 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                        |   4 +-
 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                         | 237 +++++++++++++++++++++++++++++++--
 14 files changed, 432 insertions(+), 71 deletions(-)

-- 
2.11.0