diff options
author | Derrick Stolee <stolee@gmail.com> | 2019-05-21 15:59:53 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-05-28 19:39:49 +0200 |
commit | 1d8e31a3f63cbc8533bf763c6d4b89d8355769f0 (patch) | |
tree | dbaf6245d0a5eb2d531fc33eca635d3cc25036cb /revision.c | |
parent | revision: use generation for A..B --topo-order queries (diff) | |
download | git-1d8e31a3f63cbc8533bf763c6d4b89d8355769f0.tar.xz git-1d8e31a3f63cbc8533bf763c6d4b89d8355769f0.zip |
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>
Diffstat (limited to 'revision.c')
-rw-r--r-- | revision.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/revision.c b/revision.c index be6ccf5786..621feb9df7 100644 --- a/revision.c +++ b/revision.c @@ -3265,6 +3265,9 @@ static void expand_topo_walk(struct rev_info *revs, struct commit *commit) struct commit *parent = p->item; int *pi; + if (parent->object.flags & UNINTERESTING) + continue; + if (parse_commit_gently(parent, 1) < 0) continue; |