From: Brandon Williams Date: Wed, 16 May 2018 22:58:07 +0000 (-0700) Subject: fetch: convert do_fetch to take a struct refspec X-Git-Tag: v2.18.0-rc1~2^2~17 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=65a1301f2e01b454777bb15328f8071282bee702;p=git fetch: convert do_fetch to take a struct refspec Convert 'do_fetch()' to take a 'struct refspec' as a parameter instead of a list of 'struct refspec_item'. Signed-off-by: Brandon Williams Signed-off-by: Junio C Hamano --- diff --git a/builtin/fetch.c b/builtin/fetch.c index 6b909cd5bf..ec54b1dfe1 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -1112,7 +1112,7 @@ static void backfill_tags(struct transport *transport, struct ref *ref_map) } static int do_fetch(struct transport *transport, - struct refspec_item *refs, int ref_count) + struct refspec *rs) { struct string_list existing_refs = STRING_LIST_INIT_DUP; struct ref *ref_map; @@ -1136,7 +1136,7 @@ static int do_fetch(struct transport *transport, goto cleanup; } - ref_map = get_ref_map(transport, refs, ref_count, tags, &autotags); + ref_map = get_ref_map(transport, rs->items, rs->nr, tags, &autotags); if (!update_head_ok) check_not_current_branch(ref_map); @@ -1160,8 +1160,8 @@ static int do_fetch(struct transport *transport, * explicitly (via command line or configuration); we * don't care whether --tags was specified. */ - if (ref_count) { - prune_refs(refs, ref_count, ref_map, transport->url); + if (rs->nr) { + prune_refs(rs->items, rs->nr, ref_map, transport->url); } else { prune_refs(transport->remote->fetch.items, transport->remote->fetch.nr, @@ -1410,7 +1410,7 @@ static int fetch_one(struct remote *remote, int argc, const char **argv, int pru sigchain_push_common(unlock_pack_on_signal); atexit(unlock_pack); - exit_code = do_fetch(gtransport, rs.items, rs.nr); + exit_code = do_fetch(gtransport, &rs); refspec_clear(&rs); transport_disconnect(gtransport); gtransport = NULL;