summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2008-03-03 02:34:43 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-03-03 08:05:45 (GMT)
commit7f98428d4beb24b564acbbfa779391467aab6f03 (patch)
treebb5f7b3eaacec21c667be5e3cd652c6f7d292113
parentff655a69df524c71464968f823a4826f2d43d7c6 (diff)
downloadgit-7f98428d4beb24b564acbbfa779391467aab6f03.zip
git-7f98428d4beb24b564acbbfa779391467aab6f03.tar.gz
git-7f98428d4beb24b564acbbfa779391467aab6f03.tar.bz2
Remove unnecessary delaying of free_refs(ref_map) in builtin-fetch
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>
-rw-r--r--builtin-fetch.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/builtin-fetch.c b/builtin-fetch.c
index f8b9542..1348a0e 100644
--- a/builtin-fetch.c
+++ b/builtin-fetch.c
@@ -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)
@@ -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 ... */
@@ -554,8 +553,6 @@ static int do_fetch(struct transport *transport,
free_refs(ref_map);
}
- free_refs(fetch_map);
-
transport_disconnect(transport);
return 0;