Wed, 04 Jan 2023 16:48:32 +0000 merge: short-circuit the _checkfs loop upon getting ENOENT
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 04 Jan 2023 16:48:32 +0000] rev 49890
merge: short-circuit the _checkfs loop upon getting ENOENT This reduces the number of [lstat] calls when updating from rev(-1) to a rev with lots of files by a factor of several: for path foo/bar/baz/quux.txt without this patch we're lstatting: foo foo/bar foo/bar/baz foo/bar/baz/quux.txt and with this patch: foo foo/bar/baz/quux.txt
Wed, 04 Jan 2023 19:13:41 +0000 merge: don't pay for pathconflicts if there are none
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 04 Jan 2023 19:13:41 +0000] rev 49889
merge: don't pay for pathconflicts if there are none
Fri, 06 Jan 2023 16:27:31 +0000 pathauditor: no need to normcase the paths
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 06 Jan 2023 16:27:31 +0000] rev 49888
pathauditor: no need to normcase the paths The only thing normed paths are used is the key of the caching sets, so the only change of behavior will be that the checks will be repeated for paths that differ by case. If anything, it seems correct for the check to be repeated, in case that actually affects semantics, but the main reasoning is simplifying the code and making it a bit faster. It looks like the code originally comes from commit [081e795c60e0]: it looks like that commit tried to get rid of the existing norming, but presumably did this overly cautiously, preserving it for the cache keys, even though it was pointless even then.
Wed, 04 Jan 2023 18:42:20 +0000 pathutil: slightly faster path audit in the common case
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 04 Jan 2023 18:42:20 +0000] rev 49887
pathutil: slightly faster path audit in the common case
Fri, 06 Jan 2023 16:01:31 +0000 debug: add a config to abort update early
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 06 Jan 2023 16:01:31 +0000] rev 49886
debug: add a config to abort update early This is useful to benchmark the parts of [hg update] that come before the parallel worker.
Fri, 06 Jan 2023 12:16:04 -0500 convert: stop passing str to the dateutil API in darcs stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 06 Jan 2023 12:16:04 -0500] rev 49885
convert: stop passing str to the dateutil API in darcs I'm sure there's a bunch more stuff in here that's broken, but this was flagged by pytype.
Thu, 05 Jan 2023 19:47:35 -0500 sparse: fix a py2 based usage of `map()` stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 05 Jan 2023 19:47:35 -0500] rev 49884
sparse: fix a py2 based usage of `map()` In a local pytype run, this fixes: File "/mnt/c/Users/Matt/hg/hgext/sparse.py", line 386, in debugsparse: unsupported operand type(s) for item retrieval: 'fcounts: Iterator[int]' and '0: int' [unsupported-operands] No attribute '__getitem__' on 'fcounts: Iterator[int]' File "/mnt/c/Users/Matt/hg/hgext/sparse.py", line 387, in debugsparse: unsupported operand type(s) for item retrieval: 'fcounts: Iterator[int]' and '1: int' [unsupported-operands] No attribute '__getitem__' on 'fcounts: Iterator[int]' File "/mnt/c/Users/Matt/hg/hgext/sparse.py", line 388, in debugsparse: unsupported operand type(s) for item retrieval: 'fcounts: Iterator[int]' and '2: int' [unsupported-operands] No attribute '__getitem__' on 'fcounts: Iterator[int]'
Thu, 05 Jan 2023 17:38:14 -0500 histedit: byteify the help for the multifold action stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 05 Jan 2023 17:38:14 -0500] rev 49883
histedit: byteify the help for the multifold action While there's some allowance for str in `_()`, it's commented to be for "goofy unicode docstrings in test", so no idea how well that works, but it should at least come back as bytes. With HGPLAIN, however, the str isn't touched and is returned as-is, so this seems like a real bug.
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -8 +8 +10 +30 +100 +300 +1000 tip