Skip to content

Commit 6634f05

Browse files
chriscoolgitster
authored andcommitted
trailer: add interpret-trailers command
This patch adds the "git interpret-trailers" command. This command uses the previously added process_trailers() function in trailer.c. Signed-off-by: Christian Couder <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent b1d78d7 commit 6634f05

File tree

5 files changed

+48
-0
lines changed

5 files changed

+48
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
/git-index-pack
7575
/git-init
7676
/git-init-db
77+
/git-interpret-trailers
7778
/git-instaweb
7879
/git-log
7980
/git-ls-files

Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -828,6 +828,7 @@ BUILTIN_OBJS += builtin/hash-object.o
828828
BUILTIN_OBJS += builtin/help.o
829829
BUILTIN_OBJS += builtin/index-pack.o
830830
BUILTIN_OBJS += builtin/init-db.o
831+
BUILTIN_OBJS += builtin/interpret-trailers.o
831832
BUILTIN_OBJS += builtin/log.o
832833
BUILTIN_OBJS += builtin/ls-files.o
833834
BUILTIN_OBJS += builtin/ls-remote.o

builtin.h

+1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ extern int cmd_hash_object(int argc, const char **argv, const char *prefix);
7373
extern int cmd_help(int argc, const char **argv, const char *prefix);
7474
extern int cmd_index_pack(int argc, const char **argv, const char *prefix);
7575
extern int cmd_init_db(int argc, const char **argv, const char *prefix);
76+
extern int cmd_interpret_trailers(int argc, const char **argv, const char *prefix);
7677
extern int cmd_log(int argc, const char **argv, const char *prefix);
7778
extern int cmd_log_reflog(int argc, const char **argv, const char *prefix);
7879
extern int cmd_ls_files(int argc, const char **argv, const char *prefix);

builtin/interpret-trailers.c

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/*
2+
* Builtin "git interpret-trailers"
3+
*
4+
* Copyright (c) 2013, 2014 Christian Couder <[email protected]>
5+
*
6+
*/
7+
8+
#include "cache.h"
9+
#include "builtin.h"
10+
#include "parse-options.h"
11+
#include "string-list.h"
12+
#include "trailer.h"
13+
14+
static const char * const git_interpret_trailers_usage[] = {
15+
N_("git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] [<file>...]"),
16+
NULL
17+
};
18+
19+
int cmd_interpret_trailers(int argc, const char **argv, const char *prefix)
20+
{
21+
int trim_empty = 0;
22+
struct string_list trailers = STRING_LIST_INIT_DUP;
23+
24+
struct option options[] = {
25+
OPT_BOOL(0, "trim-empty", &trim_empty, N_("trim empty trailers")),
26+
OPT_STRING_LIST(0, "trailer", &trailers, N_("trailer"),
27+
N_("trailer(s) to add")),
28+
OPT_END()
29+
};
30+
31+
argc = parse_options(argc, argv, prefix, options,
32+
git_interpret_trailers_usage, 0);
33+
34+
if (argc) {
35+
int i;
36+
for (i = 0; i < argc; i++)
37+
process_trailers(argv[i], trim_empty, &trailers);
38+
} else
39+
process_trailers(NULL, trim_empty, &trailers);
40+
41+
string_list_clear(&trailers, 0);
42+
43+
return 0;
44+
}

git.c

+1
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,7 @@ static struct cmd_struct commands[] = {
418418
{ "index-pack", cmd_index_pack, RUN_SETUP_GENTLY },
419419
{ "init", cmd_init_db, NO_SETUP },
420420
{ "init-db", cmd_init_db, NO_SETUP },
421+
{ "interpret-trailers", cmd_interpret_trailers, RUN_SETUP },
421422
{ "log", cmd_log, RUN_SETUP },
422423
{ "ls-files", cmd_ls_files, RUN_SETUP },
423424
{ "ls-remote", cmd_ls_remote, RUN_SETUP_GENTLY },

0 commit comments

Comments
 (0)