12
#include "object-name.h"
13
#include "parse-options.h"
14
#include "gpg-interface.h"
15
#include "ref-filter.h"
17
static const char * const verify_tag_usage[] = {
18
N_("git verify-tag [-v | --verbose] [--format=<format>] [--raw] <tag>..."),
22
int cmd_verify_tag(int argc, const char **argv, const char *prefix)
24
int i = 1, verbose = 0, had_error = 0;
26
struct ref_format format = REF_FORMAT_INIT;
27
const struct option verify_tag_options[] = {
28
OPT__VERBOSE(&verbose, N_("print tag contents")),
29
OPT_BIT(0, "raw", &flags, N_("print raw gpg status output"), GPG_VERIFY_RAW),
30
OPT_STRING(0, "format", &format.format, N_("format"), N_("format to use for the output")),
34
git_config(git_default_config, NULL);
36
argc = parse_options(argc, argv, prefix, verify_tag_options,
37
verify_tag_usage, PARSE_OPT_KEEP_ARGV0);
39
usage_with_options(verify_tag_usage, verify_tag_options);
42
flags |= GPG_VERIFY_VERBOSE;
45
if (verify_ref_format(&format))
46
usage_with_options(verify_tag_usage,
48
flags |= GPG_VERIFY_OMIT_STATUS;
53
const char *name = argv[i++];
55
if (repo_get_oid(the_repository, name, &oid)) {
56
had_error = !!error("tag '%s' not found.", name);
60
if (gpg_verify_tag(&oid, name, flags)) {
66
pretty_print_ref(name, &oid, &format);