2 * Builtin "git interpret-trailers"
4 * Copyright (c) 2013, 2014 Christian Couder <chriscool@tuxfamily.org>
10 #include "parse-options.h"
11 #include "string-list.h"
14 static const char * const git_interpret_trailers_usage
[] = {
15 N_("git interpret-trailers [--in-place] [--trim-empty] [(--trailer <token>[(=|:)<value>])...] [<file>...]"),
19 int cmd_interpret_trailers(int argc
, const char **argv
, const char *prefix
)
21 struct process_trailer_options opts
= PROCESS_TRAILER_OPTIONS_INIT
;
22 struct string_list trailers
= STRING_LIST_INIT_NODUP
;
24 struct option options
[] = {
25 OPT_BOOL(0, "in-place", &opts
.in_place
, N_("edit files in place")),
26 OPT_BOOL(0, "trim-empty", &opts
.trim_empty
, N_("trim empty trailers")),
27 OPT_BOOL(0, "only-trailers", &opts
.only_trailers
, N_("output only the trailers")),
28 OPT_BOOL(0, "only-input", &opts
.only_input
, N_("do not apply config rules")),
29 OPT_STRING_LIST(0, "trailer", &trailers
, N_("trailer"),
30 N_("trailer(s) to add")),
34 argc
= parse_options(argc
, argv
, prefix
, options
,
35 git_interpret_trailers_usage
, 0);
37 if (opts
.only_input
&& trailers
.nr
)
39 _("--trailer with --only-input does not make sense"),
40 git_interpret_trailers_usage
,
45 for (i
= 0; i
< argc
; i
++)
46 process_trailers(argv
[i
], &opts
, &trailers
);
49 die(_("no input file given for in-place editing"));
50 process_trailers(NULL
, &opts
, &trailers
);
53 string_list_clear(&trailers
, 0);