[PATCH 1/3] trailer: add a trailer.trimEmpty config option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This way people who always want trimed trailers
don't need to specify it on the command line.

Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx>
---
 builtin/interpret-trailers.c |  2 +-
 trailer.c                    | 13 ++++++++++---
 trailer.h                    |  2 +-
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/builtin/interpret-trailers.c b/builtin/interpret-trailers.c
index 46838d2..1adf814 100644
--- a/builtin/interpret-trailers.c
+++ b/builtin/interpret-trailers.c
@@ -18,7 +18,7 @@ static const char * const git_interpret_trailers_usage[] = {
 
 int cmd_interpret_trailers(int argc, const char **argv, const char *prefix)
 {
-	int trim_empty = 0;
+	int trim_empty = -1;
 	struct string_list trailers = STRING_LIST_INIT_DUP;
 
 	struct option options[] = {
diff --git a/trailer.c b/trailer.c
index 623adeb..7614182 100644
--- a/trailer.c
+++ b/trailer.c
@@ -36,6 +36,8 @@ static struct trailer_item *first_conf_item;
 
 static char *separators = ":";
 
+static int trim_empty;
+
 #define TRAILER_ARG_STRING "$ARG"
 
 static int after_or_end(enum action_where where)
@@ -120,7 +122,7 @@ static void print_tok_val(const char *tok, const char *val)
 		printf("%s%c %s\n", tok, separators[0], val);
 }
 
-static void print_all(struct trailer_item *first, int trim_empty)
+static void print_all(struct trailer_item *first)
 {
 	struct trailer_item *item;
 	for (item = first; item; item = item->next) {
@@ -509,6 +511,8 @@ static int git_trailer_default_config(const char *conf_key, const char *value, v
 					value, conf_key);
 		} else if (!strcmp(trailer_item, "separators")) {
 			separators = xstrdup(value);
+		} else if (!strcmp(trailer_item, "trimempty")) {
+			trim_empty = git_config_bool(conf_key, value);
 		}
 	}
 	return 0;
@@ -842,7 +846,7 @@ static void free_all(struct trailer_item **first)
 	}
 }
 
-void process_trailers(const char *file, int trim_empty, struct string_list *trailers)
+void process_trailers(const char *file, int trim, struct string_list *trailers)
 {
 	struct trailer_item *in_tok_first = NULL;
 	struct trailer_item *in_tok_last = NULL;
@@ -854,6 +858,9 @@ void process_trailers(const char *file, int trim_empty, struct string_list *trai
 	git_config(git_trailer_default_config, NULL);
 	git_config(git_trailer_config, NULL);
 
+	if (trim > -1)
+		trim_empty = trim;
+
 	lines = read_input_file(file);
 
 	/* Print the lines before the trailers */
@@ -863,7 +870,7 @@ void process_trailers(const char *file, int trim_empty, struct string_list *trai
 
 	process_trailers_lists(&in_tok_first, &in_tok_last, &arg_tok_first);
 
-	print_all(in_tok_first, trim_empty);
+	print_all(in_tok_first);
 
 	free_all(&in_tok_first);
 
diff --git a/trailer.h b/trailer.h
index 8eb25d5..4f481d0 100644
--- a/trailer.h
+++ b/trailer.h
@@ -1,6 +1,6 @@
 #ifndef TRAILER_H
 #define TRAILER_H
 
-void process_trailers(const char *file, int trim_empty, struct string_list *trailers);
+void process_trailers(const char *file, int trim, struct string_list *trailers);
 
 #endif /* TRAILER_H */
-- 
2.2.1.313.gcc831f2


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]