@@ -85,16 +85,6 @@ struct config_reader {
85
85
*/
86
86
struct config_source * source ;
87
87
struct key_value_info * config_kvi ;
88
- /*
89
- * The "scope" of the current config source being parsed (repo, global,
90
- * etc). Like "source", this is only set when parsing a config source.
91
- * It's not part of "source" because it transcends a single file (i.e.,
92
- * a file included from .git/config is still in "repo" scope).
93
- *
94
- * When iterating through a configset, the equivalent value is
95
- * "config_kvi.scope" (see above).
96
- */
97
- enum config_scope parsing_scope ;
98
88
};
99
89
/*
100
90
* Where possible, prefer to accept "struct config_reader" as an arg than to use
@@ -125,19 +115,9 @@ static inline struct config_source *config_reader_pop_source(struct config_reade
125
115
static inline void config_reader_set_kvi (struct config_reader * reader ,
126
116
struct key_value_info * kvi )
127
117
{
128
- if (kvi && (reader -> source || reader -> parsing_scope ))
129
- BUG ("kvi should not be set while parsing a config source" );
130
118
reader -> config_kvi = kvi ;
131
119
}
132
120
133
- static inline void config_reader_set_scope (struct config_reader * reader ,
134
- enum config_scope scope )
135
- {
136
- if (scope && reader -> config_kvi )
137
- BUG ("scope should only be set when iterating through a config source" );
138
- reader -> parsing_scope = scope ;
139
- }
140
-
141
121
static int pack_compression_seen ;
142
122
static int zlib_compression_seen ;
143
123
@@ -412,19 +392,13 @@ static void populate_remote_urls(struct config_include_data *inc)
412
392
{
413
393
struct config_options opts ;
414
394
415
- enum config_scope store_scope = inc -> config_reader -> parsing_scope ;
416
-
417
395
opts = * inc -> opts ;
418
396
opts .unconditional_remote_url = 1 ;
419
397
420
- config_reader_set_scope (inc -> config_reader , 0 );
421
-
422
398
inc -> remote_urls = xmalloc (sizeof (* inc -> remote_urls ));
423
399
string_list_init_dup (inc -> remote_urls );
424
400
config_with_options (add_remote_url , inc -> remote_urls ,
425
401
inc -> config_source , inc -> repo , & opts );
426
-
427
- config_reader_set_scope (inc -> config_reader , store_scope );
428
402
}
429
403
430
404
static int forbid_remote_url (const char * var , const char * value UNUSED ,
@@ -2255,7 +2229,6 @@ static int do_git_config_sequence(struct config_reader *reader,
2255
2229
char * user_config = NULL ;
2256
2230
char * repo_config ;
2257
2231
char * worktree_config ;
2258
- enum config_scope prev_parsing_scope = reader -> parsing_scope ;
2259
2232
2260
2233
/*
2261
2234
* Ensure that either:
@@ -2273,15 +2246,13 @@ static int do_git_config_sequence(struct config_reader *reader,
2273
2246
worktree_config = NULL ;
2274
2247
}
2275
2248
2276
- config_reader_set_scope (reader , CONFIG_SCOPE_SYSTEM );
2277
2249
if (git_config_system () && system_config &&
2278
2250
!access_or_die (system_config , R_OK ,
2279
2251
opts -> system_gently ? ACCESS_EACCES_OK : 0 ))
2280
2252
ret += git_config_from_file_with_options (fn , system_config ,
2281
2253
data , CONFIG_SCOPE_SYSTEM ,
2282
2254
NULL );
2283
2255
2284
- config_reader_set_scope (reader , CONFIG_SCOPE_GLOBAL );
2285
2256
git_global_config (& user_config , & xdg_config );
2286
2257
2287
2258
if (xdg_config && !access_or_die (xdg_config , R_OK , ACCESS_EACCES_OK ))
@@ -2292,13 +2263,11 @@ static int do_git_config_sequence(struct config_reader *reader,
2292
2263
ret += git_config_from_file_with_options (fn , user_config , data ,
2293
2264
CONFIG_SCOPE_GLOBAL , NULL );
2294
2265
2295
- config_reader_set_scope (reader , CONFIG_SCOPE_LOCAL );
2296
2266
if (!opts -> ignore_repo && repo_config &&
2297
2267
!access_or_die (repo_config , R_OK , 0 ))
2298
2268
ret += git_config_from_file_with_options (fn , repo_config , data ,
2299
2269
CONFIG_SCOPE_LOCAL , NULL );
2300
2270
2301
- config_reader_set_scope (reader , CONFIG_SCOPE_WORKTREE );
2302
2271
if (!opts -> ignore_worktree && worktree_config &&
2303
2272
repo && repo -> repository_format_worktree_config &&
2304
2273
!access_or_die (worktree_config , R_OK , 0 )) {
@@ -2307,11 +2276,9 @@ static int do_git_config_sequence(struct config_reader *reader,
2307
2276
NULL );
2308
2277
}
2309
2278
2310
- config_reader_set_scope (reader , CONFIG_SCOPE_COMMAND );
2311
2279
if (!opts -> ignore_cmdline && git_config_from_parameters (fn , data ) < 0 )
2312
2280
die (_ ("unable to parse command-line config" ));
2313
2281
2314
- config_reader_set_scope (reader , prev_parsing_scope );
2315
2282
free (system_config );
2316
2283
free (xdg_config );
2317
2284
free (user_config );
@@ -2326,7 +2293,6 @@ int config_with_options(config_fn_t fn, void *data,
2326
2293
const struct config_options * opts )
2327
2294
{
2328
2295
struct config_include_data inc = CONFIG_INCLUDE_INIT ;
2329
- enum config_scope prev_scope = the_reader .parsing_scope ;
2330
2296
int ret ;
2331
2297
2332
2298
if (opts -> respect_includes ) {
@@ -2340,9 +2306,6 @@ int config_with_options(config_fn_t fn, void *data,
2340
2306
data = & inc ;
2341
2307
}
2342
2308
2343
- if (config_source )
2344
- config_reader_set_scope (& the_reader , config_source -> scope );
2345
-
2346
2309
/*
2347
2310
* If we have a specific filename, use it. Otherwise, follow the
2348
2311
* regular lookup sequence.
@@ -2364,7 +2327,6 @@ int config_with_options(config_fn_t fn, void *data,
2364
2327
string_list_clear (inc .remote_urls , 0 );
2365
2328
FREE_AND_NULL (inc .remote_urls );
2366
2329
}
2367
- config_reader_set_scope (& the_reader , prev_scope );
2368
2330
return ret ;
2369
2331
}
2370
2332
@@ -4088,14 +4050,6 @@ static int reader_config_name(struct config_reader *reader, const char **out)
4088
4050
return 0 ;
4089
4051
}
4090
4052
4091
- enum config_scope current_config_scope (void )
4092
- {
4093
- if (the_reader .config_kvi )
4094
- return the_reader .config_kvi -> scope ;
4095
- else
4096
- return the_reader .parsing_scope ;
4097
- }
4098
-
4099
4053
int lookup_config (const char * * mapping , int nr_mapping , const char * var )
4100
4054
{
4101
4055
int i ;
0 commit comments