revision: keep topo-walk free of unintersting commits
When updating the topo-order walk in b454241 (revision.c: generation-based topo-order algorithm, 2018-11-01), the logic was a huge rewrite of the walk logic. In that massive change, we accidentally included the UNINTERESTING commits in expand_topo_walk(). This means that a simple query like git rev-list --topo-order HEAD~1..HEAD will expand the topo walk for all commits reachable from HEAD, and not just one commit. This change should speed up these cases, but there is still a need for corrected commit-date for some A..B queries. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Derrick Stolee committed
May 21, 2019 at 09:59 UTC
1d8e31a3f63cbc8533bf763c6d4b89d8355769f0
1 file changed
+3
revision.c
+3
@@ -3265,6 +3265,9 @@ static void expand_topo_walk(struct rev_info *revs, struct commit *commit)
3265
struct commit *parent = p->item;
3266
int *pi;
3267
3268
+ if (parent->object.flags & UNINTERESTING)
3269
+ continue;
3270
+
3271
if (parse_commit_gently(parent, 1) < 0)
3272
continue;
3273