summaryrefslogtreecommitdiff
path: root/builtin/mktag.c
diff options
context:
space:
mode:
authorLibravatar Ævar Arnfjörð Bjarmason <avarab@gmail.com>2021-01-05 20:42:50 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2021-01-05 14:58:29 -0800
commit3f390a366cc4a083b11452b899a04416aea00bdd (patch)
tree9aecc8b8b64c9385d6f6247c448f1978e07739fa /builtin/mktag.c
parentmktag: allow omitting the header/body \n separator (diff)
downloadtgif-3f390a366cc4a083b11452b899a04416aea00bdd.tar.xz
mktag: convert to parse-options
Convert the "mktag" command to use parse-options.h instead of its own ad-hoc argc handling. This doesn't matter much in practice since it doesn't support any options, but removes another special-case in our codebase, and makes it easier to add options to it in the future. It does marginally improve the situation for programs that want to execute git commands in a consistent manner and e.g. always use --end-of-options. E.g. "gitaly" does that, and has a blacklist of built-ins that don't support --end-of-options. This is one less special case for it and other similar programs to support. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/mktag.c')
-rw-r--r--builtin/mktag.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/builtin/mktag.c b/builtin/mktag.c
index 373926d7e0..18b8492f4d 100644
--- a/builtin/mktag.c
+++ b/builtin/mktag.c
@@ -1,10 +1,16 @@
#include "builtin.h"
+#include "parse-options.h"
#include "tag.h"
#include "replace-object.h"
#include "object-store.h"
#include "fsck.h"
#include "config.h"
+static char const * const builtin_mktag_usage[] = {
+ N_("git mktag"),
+ NULL
+};
+
static struct fsck_options fsck_options = FSCK_OPTIONS_STRICT;
static int mktag_config(const char *var, const char *value, void *cb)
@@ -60,13 +66,17 @@ static int verify_object_in_tag(struct object_id *tagged_oid, int *tagged_type)
int cmd_mktag(int argc, const char **argv, const char *prefix)
{
+ static struct option builtin_mktag_options[] = {
+ OPT_END(),
+ };
struct strbuf buf = STRBUF_INIT;
struct object_id tagged_oid;
int tagged_type;
struct object_id result;
- if (argc != 1)
- usage("git mktag");
+ argc = parse_options(argc, argv, NULL,
+ builtin_mktag_options,
+ builtin_mktag_usage, 0);
if (strbuf_read(&buf, 0, 0) < 0)
die_errno("could not read from stdin");