summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2011-01-19 08:25:46 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2011-01-19 08:25:46 -0800
commit267684f0b7428583ba88c4acc0e9ef322a36b3ff (patch)
treecb21bc7e1ecdf106029db7774b83537a559ab517
parentMerge branch 'jn/submodule-b-current' into maint (diff)
parentfast-import: insert new object entries at start of hash bucket (diff)
downloadtgif-267684f0b7428583ba88c4acc0e9ef322a36b3ff.tar.xz
Merge branch 'jn/maint-fast-import-object-reuse' into maint
* jn/maint-fast-import-object-reuse: fast-import: insert new object entries at start of hash bucket
-rw-r--r--fast-import.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/fast-import.c b/fast-import.c
index eab68d58c3..613623be14 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -539,22 +539,17 @@ static struct object_entry *insert_object(unsigned char *sha1)
{
unsigned int h = sha1[0] << 8 | sha1[1];
struct object_entry *e = object_table[h];
- struct object_entry *p = NULL;
while (e) {
if (!hashcmp(sha1, e->idx.sha1))
return e;
- p = e;
e = e->next;
}
e = new_object(sha1);
- e->next = NULL;
+ e->next = object_table[h];
e->idx.offset = 0;
- if (p)
- p->next = e;
- else
- object_table[h] = e;
+ object_table[h] = e;
return e;
}