Select Git revision
- Branches 20
- topic/default/ci-check-update
- topic/default/rust.index-proxy.direct
- topic/default/rust-upgrade-versions
- topic/default/rust-innerrevlog-followup
- topic/stable/debug-upload
- branch/stable protected
- topic/default/no-madvise
- topic/default/generalize-matchers
- topic/stable/rust-dirstate-changelog-race
- topic/default/root-share
- topic/default/fastexport-subrepos
- topic/stable/fastexport_on_empty_repo
- topic/stable/hooklib-handle-node-none
- topic/stable/fastexport-symlinks
- branch/default default protected
- topic/default/pdm
- topic/default/narrow-clonebundles
- topic/default/profiling-output-dir
- topic/stable/arg-check-string-types
- topic/default/faster-update.from-clean
- Tags 291
- 0.4c
- 0.4d
- 0.4e
- 0.4f
- 0.5
- 0.5b
- 0.6
- 0.6b
- 0.6c
- 0.7
- 0.8
- 0.8.1
- 0.9
- 0.9.1
- 0.9.2
- 0.9.3
- 0.9.4
- 0.9.5
- 1.0
- 1.0.1
- 1.0.2
- 1.1
- 1.1.1
- 1.1.2
- 1.2
- 1.2.1
- 1.3
- 1.3.1
- 1.4
- 1.4.1
- 1.4.2
- 1.4.3
- 1.5
- 1.5.1
- 1.5.2
- 1.5.3
- 1.5.4
- 1.6
- 1.6.1
- 1.6.2
- 1.6.3
- 1.6.4
- 1.7
- 1.7.1
- 1.7.2
- 1.7.3
- 1.7.4
- 1.7.5
- 1.8
- 1.8.1
- 1.8.2
- 1.8.3
- 1.8.4
- 1.9
- 1.9.1
- 1.9.2
- 1.9.3
- 2.0
- 2.0-rc
- 2.0.1
- 2.0.2
- 2.1
- 2.1-rc
- 2.1.1
- 2.1.2
- 2.2
- 2.2-rc
- 2.2.1
- 2.2.2
- 2.2.3
- 2.3
- 2.3-rc
- 2.3.1
- 2.3.2
- 2.4
- 2.4-rc
- 2.4.1
- 2.4.2
- 2.5
- 2.5-rc
- 2.5.1
- 2.5.2
- 2.5.3
- 2.5.4
- 2.6
- 2.6-rc
- 2.6.1
- 2.6.2
- 2.6.3
- 2.7
- 2.7-rc
- 2.7.1
- 2.7.2
- 2.8
- 2.8-rc
- 2.8.1
- 2.8.2
- 2.9
- 2.9-rc
- 2.9.1
- 2.9.2
- 3.0
- 3.0-rc
- 3.0.1
- 3.0.2
- 3.1
- 3.1-rc
- 3.1.1
- 3.1.2
- 3.2
- 3.2-rc
- 3.2.1
- 3.2.2
- 3.2.3
- 3.2.4
- 3.3
- 3.3-rc
- 3.3.1
- 3.3.2
- 3.3.3
- 3.4
- 3.4-rc
- 3.4.1
- 3.4.2
- 3.5
- 3.5-rc
- 3.5.1
- 3.5.2
- 3.6
- 3.6-rc
- 3.6.1
- 3.6.2
- 3.6.3
- 3.7
- 3.7-rc
- 3.7.1
- 3.7.2
- 3.7.3
- 3.8
- 3.8-rc
- 3.8.1
- 3.8.2
- 3.8.3
- 3.8.4
- 3.9
- 3.9-rc
- 3.9.1
- 3.9.2
- 4.0
- 4.0-rc
- 4.0.1
- 4.0.2
- 4.1
- 4.1-rc
- 4.1.1
- 4.1.2
- 4.1.3
- 4.2
- 4.2-rc
- 4.2.1
- 4.2.2
- 4.2.3
- 4.3
- 4.3-rc
- 4.3.1
- 4.3.2
- 4.3.3
- 4.4
- 4.4-rc
- 4.4.1
- 4.4.2
- 4.5
- 4.5-rc
- 4.5.1
- 4.5.2
- 4.5.3
- 4.6
- 4.6.1
- 4.6.2
- 4.6rc0
- 4.6rc1
- 4.7
- 4.7.1
- 4.7.2
- 4.7rc0
- 4.8
- 4.8.1
- 4.8.2
- 4.8rc0
- 4.9
- 4.9.1
- 4.9rc0
- 5.0
- 5.0.1
- 5.0.2
- 5.0rc0
- 5.1
- 5.1.1
- 5.1.2
- 5.1rc0
- 5.2
- 5.2.1
- 5.2.2
- 5.2rc0
- 5.3
- 5.3.1
- 5.3.2
- 5.3rc0
- 5.3rc1
- 5.4
- 5.4.1
- 5.4.2
- 5.4rc0
- 5.5
- 5.5.1
- 5.5.2
- 5.5rc0
- 5.6
- 5.6.1
- 5.6rc0
- 5.7
- 5.7.1
- 5.7rc0
- 5.8
- 5.8.1
- 5.8rc0
- 5.8rc1
- 5.9
- 5.9.1
- 5.9.2
- 5.9.3
- 5.9rc0
- 5.9rc1
- 6.0
- 6.0.1
- 6.0.2
- 6.0.3
- 6.0rc0
- 6.1
- 6.1.1
- 6.1.2
- 6.1.3
- 6.1.4
- 6.1rc0
- 6.2
- 6.2.1
- 6.2.2
- 6.2.3
- 6.2rc0
- 6.3
- 6.3.1
- 6.3.2
- 6.3.3
- 6.3rc0
- 6.4
- 6.4.1
- 6.4.2
- 6.4.3
- 6.4.4
- 6.4.5
- 6.4rc0
- 6.5
- 6.5.1
- 6.5.2
- 6.5.3
- 6.5rc0
- 6.6
- 6.6.1
- 6.6.2
- 6.6.3
- 6.6rc0
- 6.7
- 6.7.1
- 6.7.2
- 6.7.3
- 6.7.4
- 6.7rc0
- 6.8
- 6.8.1
- 6.8.2
- 6.8rc0
- 6.9
- 6.9.1
- 6.9.2
- 6.9.3
- 6.9.4
- 6.9rc0
- 6.9rc1
- 7.0
- 7.0rc0
- 7.0rc1
-
ancestor: optimize _lazyancestorsiter() for contiguous chains · bdb17792Yuya Nishihara authored
If there's no revision between p1 and current, p1 must be the next revision to visit. In this case, we can get around the overhead of heappop/push operations. Note that this is faster than using heapreplace(). 'current - p1 == 1' could be generalized as 'all(r not in seen for r in xrange(p1, current)', but Python is too slow to do such thing.
ancestor: optimize _lazyancestorsiter() for contiguous chainsYuya Nishihara authoredIf there's no revision between p1 and current, p1 must be the next revision to visit. In this case, we can get around the overhead of heappop/push operations. Note that this is faster than using heapreplace(). 'current - p1 == 1' could be generalized as 'all(r not in seen for r in xrange(p1, current)', but Python is too slow to do such thing.