Skip to content

Commit

Permalink
Keep the parents in order when parsing commits
Browse files Browse the repository at this point in the history
We used to keep the parents in reverse order in the commit_list.  Most
users don't care, but it's wrong, and the next commit does care.
  • Loading branch information
Linus Torvalds committed Jun 21, 2005
1 parent 9d73fad commit 6c88be1
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion commit.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ int parse_commit_buffer(struct commit *item, void *buffer, unsigned long size)
{
void *bufptr = buffer;
unsigned char parent[20];
struct commit_list **pptr;

if (item->object.parsed)
return 0;
Expand All @@ -72,11 +73,12 @@ int parse_commit_buffer(struct commit *item, void *buffer, unsigned long size)
if (item->tree)
add_ref(&item->object, &item->tree->object);
bufptr += 46; /* "tree " + "hex sha1" + "\n" */
pptr = &item->parents;
while (!memcmp(bufptr, "parent ", 7) &&
!get_sha1_hex(bufptr + 7, parent)) {
struct commit *new_parent = lookup_commit(parent);
if (new_parent) {
commit_list_insert(new_parent, &item->parents);
pptr = &commit_list_insert(new_parent, pptr)->next;
add_ref(&item->object, &new_parent->object);
}
bufptr += 48;
Expand Down

0 comments on commit 6c88be1

Please sign in to comment.