Mercurial > hg
diff tests/test-dirstate.t @ 48741:46d12f7762e4 stable
dirstate-v2: fix infinite loop in pure packer
Due to the naive approach to path relative-ness, some tree shapes
like the one introduced in the associated test could result in the
packer going into an endless loop which allocated new `Node` objects
endlessly until the process was killed by Linux's OOM killer.
Differential Revision: https://phab.mercurial-scm.org/D12170
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Fri, 11 Feb 2022 23:43:17 +0100 |
parents | f7086f6173f8 |
children | 6cfa30681a1d |
line wrap: on
line diff
--- a/tests/test-dirstate.t Tue Feb 15 15:33:33 2022 +0100 +++ b/tests/test-dirstate.t Fri Feb 11 23:43:17 2022 +0100 @@ -103,3 +103,21 @@ 1 $ hg status ? a + +#if dirstate-v2 +Check that folders that are prefixes of others do not throw the packer into an +infinite loop. + + $ cd .. + $ hg init infinite-loop + $ cd infinite-loop + $ mkdir hgext3rd hgext + $ touch hgext3rd/__init__.py hgext/zeroconf.py + $ hg commit -Aqm0 + + $ hg st -c + C hgext/zeroconf.py + C hgext3rd/__init__.py + + $ cd .. +#endif