format-patch: resurrect extra headers from config

Once again, if you have

	[format]
		headers = "Origamization: EvilEmpire\n"

format-patch will add these headers just after the "Subject:" line.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Johannes Schindelin
2006-06-02 15:21:17 +02:00
committed by Junio C Hamano
parent cf2251b604
commit 20ff06805c
3 changed files with 26 additions and 3 deletions

View File

@ -85,6 +85,23 @@ static int istitlechar(char c)
(c >= '0' && c <= '9') || c == '.' || c == '_';
}
static char *extra_headers = NULL;
static int extra_headers_size = 0;
static int git_format_config(const char *var, const char *value)
{
if (!strcmp(var, "format.headers")) {
int len = strlen(value);
extra_headers_size += len + 1;
extra_headers = realloc(extra_headers, extra_headers_size);
extra_headers[extra_headers_size - len - 1] = 0;
strcat(extra_headers, value);
return 0;
}
return git_default_config(var, value);
}
static FILE *realstdout = NULL;
static char *output_directory = NULL;
@ -162,6 +179,9 @@ int cmd_format_patch(int argc, const char **argv, char **envp)
rev.ignore_merges = 1;
rev.diffopt.output_format = DIFF_FORMAT_PATCH;
git_config(git_format_config);
rev.extra_headers = extra_headers;
/*
* Parse the arguments before setup_revisions(), or something
* like "git fmt-patch -o a123 HEAD^.." may fail; a123 is