From: René Scharfe Date: Wed, 25 Apr 2012 20:35:41 GMT Subject: [PATCH 2/3] revision: append to list instead of insert and reverse Message-ID: <4F98601D.3070303@lsrfire.ath.cx> In-Reply-To: <4F985D0A.9020100@lsrfire.ath.cx> By using commit_list_insert(), we added new items to the top of the list and, since this is not the order we want, reversed it afterwards. Simplify this process by adding new items at the bottom instead, getting rid of the reversal step. Signed-off-by: Rene Scharfe --- revision.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/revision.c b/revision.c index edb225d..9e63baa 100644 --- a/revision.c +++ b/revision.c @@ -2071,6 +2071,7 @@ int prepare_revision_walk(struct rev_info *revs) { int nr = revs->pending.nr; struct object_array_entry *e, *list; + struct commit_list **next = &revs->commits; e = list = revs->pending.objects; revs->pending.nr = 0; @@ -2081,12 +2082,11 @@ int prepare_revision_walk(struct rev_info *revs) if (commit) { if (!(commit->object.flags & SEEN)) { commit->object.flags |= SEEN; - commit_list_insert(commit, &revs->commits); + next = commit_list_append(commit, next); } } e++; } - commit_list_reverse(&revs->commits); commit_list_sort_by_date(&revs->commits); if (!revs->leak_pending) free(list); -- 1.7.10