Mercurial > hg
view tests/test-issue1102.t @ 51505:c9ceb4f60256 stable 6.7
phases: avoid N² behavior in `advanceboundary`
We allowed duplicated entries in the deque, which each entry could potentially
insert all its ancestors. So advancing boundary for the full repository would
mean each revision would walk all its ancestors, resulting in O(N²) iteration.
For repository of any decent size, N² is quickly insane.
We introduce a simple set to avoid this and get back to reasonable performance.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 15 Mar 2024 01:31:57 +0100 |
parents | 805419729e11 |
children |
line wrap: on
line source
$ rm -rf a $ hg init a $ cd a $ echo a > a $ hg ci -Am0 adding a $ hg tag t1 # 1 $ hg tag --remove t1 # 2 $ hg co 1 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg tag -f -r0 t1 $ hg tags tip 3:a49829c4fc11 t1 0:f7b1eb17ad24 Ensure that the username access fails gracefully if assumptions about the environment made by python do not hold. #if windows >>> import os >>> from mercurial import util >>> os.environ.pop('LOGNAME', None) and None >>> os.environ.pop('USER', None) and None >>> os.environ.pop('LNAME', None) and None >>> os.environ.pop('USERNAME', None) and None >>> print(util.username()) None #endif $ cd ..