commit - 4bb494d57939f42bed86833b18d100c54b234533
commit + 98fdf1e045e1e5aca2bddf8ca07778ef7dd86a78
blob - 958b66ec82b4dd7e18be4a27f9d081e78e7b6484
blob + 4ec98d9b24d734b3a32faf3dae874a0ca67ac6dc
--- lib/commit_graph.c
+++ lib/commit_graph.c
return;
}
- /* Ensure that an iteration in progress will see this new commit. */
- if (graph->iter_node) {
- n = graph->iter_node;
- while (n) {
- next = TAILQ_NEXT(n, entry);
- if (next &&
- node->commit_timestamp >= next->commit_timestamp) {
- TAILQ_INSERT_BEFORE(next, node, entry);
- return;
- }
- n = next;
- }
- TAILQ_INSERT_AFTER(&graph->iter_list, graph->iter_node,
- node, entry);
- return;
- }
-
/*
* If a child node is known, begin looping over the list there
* instead of beginning from the list head.
/* Insert into list based on committer timestamp. */
do {
if (node->commit_timestamp == n->commit_timestamp) {
+ /*
+ * Insert after, rather than before, so that an
+ * iteration in progress will see this new commit.
+ */
TAILQ_INSERT_AFTER(&graph->iter_list, n, node, entry);
break;
} else if (node->commit_timestamp < n->commit_timestamp) {