47
int p_value;
48
};
49
50
-static void git_apply_config(void)
50
+static void git_apply_config(struct repository *repo)
51
{
52
- repo_config_get_string(the_repository, "apply.whitespace", &apply_default_whitespace);
53
- repo_config_get_string(the_repository, "apply.ignorewhitespace", &apply_default_ignorewhitespace);
54
- repo_config(the_repository, git_xmerge_config, NULL);
52
+ struct repo_config_values *cfg = repo_config_values(repo);
53
+
54
+ FREE_AND_NULL(cfg->apply_default_whitespace);
55
+ repo_config_get_string(repo, "apply.whitespace",
56
+ &cfg->apply_default_whitespace);
57
+ FREE_AND_NULL(cfg->apply_default_ignorewhitespace);
58
+ repo_config_get_string(repo, "apply.ignorewhitespace",
59
+ &cfg->apply_default_ignorewhitespace);
60
+ repo_config(repo, git_xmerge_config, NULL);
61
}
62
63
static int parse_whitespace_option(struct apply_state *state, const char *option)
115
struct repository *repo,
116
const char *prefix)
117
{
118
+ struct repo_config_values *cfg = repo_config_values(repo);
119
+
120
memset(state, 0, sizeof(*state));
121
state->prefix = prefix;
122
state->repo = repo;
134
strset_init(&state->kept_symlinks);
135
strbuf_init(&state->root, 0);
136
129
- git_apply_config();
130
- if (apply_default_whitespace && parse_whitespace_option(state, apply_default_whitespace))
137
+ git_apply_config(repo);
138
+
139
+ if (cfg->apply_default_whitespace &&
140
+ parse_whitespace_option(state, cfg->apply_default_whitespace))
141
return -1;
132
- if (apply_default_ignorewhitespace && parse_ignorewhitespace_option(state, apply_default_ignorewhitespace))
142
+ if (cfg->apply_default_ignorewhitespace &&
143
+ parse_ignorewhitespace_option(state, cfg->apply_default_ignorewhitespace))
144
return -1;
145
return 0;
146
}
203
204
static void set_default_whitespace_mode(struct apply_state *state)
205
{
195
- if (!state->whitespace_option && !apply_default_whitespace)
206
+ if (!state->whitespace_option &&
207
+ !repo_config_values(state->repo)->apply_default_whitespace)
208
state->ws_error_action = (state->apply ? warn_on_ws_error : nowarn_ws_error);
209
}
210