Pranit Bauva <pranit.bauva@xxxxxxxxx> writes: >> diff --git a/diff.c b/diff.c >> index 84dba60c4..40b4e6afe 100644 >> --- a/diff.c >> +++ b/diff.c >> @@ -33,6 +33,7 @@ static int diff_rename_limit_default = 400; >> static int diff_suppress_blank_empty; >> static int diff_use_color_default = -1; >> static int diff_context_default = 3; >> +static int diff_interhunk_context_default = 0; Do not explicitly initialize BSS variables to 0 (or NULL). >> static const char *diff_word_regex_cfg; >> static const char *external_diff_cmd_cfg; >> static const char *diff_order_file_cfg; >> @@ -248,6 +249,12 @@ int git_diff_ui_config(const char *var, const char *value, void *cb) >> return -1; >> return 0; >> } >> + if (!strcmp(var, "diff.interhunkcontext")) { >> + diff_interhunk_context_default = git_config_int(var, value); >> + if (diff_interhunk_context_default < 0) >> + return -1; >> + return 0; >> + } >> if (!strcmp(var, "diff.renames")) { >> diff_detect_rename_default = git_config_rename(var, value); >> return 0; >> @@ -3371,6 +3378,7 @@ void diff_setup(struct diff_options *options) >> options->rename_limit = -1; >> options->dirstat_permille = diff_dirstat_permille_default; >> options->context = diff_context_default; >> + options->interhunkcontext = diff_interhunk_context_default; Will this receive -1 if diff.interhunkcontext configuration variable is misconfigured and the *_default variable receives the error return value from git_config_int()? >> options->ws_error_highlight = ws_error_highlight_default; >> DIFF_OPT_SET(options, RENAME_EMPTY); > > On a first look, it seems that we can overwrite the default config > values by using a different command line argument which is good. > > Also, tests are missing. It seems that t/t4032 might be a good place > to add those tests. > > Rest all is quite good! :) > > Regards, > Pranit Bauva