1
0
mirror of https://github.com/git/git.git synced 2024-09-26 06:51:15 +02:00

do_fetch(): clean up existing_refs before exiting

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Michael Haggerty 2013-05-25 11:08:16 +02:00 committed by Junio C Hamano
parent 6f64a16faf
commit 5b87d8d3f5

View File

@ -697,6 +697,7 @@ static int do_fetch(struct transport *transport,
struct ref *ref_map; struct ref *ref_map;
struct ref *rm; struct ref *rm;
int autotags = (transport->remote->fetch_tags == 1); int autotags = (transport->remote->fetch_tags == 1);
int retcode = 0;
for_each_ref(add_existing, &existing_refs); for_each_ref(add_existing, &existing_refs);
@ -712,9 +713,9 @@ static int do_fetch(struct transport *transport,
/* if not appending, truncate FETCH_HEAD */ /* if not appending, truncate FETCH_HEAD */
if (!append && !dry_run) { if (!append && !dry_run) {
int errcode = truncate_fetch_head(); retcode = truncate_fetch_head();
if (errcode) if (retcode)
return errcode; goto cleanup;
} }
ref_map = get_ref_map(transport, refs, ref_count, tags, &autotags); ref_map = get_ref_map(transport, refs, ref_count, tags, &autotags);
@ -736,7 +737,8 @@ static int do_fetch(struct transport *transport,
transport_set_option(transport, TRANS_OPT_FOLLOWTAGS, "1"); transport_set_option(transport, TRANS_OPT_FOLLOWTAGS, "1");
if (fetch_refs(transport, ref_map)) { if (fetch_refs(transport, ref_map)) {
free_refs(ref_map); free_refs(ref_map);
return 1; retcode = 1;
goto cleanup;
} }
if (prune) { if (prune) {
/* If --tags was specified, pretend the user gave us the canonical tags refspec */ /* If --tags was specified, pretend the user gave us the canonical tags refspec */
@ -779,7 +781,9 @@ static int do_fetch(struct transport *transport,
free_refs(ref_map); free_refs(ref_map);
} }
return 0; cleanup:
string_list_clear(&existing_refs, 0);
return retcode;
} }
static void set_option(const char *name, const char *value) static void set_option(const char *name, const char *value)