summaryrefslogtreecommitdiff
path: root/commit.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-11-15 02:39:18 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-11-15 02:39:18 (GMT)
commit60d64db4614b1007ca37c228923ec1964d5ad394 (patch)
treed376d7e422b9a6cc51ef9a4b7f90e59f5520247e /commit.c
parentf7a2eb735982e921ae4379f1dcf5f7a023610393 (diff)
parentd7bba815753bf8c31886fcf6bb89c9e6250674a5 (diff)
downloadgit-60d64db4614b1007ca37c228923ec1964d5ad394.zip
git-60d64db4614b1007ca37c228923ec1964d5ad394.tar.gz
git-60d64db4614b1007ca37c228923ec1964d5ad394.tar.bz2
GIT 0.99.9i aka 1.0rc2v1.0rc2v0.99.9i
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'commit.c')
-rw-r--r--commit.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/commit.c b/commit.c
index 534c03e..ebf4db6 100644
--- a/commit.c
+++ b/commit.c
@@ -536,7 +536,7 @@ int count_parents(struct commit * commit)
void sort_in_topological_order(struct commit_list ** list)
{
struct commit_list * next = *list;
- struct commit_list * work = NULL;
+ struct commit_list * work = NULL, **insert;
struct commit_list ** pptr = list;
struct sort_node * nodes;
struct sort_node * next_nodes;
@@ -580,11 +580,12 @@ void sort_in_topological_order(struct commit_list ** list)
* the tips serve as a starting set for the work queue.
*/
next=*list;
+ insert = &work;
while (next) {
struct sort_node * node = (struct sort_node *)next->item->object.util;
if (node->indegree == 0) {
- commit_list_insert(next->item, &work);
+ insert = &commit_list_insert(next->item, insert)->next;
}
next=next->next;
}