summaryrefslogtreecommitdiff
path: root/commit.c
AgeCommit message (Collapse)AuthorFilesLines
2005-05-06[PATCH] don't load and decompress objects twice with parse_object()Libravatar Nicolas Pitre1-14/+26
It turns out that parse_object() is loading and decompressing given object to free it just before calling the specific object parsing function which does mmap and decompress the same object again. This patch introduces the ability to parse specific objects directly from a memory buffer. Without this patch, running git-fsck-cache on the kernel repositorytake: real 0m13.006s user 0m11.421s sys 0m1.218s With this patch applied: real 0m8.060s user 0m7.071s sys 0m0.710s The performance increase is significant, and this is kind of a prerequisite for sane delta object support with fsck. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-04[PATCH] Fix memory leaks in git-fsck-cacheLibravatar Sergey Vlasov1-1/+3
This patch fixes memory leaks in parse_object() and related functions; these leaks were very noticeable when running git-fsck-cache. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-26[PATCH] introduce xmalloc and xreallocLibravatar Christopher Li1-2/+2
Introduce xmalloc and xrealloc to die gracefully with a descriptive message when out of memory, rather than taking a SIGSEGV. Signed-off-by: Christopher Li<chrislgit@chrisli.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-24Don't add references to objects we couldn't find. Libravatar Linus Torvalds1-3/+6
That would SIGSEGV.
2005-04-24Verify that the object type matches for tree/commit objects even before parsing.Libravatar Linus Torvalds1-1/+1
The type doesn't come from the parsing, the type also has to match the usage.
2005-04-24Set object type at object creation time, not object parse time.Libravatar Linus Torvalds1-1/+1
Otherwise we can have objects without a type, which is not good.
2005-04-23[PATCH] Allow multiple date-ordered listsLibravatar Daniel Barkalow1-3/+5
Make pop_most_recent_commit() return the same objects multiple times, but only if called with different bits to mark. This is necessary to make merge-base work again. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-23Don't add parents to the commit list if we have alreadyLibravatar Linus Torvalds1-2/+5
seen them. Otherwise any merges will make the parent list explode.
2005-04-23[PATCH] Add some functions for commit listsLibravatar Daniel Barkalow1-6/+52
This adds a function for inserting an item in a commit list, a function for sorting a commit list by date, and a function for progressively scanning a commit history from most recent to least recent. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-21Include <limits.h> in commit.c for ULONG_MAX. Remove old "revision.h".Libravatar Linus Torvalds1-0/+1
The old revision.h helper header isn't used any more, but I never noticed it until I started grepping for ULONG_MAX users.
2005-04-18[PATCH] Implementations of parsing functionsLibravatar Daniel Barkalow1-0/+85
This implements the parsing functions. Signed-Off-By: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>