Signed-off-by: Miklos Vajna <vmiklos@xxxxxxxxxxxxxx> --- On Fri, Mar 05, 2010 at 06:21:42PM -0800, Junio C Hamano <gitster@xxxxxxxxx> wrote: > This reveals that --to does not follow the usual rule to override > corresponding configuration. Is that really what we want? IOW, when the > command line says scipient, shouldn't we stop sending to recipient that > comes from the configuration? How else would a user override this? Fair enough, here is a patch to update both the testcase and the code to the wished behaviour. builtin-log.c | 6 ++++++ t/t4014-format-patch.sh | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/builtin-log.c b/builtin-log.c index 5d23a67..cc28357 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -465,6 +465,7 @@ static int extra_hdr_alloc; static char **extra_to; static int extra_to_nr; static int extra_to_alloc; +static int extra_to_config = 0; static char **extra_cc; static int extra_cc_nr; @@ -507,6 +508,7 @@ static int git_format_config(const char *var, const char *value, void *cb) if (!strcmp(var, "format.to")) { if (!value) return config_error_nonbool(var); + extra_to_config = 1; ALLOC_GROW(extra_to, extra_to_nr + 1, extra_to_alloc); extra_to[extra_to_nr++] = xstrdup(value); return 0; @@ -884,6 +886,10 @@ static int header_callback(const struct option *opt, const char *arg, int unset) static int to_callback(const struct option *opt, const char *arg, int unset) { + if (extra_to_config) { + extra_to_config = 0; + extra_to_nr = 0; + } ALLOC_GROW(extra_to, extra_to_nr + 1, extra_to_alloc); extra_to[extra_to_nr++] = xstrdup(arg); return 0; diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index 9305c98..6fc071a 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -546,9 +546,10 @@ test_expect_success 'configuration to' ' test_expect_success 'additional command line to' ' + git config --unset-all format.headers && git format-patch --to="S. E. Cipient <scipient@xxxxxxxxxxx>" --stdout master..side | sed -e "/^\$/q" >patch11 && - grep "^To: R. E. Cipient <rcipient@xxxxxxxxxxx>,\$" patch11 && - grep "^ *S. E. Cipient <scipient@xxxxxxxxxxx>\$" patch11 + ! grep "R. E. Cipient <rcipient@xxxxxxxxxxx>" patch11 && + grep "^To: S. E. Cipient <scipient@xxxxxxxxxxx>\$" patch11 ' test_expect_success 'format-patch --signoff' ' -- 1.7.0 -- 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