I noticed that "git-fsck --full" from 'master' takes forever to
fsck the kernel repository (I left it running for 2 hours before
killing it), while the one from 'maint' (or 1.5.1.1 which is
installed on kernel.org) finishes within 2 or 3 minutes. There
is some serious breakages there.
Rings a bell?
On Fri, 20 Apr 2007, Junio C Hamano wrote:
I noticed that "git-fsck --full" from 'master' takes forever to
fsck the kernel repository (I left it running for 2 hours before
killing it), while the one from 'maint' (or 1.5.1.1 which is
installed on kernel.org) finishes within 2 or 3 minutes. There
is some serious breakages there.
Hmm. Probably something broken in my "object decorator" thing then.
Will check it out, I hadn't noticed myself.
Linus
On Fri, 20 Apr 2007, Linus Torvalds wrote:
Hmm. Probably something broken in my "object decorator" thing then.
Duh.
When I did the object decorator thing, I made the "loop over the hash"
function use the same logic for updating the hash, ie made them use
if (++j >= size)
j = 0;
for both the hash update for both "insert" and "lookup"
HOWEVER.
For some inexplicable reason I had an extraneous
j++;
in the insert path (probably just from the fact that the old code there
used
j++;
if (j >= size)
j = 0;
and when I made them use the same logic I just didn't remove the old
extraneous line properly.
This fixes it.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
decorate.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/decorate.c b/decorate.c
index 396b413..23f6b00 100644
--- a/decorate.c
+++ b/decorate.c
@@ -24,7 +24,6 @@ static void *insert_decoration(struct decoration *n, struct object *base, void *
hash[j].decoration = decoration;
return old;
}
- j++;
if (++j >= size)
j = 0;
}