From: Jared Hance Date: Wed, 09 Feb 2011 00:23:47 GMT Subject: [PATCH v3 2/3] Add function per_branch_config. Message-ID: <1297211028-14382-3-git-send-email-jaredhance@gmail.com> In-Reply-To: <1297211028-14382-1-git-send-email-jaredhance@gmail.com> Adds a configuration function to be filled up more in the next patch. Signed-off-by: Jared Hance --- 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