From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Lars Hjemli" <hjemli@gmail.com>, "Jeff King" <peff@peff.net>,
"Christian Couder" <christian.couder@gmail.com>,
"Carlos Rica" <jasampler@gmail.com>,
"Samuel Tardieu" <sam@rfc1149.net>,
"Tom Grennan" <tmgrennan@gmail.com>,
"Karthik Nayak" <karthik.188@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v2 10/16] tag: change misleading --list <pattern> documentation
Date: Tue, 21 Mar 2017 12:58:55 +0000 [thread overview]
Message-ID: <20170321125901.10652-11-avarab@gmail.com> (raw)
In-Reply-To: <20170321125901.10652-1-avarab@gmail.com>
Change the documentation for --list so that it's described as a
toggle, not as an option that takes a <pattern> as an argument.
Junio initially documented this in b867c7c23a ("git-tag: -l to list
tags (usability).", 2006-02-17), but later Jeff King changed "tag" to
accept multiple patterns in 588d0e834b ("tag: accept multiple patterns
for --list", 2011-06-20).
However, documenting this as "-l <pattern>" was never correct, as
these both worked before Jeff's change:
git tag -l 'v*'
git tag 'v*' -l
One would expect an option that was documented like that to only
accept:
git tag --list
git tag --list 'v*rc*'
And after Jeff's change, one that took multiple patterns:
git tag --list 'v*rc*' --list '*2.8*'
But since it's actually a toggle all of these work as well, and
produce identical output to the last example above:
git tag --list 'v*rc*' '*2.8*'
git tag --list 'v*rc*' '*2.8*' --list --list --list
git tag --list 'v*rc*' '*2.8*' --list -l --list -l --list
Now the documentation is more in tune with how the "branch" command
describes its --list option since commit cddd127b9a ("branch:
introduce --list option", 2011-08-28).
Change the test suite to assert that these invocations work for the
cases that weren't already being tested for.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
Documentation/git-tag.txt | 16 +++++++++-------
t/t7004-tag.sh | 21 +++++++++++++++++++++
2 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index 448fdf3743..d534c57156 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -87,13 +87,15 @@ OPTIONS
If no number is given to `-n`, only the first line is printed.
If the tag is not annotated, the commit message is displayed instead.
--l <pattern>::
---list <pattern>::
- List tags with names that match the given pattern (or all if no
- pattern is given). Running "git tag" without arguments also
- lists all tags. The pattern is a shell wildcard (i.e., matched
- using fnmatch(3)). Multiple patterns may be given; if any of
- them matches, the tag is shown.
+-l::
+--list::
+ Activate the list mode. `git tag <pattern>` would try to create a
+ tag, use `git tag --list <pattern>` to list matching branches, (or
+ all if no pattern is given).
++
+Running "git tag" without arguments also lists all tags. The pattern
+is a shell wildcard (i.e., matched using fnmatch(3)). Multiple
+patterns may be given; if any of them matches, the tag is shown.
--sort=<key>::
Sort based on the key given. Prefix `-` to sort in
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index 958c77ab86..1de7185be0 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -118,6 +118,18 @@ test_expect_success 'listing all tags if one exists should succeed' '
git tag
'
+cat >expect <<EOF
+mytag
+EOF
+test_expect_success 'Multiple -l or --list options are equivalent to one -l option' '
+ git tag -l -l >actual &&
+ test_cmp expect actual &&
+ git tag --list --list >actual &&
+ test_cmp expect actual &&
+ git tag --list -l --list >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'listing all tags if one exists should output that tag' '
test $(git tag -l) = mytag &&
test $(git tag) = mytag
@@ -336,6 +348,15 @@ test_expect_success 'tag -l can accept multiple patterns' '
test_cmp expect actual
'
+test_expect_success 'tag -l can accept multiple patterns interleaved with -l or --list options' '
+ git tag -l "v1*" "v0*" >actual &&
+ test_cmp expect actual &&
+ git tag -l "v1*" --list "v0*" >actual &&
+ test_cmp expect actual &&
+ git tag -l "v1*" "v0*" -l --list >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'listing tags in column' '
COLUMNS=40 git tag -l --column=row >actual &&
cat >expected <<\EOF &&
--
2.11.0
next prev parent reply other threads:[~2017-03-21 13:01 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-21 12:58 [PATCH v2 00/16] Various changes to the "tag" command & related Ævar Arnfjörð Bjarmason
2017-03-21 12:58 ` [PATCH v2 01/16] tag doc: move the description of --[no-]merged earlier Ævar Arnfjörð Bjarmason
2017-03-21 18:22 ` Junio C Hamano
2017-03-21 12:58 ` [PATCH v2 02/16] tag doc: split up the --[no-]merged documentation Ævar Arnfjörð Bjarmason
2017-03-21 18:26 ` Junio C Hamano
2017-03-21 12:58 ` [PATCH v2 03/16] tag doc: reword --[no-]merged to talk about commits, not tips Ævar Arnfjörð Bjarmason
2017-03-21 12:58 ` [PATCH v2 04/16] ref-filter: make combining --merged & --no-merged an error Ævar Arnfjörð Bjarmason
2017-03-21 12:58 ` [PATCH v2 05/16] ref-filter: add test for --contains on a non-commit Ævar Arnfjörð Bjarmason
2017-03-21 18:29 ` Junio C Hamano
2017-03-21 12:58 ` [PATCH v2 06/16] tag: remove a TODO item from the test suite Ævar Arnfjörð Bjarmason
2017-03-21 12:58 ` [PATCH v2 07/16] tag tests: fix a typo in a test description Ævar Arnfjörð Bjarmason
2017-03-21 12:58 ` [PATCH v2 08/16] for-each-ref: partly change <object> to <commit> in help Ævar Arnfjörð Bjarmason
2017-03-21 18:32 ` Junio C Hamano
2017-03-21 18:50 ` Ævar Arnfjörð Bjarmason
2017-03-21 19:16 ` Junio C Hamano
2017-03-21 12:58 ` [PATCH v2 09/16] tag: add more incompatibles mode tests Ævar Arnfjörð Bjarmason
2017-03-21 18:32 ` Junio C Hamano
2017-03-21 18:58 ` Ævar Arnfjörð Bjarmason
2017-03-21 12:58 ` Ævar Arnfjörð Bjarmason [this message]
2017-03-21 18:45 ` [PATCH v2 10/16] tag: change misleading --list <pattern> documentation Junio C Hamano
2017-03-22 19:32 ` Ævar Arnfjörð Bjarmason
2017-03-22 21:09 ` Junio C Hamano
2017-03-22 22:08 ` Ævar Arnfjörð Bjarmason
2017-03-22 22:26 ` Junio C Hamano
2017-03-22 22:36 ` Jeff King
2017-03-22 23:43 ` Ævar Arnfjörð Bjarmason
2017-03-23 0:46 ` Junio C Hamano
2017-03-22 21:15 ` Junio C Hamano
2017-03-21 12:58 ` [PATCH v2 11/16] tag: implicitly supply --list given another list-like option Ævar Arnfjörð Bjarmason
2017-03-21 18:48 ` Junio C Hamano
2017-03-21 12:58 ` [PATCH v2 12/16] tag: change --point-at to default to HEAD Ævar Arnfjörð Bjarmason
2017-03-21 18:48 ` Junio C Hamano
2017-03-21 12:58 ` [PATCH v2 13/16] ref-filter: add --no-contains option to tag/branch/for-each-ref Ævar Arnfjörð Bjarmason
2017-03-21 18:51 ` Junio C Hamano
2017-03-21 19:03 ` Ævar Arnfjörð Bjarmason
2017-03-21 12:58 ` [PATCH v2 14/16] ref-filter: reflow recently changed branch/tag/for-each-ref docs Ævar Arnfjörð Bjarmason
2017-03-21 18:53 ` Junio C Hamano
2017-03-21 19:12 ` Ævar Arnfjörð Bjarmason
2017-03-21 12:59 ` [PATCH v2 15/16] tag: implicitly supply --list given the -n option Ævar Arnfjörð Bjarmason
2017-03-21 18:59 ` Junio C Hamano
2017-03-21 19:11 ` Ævar Arnfjörð Bjarmason
2017-03-21 19:24 ` Junio C Hamano
2017-03-21 19:33 ` Ævar Arnfjörð Bjarmason
2017-03-21 12:59 ` [PATCH v2 16/16] tag: add tests for --with and --without Ævar Arnfjörð Bjarmason
2017-03-21 18:22 ` [PATCH v2 00/16] Various changes to the "tag" command & related Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170321125901.10652-11-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hjemli@gmail.com \
--cc=jasampler@gmail.com \
--cc=karthik.188@gmail.com \
--cc=peff@peff.net \
--cc=sam@rfc1149.net \
--cc=tmgrennan@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.