|
|
|
@ -16,6 +16,7 @@
@@ -16,6 +16,7 @@
|
|
|
|
|
#include "revision.h" |
|
|
|
|
#include "gpg-interface.h" |
|
|
|
|
#include "sha1-array.h" |
|
|
|
|
#include "column.h" |
|
|
|
|
|
|
|
|
|
static const char * const git_tag_usage[] = { |
|
|
|
|
"git tag [-a|-s|-u <key-id>] [-f] [-m <msg>|-F <file>] <tagname> [<head>]", |
|
|
|
@ -33,6 +34,7 @@ struct tag_filter {
@@ -33,6 +34,7 @@ struct tag_filter {
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
static struct sha1_array points_at; |
|
|
|
|
static unsigned int colopts; |
|
|
|
|
|
|
|
|
|
static int match_pattern(const char **patterns, const char *ref) |
|
|
|
|
{ |
|
|
|
@ -263,6 +265,8 @@ static int git_tag_config(const char *var, const char *value, void *cb)
@@ -263,6 +265,8 @@ static int git_tag_config(const char *var, const char *value, void *cb)
|
|
|
|
|
int status = git_gpg_config(var, value, cb); |
|
|
|
|
if (status) |
|
|
|
|
return status; |
|
|
|
|
if (!prefixcmp(var, "column.")) |
|
|
|
|
return git_column_config(var, value, "tag", &colopts); |
|
|
|
|
return git_default_config(var, value, cb); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -459,6 +463,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
@@ -459,6 +463,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
|
|
|
|
|
OPT_STRING('u', "local-user", &keyid, "key-id", |
|
|
|
|
"use another key to sign the tag"), |
|
|
|
|
OPT__FORCE(&force, "replace the tag if exists"), |
|
|
|
|
OPT_COLUMN(0, "column", &colopts, "show tag list in columns"), |
|
|
|
|
|
|
|
|
|
OPT_GROUP("Tag listing options"), |
|
|
|
|
{ |
|
|
|
@ -495,9 +500,25 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
@@ -495,9 +500,25 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
|
|
|
|
|
|
|
|
|
|
if (list + delete + verify > 1) |
|
|
|
|
usage_with_options(git_tag_usage, options); |
|
|
|
|
if (list) |
|
|
|
|
return list_tags(argv, lines == -1 ? 0 : lines, |
|
|
|
|
with_commit); |
|
|
|
|
finalize_colopts(&colopts, -1); |
|
|
|
|
if (list && lines != -1) { |
|
|
|
|
if (explicitly_enable_column(colopts)) |
|
|
|
|
die(_("--column and -n are incompatible")); |
|
|
|
|
colopts = 0; |
|
|
|
|
} |
|
|
|
|
if (list) { |
|
|
|
|
int ret; |
|
|
|
|
if (column_active(colopts)) { |
|
|
|
|
struct column_options copts; |
|
|
|
|
memset(&copts, 0, sizeof(copts)); |
|
|
|
|
copts.padding = 2; |
|
|
|
|
run_column_filter(colopts, &copts); |
|
|
|
|
} |
|
|
|
|
ret = list_tags(argv, lines == -1 ? 0 : lines, with_commit); |
|
|
|
|
if (column_active(colopts)) |
|
|
|
|
stop_column_filter(); |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
if (lines != -1) |
|
|
|
|
die(_("-n option is only allowed with -l.")); |
|
|
|
|
if (with_commit) |
|
|
|
|