Adds a configuration function to be filled up more in the next patch. Signed-off-by: Jared Hance <jaredhance@xxxxxxxxx> --- builtin/merge.c | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-) diff --git a/builtin/merge.c b/builtin/merge.c index bc1ae94..818bfc7 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -498,11 +498,15 @@ cleanup: strbuf_release(&bname); } -static int git_merge_config(const char *k, const char *v, void *cb) +static int per_branch_config(const char *k, const char *v, void *cb) { - if (branch && !prefixcmp(k, "branch.") && - !prefixcmp(k + 7, branch) && - !strcmp(k + 7 + strlen(branch), ".mergeoptions")) { + const char *variable; + if (!branch || prefixcmp(k, "branch.") + || prefixcmp(k + 7, branch)) + return 1; /* not what I handle */ + + variable = k + 7 + strlen(branch); + if (!strcmp(variable, ".mergeoptions")) { const char **argv; int argc; char *buf; @@ -518,8 +522,20 @@ static int git_merge_config(const char *k, const char *v, void *cb) parse_options(argc, argv, NULL, builtin_merge_options, builtin_merge_usage, 0); free(buf); + + return 0; } + return 1; /* not what I handle */ +} + +static int git_merge_config(const char *k, const char *v, void *cb) +{ + int status = per_branch_config(k, v, cb); + + if (status <= 0) + return status; + if (!strcmp(k, "merge.diffstat") || !strcmp(k, "merge.stat")) show_diffstat = git_config_bool(k, v); else if (!strcmp(k, "pull.twohead")) -- 1.7.4 -- 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