Select Git revision
- Branches 20
- topic/default/rust.index-proxy.direct
- topic/default/rust-upgrade-versions
- topic/default/rust-innerrevlog-followup
- topic/stable/debug-upload
- branch/default default protected
- branch/stable protected
- topic/default/no-madvise
- topic/default/generalize-matchers
- topic/default/annotate-wdir
- 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
- topic/default/annotate-follow
- topic/default/pdm
- topic/default/narrow-clonebundles
- topic/default/profiling-output-dir
- topic/stable/arg-check-string-types
- 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 · bdb177923291Yuya 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.