diff options
author | Linquize <linquize@yahoo.com.hk> | 2013-04-19 22:36:01 +0800 |
---|---|---|
committer | Russell Belfer <rb@github.com> | 2013-04-23 12:57:30 -0700 |
commit | a5df71c11fef996d67593546fa1edb2865e6a5d9 (patch) | |
tree | 278f59dc07ff30a0b03e62fd64b0c8997b7a87ce | |
parent | bd0a07f4bb0b83a84127589f7385eb2309910b66 (diff) | |
download | libgit2-a5df71c11fef996d67593546fa1edb2865e6a5d9.tar.gz |
Support diff.context config
-rw-r--r-- | src/diff.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/diff.c b/src/diff.c index 37c89f3f1..e6f5374e7 100644 --- a/src/diff.c +++ b/src/diff.c @@ -267,6 +267,16 @@ static int config_bool(git_config *cfg, const char *name, int defvalue) return val; } +static int config_int(git_config *cfg, const char *name, int defvalue) +{ + int val = defvalue; + + if (git_config_get_int32(&val, cfg, name) < 0) + giterr_clear(); + + return val; +} + static git_diff_list *git_diff_list_alloc( git_repository *repo, const git_diff_options *opts) { @@ -306,7 +316,8 @@ static git_diff_list *git_diff_list_alloc( if (opts == NULL) { /* Make sure we default to 3 lines */ - diff->opts.context_lines = 3; + int context = config_int(cfg, "diff.context", 3); + diff->opts.context_lines = max(context, 0); return diff; } |