Merge branch 'rs/commit-list-sort-in-batch'
Setting up a revision traversal with many starting points was inefficient as these were placed in a date-order priority queue one-by-one. By René Scharfe (3) and Junio C Hamano (1) * rs/commit-list-sort-in-batch: mergesort: rename it to llist_mergesort() revision: insert unsorted, then sort in prepare_revision_walk() commit: use mergesort() in commit_list_sort_by_date() add mergesort() for linked lists
This commit is contained in:
@ -2076,11 +2076,13 @@ int prepare_revision_walk(struct rev_info *revs)
|
||||
if (commit) {
|
||||
if (!(commit->object.flags & SEEN)) {
|
||||
commit->object.flags |= SEEN;
|
||||
commit_list_insert_by_date(commit, &revs->commits);
|
||||
commit_list_insert(commit, &revs->commits);
|
||||
}
|
||||
}
|
||||
e++;
|
||||
}
|
||||
commit_list_reverse(&revs->commits);
|
||||
commit_list_sort_by_date(&revs->commits);
|
||||
if (!revs->leak_pending)
|
||||
free(list);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user