Skip to content

Commit

Permalink
Remove unnecessary delaying of free_refs(ref_map) in builtin-fetch
Browse files Browse the repository at this point in the history
We can free this ref_map as soon as the fetch is complete.  It is not
used for the automatic tag following, nor is it used to disconnect the
transport.  This avoids some confusion about why we are holding onto
these refs while following tags.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Shawn O. Pearce authored and Junio C Hamano committed Mar 3, 2008
1 parent ff655a6 commit 7f98428
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions builtin-fetch.c
Original file line number Diff line number Diff line change
Expand Up @@ -509,7 +509,7 @@ static struct ref *find_non_local_tags(struct transport *transport)
static int do_fetch(struct transport *transport,
struct refspec *refs, int ref_count)
{
struct ref *ref_map, *fetch_map;
struct ref *ref_map;
struct ref *rm;
int autotags = (transport->remote->fetch_tags == 1);
if (transport->remote->fetch_tags == 2 && tags != TAGS_UNSET)
Expand Down Expand Up @@ -540,8 +540,7 @@ static int do_fetch(struct transport *transport,
free_refs(ref_map);
return 1;
}

fetch_map = ref_map;
free_refs(ref_map);

/* if neither --no-tags nor --tags was specified, do automated tag
* following ... */
Expand All @@ -554,8 +553,6 @@ static int do_fetch(struct transport *transport,
free_refs(ref_map);
}

free_refs(fetch_map);

transport_disconnect(transport);

return 0;
Expand Down

0 comments on commit 7f98428

Please sign in to comment.