Skip to content

Commit

Permalink
git-tag: introduce long forms for the options
Browse files Browse the repository at this point in the history
Long forms are better to memorize and more reliably uniform across
commands.

Design notes:

-u,--local-user is named following the analogous gnupg option.

-l,--list is not an argument taking option but a mode switch.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Michael J Gruber authored and Junio C Hamano committed Aug 29, 2011
1 parent afc1692 commit c97eff5
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 10 deletions.
15 changes: 13 additions & 2 deletions Documentation/git-tag.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,22 +43,27 @@ GnuPG key for signing.
OPTIONS
-------
-a::
--annotate::
Make an unsigned, annotated tag object

-s::
--sign::
Make a GPG-signed tag, using the default e-mail address's key

-u <key-id>::
--local-user=<key-id>::
Make a GPG-signed tag, using the given key

-f::
--force::
Replace an existing tag with the given name (instead of failing)

-d::
--delete::
Delete existing tags with the given names.

-v::
--verify::
Verify the gpg signature of the given tag names.

-n<num>::
Expand All @@ -69,20 +74,26 @@ OPTIONS
If the tag is not annotated, the commit message is displayed instead.

-l <pattern>::
List tags with names that match the given pattern (or all if no pattern is given).
Typing "git tag" without arguments, also lists all tags.
--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.

--contains <commit>::
Only list tags which contain the specified commit.

-m <msg>::
--message=<msg>::
Use the given tag message (instead of prompting).
If multiple `-m` options are given, their values are
concatenated as separate paragraphs.
Implies `-a` if none of `-a`, `-s`, or `-u <key-id>`
is given.

-F <file>::
--file=<file>::
Take the tag message from the given file. Use '-' to
read the message from the standard input.
Implies `-a` if none of `-a`, `-s`, or `-u <key-id>`
Expand Down
16 changes: 8 additions & 8 deletions builtin/tag.c
Original file line number Diff line number Diff line change
Expand Up @@ -377,21 +377,21 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
struct msg_arg msg = { 0, STRBUF_INIT };
struct commit_list *with_commit = NULL;
struct option options[] = {
OPT_BOOLEAN('l', NULL, &list, "list tag names"),
OPT_BOOLEAN('l', "list", &list, "list tag names"),
{ OPTION_INTEGER, 'n', NULL, &lines, "n",
"print <n> lines of each tag message",
PARSE_OPT_OPTARG, NULL, 1 },
OPT_BOOLEAN('d', NULL, &delete, "delete tags"),
OPT_BOOLEAN('v', NULL, &verify, "verify tags"),
OPT_BOOLEAN('d', "delete", &delete, "delete tags"),
OPT_BOOLEAN('v', "verify", &verify, "verify tags"),

OPT_GROUP("Tag creation options"),
OPT_BOOLEAN('a', NULL, &annotate,
OPT_BOOLEAN('a', "annotate", &annotate,
"annotated tag, needs a message"),
OPT_CALLBACK('m', NULL, &msg, "message",
OPT_CALLBACK('m', "message", &msg, "message",
"tag message", parse_msg_arg),
OPT_FILENAME('F', NULL, &msgfile, "read message from file"),
OPT_BOOLEAN('s', NULL, &sign, "annotated and GPG-signed tag"),
OPT_STRING('u', NULL, &keyid, "key-id",
OPT_FILENAME('F', "file", &msgfile, "read message from file"),
OPT_BOOLEAN('s', "sign", &sign, "annotated and GPG-signed tag"),
OPT_STRING('u', "local-user", &keyid, "key-id",
"use another key to sign the tag"),
OPT__FORCE(&force, "replace the tag if exists"),

Expand Down

0 comments on commit c97eff5

Please sign in to comment.