tag: add --column
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
b27004eb32
commit
d96e3c150f
@ -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 {
|
||||
};
|
||||
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
|
||||
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)
|
||||
|
Reference in New Issue
Block a user