@@ -97,7 +97,6 @@ static struct string_list deepen_not = STRING_LIST_INIT_NODUP;
97
97
static struct strbuf default_rla = STRBUF_INIT ;
98
98
static struct transport * gtransport ;
99
99
static struct transport * gsecondary ;
100
- static int recurse_submodules = RECURSE_SUBMODULES_DEFAULT ;
101
100
static struct refspec refmap = REFSPEC_INIT_FETCH ;
102
101
static struct list_objects_filter_options filter_options = LIST_OBJECTS_FILTER_INIT ;
103
102
static struct string_list server_options = STRING_LIST_INIT_DUP ;
@@ -108,6 +107,7 @@ struct fetch_config {
108
107
int prune ;
109
108
int prune_tags ;
110
109
int show_forced_updates ;
110
+ int recurse_submodules ;
111
111
};
112
112
113
113
static int git_fetch_config (const char * k , const char * v , void * cb )
@@ -132,14 +132,14 @@ static int git_fetch_config(const char *k, const char *v, void *cb)
132
132
if (!strcmp (k , "submodule.recurse" )) {
133
133
int r = git_config_bool (k , v ) ?
134
134
RECURSE_SUBMODULES_ON : RECURSE_SUBMODULES_OFF ;
135
- recurse_submodules = r ;
135
+ fetch_config -> recurse_submodules = r ;
136
136
}
137
137
138
138
if (!strcmp (k , "submodule.fetchjobs" )) {
139
139
submodule_fetch_jobs_config = parse_submodule_fetchjobs (k , v );
140
140
return 0 ;
141
141
} else if (!strcmp (k , "fetch.recursesubmodules" )) {
142
- recurse_submodules = parse_fetch_recurse_submodules_arg (k , v );
142
+ fetch_config -> recurse_submodules = parse_fetch_recurse_submodules_arg (k , v );
143
143
return 0 ;
144
144
}
145
145
@@ -1210,7 +1210,7 @@ static int store_updated_refs(struct display_state *display_state,
1210
1210
ref -> force = rm -> peer_ref -> force ;
1211
1211
}
1212
1212
1213
- if (recurse_submodules != RECURSE_SUBMODULES_OFF &&
1213
+ if (config -> recurse_submodules != RECURSE_SUBMODULES_OFF &&
1214
1214
(!rm -> peer_ref || !oideq (& ref -> old_oid , & ref -> new_oid ))) {
1215
1215
check_for_new_submodule_commits (& rm -> old_oid );
1216
1216
}
@@ -1849,11 +1849,11 @@ static void add_options_to_argv(struct strvec *argv,
1849
1849
strvec_push (argv , "--force" );
1850
1850
if (keep )
1851
1851
strvec_push (argv , "--keep" );
1852
- if (recurse_submodules == RECURSE_SUBMODULES_ON )
1852
+ if (config -> recurse_submodules == RECURSE_SUBMODULES_ON )
1853
1853
strvec_push (argv , "--recurse-submodules" );
1854
- else if (recurse_submodules == RECURSE_SUBMODULES_OFF )
1854
+ else if (config -> recurse_submodules == RECURSE_SUBMODULES_OFF )
1855
1855
strvec_push (argv , "--no-recurse-submodules" );
1856
- else if (recurse_submodules == RECURSE_SUBMODULES_ON_DEMAND )
1856
+ else if (config -> recurse_submodules == RECURSE_SUBMODULES_ON_DEMAND )
1857
1857
strvec_push (argv , "--recurse-submodules=on-demand" );
1858
1858
if (tags == TAGS_SET )
1859
1859
strvec_push (argv , "--tags" );
@@ -2117,6 +2117,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
2117
2117
.prune = -1 ,
2118
2118
.prune_tags = -1 ,
2119
2119
.show_forced_updates = 1 ,
2120
+ .recurse_submodules = RECURSE_SUBMODULES_DEFAULT ,
2120
2121
};
2121
2122
const char * submodule_prefix = "" ;
2122
2123
const char * bundle_uri ;
@@ -2245,7 +2246,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
2245
2246
builtin_fetch_options , builtin_fetch_usage , 0 );
2246
2247
2247
2248
if (recurse_submodules_cli != RECURSE_SUBMODULES_DEFAULT )
2248
- recurse_submodules = recurse_submodules_cli ;
2249
+ config . recurse_submodules = recurse_submodules_cli ;
2249
2250
2250
2251
if (negotiate_only ) {
2251
2252
switch (recurse_submodules_cli ) {
@@ -2256,7 +2257,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
2256
2257
* submodules. Skip it by setting recurse_submodules to
2257
2258
* RECURSE_SUBMODULES_OFF.
2258
2259
*/
2259
- recurse_submodules = RECURSE_SUBMODULES_OFF ;
2260
+ config . recurse_submodules = RECURSE_SUBMODULES_OFF ;
2260
2261
break ;
2261
2262
2262
2263
default :
@@ -2265,11 +2266,11 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
2265
2266
}
2266
2267
}
2267
2268
2268
- if (recurse_submodules != RECURSE_SUBMODULES_OFF ) {
2269
+ if (config . recurse_submodules != RECURSE_SUBMODULES_OFF ) {
2269
2270
int * sfjc = submodule_fetch_jobs_config == -1
2270
2271
? & submodule_fetch_jobs_config : NULL ;
2271
- int * rs = recurse_submodules == RECURSE_SUBMODULES_DEFAULT
2272
- ? & recurse_submodules : NULL ;
2272
+ int * rs = config . recurse_submodules == RECURSE_SUBMODULES_DEFAULT
2273
+ ? & config . recurse_submodules : NULL ;
2273
2274
2274
2275
fetch_config_from_gitmodules (sfjc , rs );
2275
2276
}
@@ -2283,7 +2284,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
2283
2284
* Reference updates in submodules would be ambiguous
2284
2285
* in porcelain mode, so we reject this combination.
2285
2286
*/
2286
- recurse_submodules = RECURSE_SUBMODULES_OFF ;
2287
+ config . recurse_submodules = RECURSE_SUBMODULES_OFF ;
2287
2288
break ;
2288
2289
2289
2290
default :
@@ -2425,7 +2426,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
2425
2426
* the fetched history from each remote, so there is no need
2426
2427
* to fetch submodules from here.
2427
2428
*/
2428
- if (!result && remote && (recurse_submodules != RECURSE_SUBMODULES_OFF )) {
2429
+ if (!result && remote && (config . recurse_submodules != RECURSE_SUBMODULES_OFF )) {
2429
2430
struct strvec options = STRVEC_INIT ;
2430
2431
int max_children = max_jobs ;
2431
2432
@@ -2438,7 +2439,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
2438
2439
result = fetch_submodules (the_repository ,
2439
2440
& options ,
2440
2441
submodule_prefix ,
2441
- recurse_submodules ,
2442
+ config . recurse_submodules ,
2442
2443
recurse_submodules_default ,
2443
2444
verbosity < 0 ,
2444
2445
max_children );
0 commit comments