@@ -337,7 +337,7 @@ static void find_non_local_tags(struct transport *transport,
337
337
}
338
338
339
339
static struct ref * get_ref_map (struct transport * transport ,
340
- struct refspec_item * refspecs , int refspec_count ,
340
+ struct refspec * rs ,
341
341
int tags , int * autotags )
342
342
{
343
343
int i ;
@@ -351,29 +351,29 @@ static struct ref *get_ref_map(struct transport *transport,
351
351
352
352
const struct ref * remote_refs ;
353
353
354
- for (i = 0 ; i < refspec_count ; i ++ ) {
355
- if (!refspecs [i ].exact_sha1 ) {
356
- const char * glob = strchr (refspecs [i ].src , '*' );
354
+ for (i = 0 ; i < rs -> nr ; i ++ ) {
355
+ const struct refspec_item * item = & rs -> items [i ];
356
+ if (!item -> exact_sha1 ) {
357
+ const char * glob = strchr (item -> src , '*' );
357
358
if (glob )
358
359
argv_array_pushf (& ref_prefixes , "%.*s" ,
359
- (int )(glob - refspecs [ i ]. src ),
360
- refspecs [ i ]. src );
360
+ (int )(glob - item -> src ),
361
+ item -> src );
361
362
else
362
- expand_ref_prefix (& ref_prefixes , refspecs [ i ]. src );
363
+ expand_ref_prefix (& ref_prefixes , item -> src );
363
364
}
364
365
}
365
366
366
367
remote_refs = transport_get_remote_refs (transport , & ref_prefixes );
367
368
368
369
argv_array_clear (& ref_prefixes );
369
370
370
- if (refspec_count ) {
371
- struct refspec_item * fetch_refspec ;
372
- int fetch_refspec_nr ;
371
+ if (rs -> nr ) {
372
+ struct refspec * fetch_refspec ;
373
373
374
- for (i = 0 ; i < refspec_count ; i ++ ) {
375
- get_fetch_map (remote_refs , & refspecs [i ], & tail , 0 );
376
- if (refspecs [i ].dst && refspecs [i ].dst [0 ])
374
+ for (i = 0 ; i < rs -> nr ; i ++ ) {
375
+ get_fetch_map (remote_refs , & rs -> items [i ], & tail , 0 );
376
+ if (rs -> items [i ].dst && rs -> items [i ].dst [0 ])
377
377
* autotags = 1 ;
378
378
}
379
379
/* Merge everything on the command line (but not --tags) */
@@ -400,16 +400,13 @@ static struct ref *get_ref_map(struct transport *transport,
400
400
* by ref_remove_duplicates() in favor of one of these
401
401
* opportunistic entries with FETCH_HEAD_IGNORE.
402
402
*/
403
- if (refmap .nr ) {
404
- fetch_refspec = refmap .items ;
405
- fetch_refspec_nr = refmap .nr ;
406
- } else {
407
- fetch_refspec = transport -> remote -> fetch .items ;
408
- fetch_refspec_nr = transport -> remote -> fetch .nr ;
409
- }
403
+ if (refmap .nr )
404
+ fetch_refspec = & refmap ;
405
+ else
406
+ fetch_refspec = & transport -> remote -> fetch ;
410
407
411
- for (i = 0 ; i < fetch_refspec_nr ; i ++ )
412
- get_fetch_map (ref_map , & fetch_refspec [i ], & oref_tail , 1 );
408
+ for (i = 0 ; i < fetch_refspec -> nr ; i ++ )
409
+ get_fetch_map (ref_map , & fetch_refspec -> items [i ], & oref_tail , 1 );
413
410
} else if (refmap .nr ) {
414
411
die ("--refmap option is only meaningful with command-line refspec(s)." );
415
412
} else {
@@ -1136,7 +1133,7 @@ static int do_fetch(struct transport *transport,
1136
1133
goto cleanup ;
1137
1134
}
1138
1135
1139
- ref_map = get_ref_map (transport , rs -> items , rs -> nr , tags , & autotags );
1136
+ ref_map = get_ref_map (transport , rs , tags , & autotags );
1140
1137
if (!update_head_ok )
1141
1138
check_not_current_branch (ref_map );
1142
1139
0 commit comments