Fri, 19 Oct 2018 16:16:17 +0200 branchmap: pass changelog into branchmap functions
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 19 Oct 2018 16:16:17 +0200] rev 40374
branchmap: pass changelog into branchmap functions As part of building the branchmap, we loop over revs and call branchmap() or _branchmap(). Previously, these functions were accessing repo.changelog. We know from past experience that repo.changelog in loops is bad for performance. This commit teaches the branchmap code to pass a changelog instance into branchmap() and _branchmap() so we don't need to pay this penalty. On my MBP, this appears to show a speedup on a clone of the mozilla-unified repo: $ hg perfbranchmap --clear-revbranch ! base ! wall 21.078160 comb 21.070000 user 20.920000 sys 0.150000 (best of 3) ! wall 20.574682 comb 20.560000 user 20.400000 sys 0.160000 (best of 3) $ hg perfbranchmap ! base ! wall 4.880413 comb 4.870000 user 4.860000 sys 0.010000 (best of 3) ! wall 4.573968 comb 4.560000 user 4.550000 sys 0.010000 (best of 3) Differential Revision: https://phab.mercurial-scm.org/D5161
Thu, 18 Oct 2018 16:36:10 -0400 fuzz: move many initialization steps into LLVMFuzzerInitialize
Augie Fackler <augie@google.com> [Thu, 18 Oct 2018 16:36:10 -0400] rev 40373
fuzz: move many initialization steps into LLVMFuzzerInitialize Doing this means that things we intentionally leak (eg type objects) no longer confuse AddressSanitizer, so now we can run the fuzzer MUCH longer. Differential Revision: https://phab.mercurial-scm.org/D5154
Thu, 17 Nov 2016 15:51:33 -0800 bundle2: fix broken compression engine assertion
Martin von Zweigbergk <martinvonz@google.com> [Thu, 17 Nov 2016 15:51:33 -0800] rev 40372
bundle2: fix broken compression engine assertion bundletype() is a function, so it needs to be called, and it is documented to return a 2-tuple. This code is untested, so that's why we haven't noticed the bad assertion. Differential Revision: https://phab.mercurial-scm.org/D5155
Thu, 18 Oct 2018 17:54:07 -0400 tests: glob over a difference between Windows 7 and Window 10
Matt Harbison <matt_harbison@yahoo.com> [Thu, 18 Oct 2018 17:54:07 -0400] rev 40371
tests: glob over a difference between Windows 7 and Window 10 The error value is 11001 on Windows 10. I have no idea why it changed, but it seems unimportant.
Thu, 18 Oct 2018 18:11:16 -0400 py3: fix module imports in test-highlight.t
Matt Harbison <matt_harbison@yahoo.com> [Thu, 18 Oct 2018 18:11:16 -0400] rev 40370
py3: fix module imports in test-highlight.t The hash changes are because the *.py file is committed to the repo.
Wed, 17 Oct 2018 23:33:43 -0400 py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com> [Wed, 17 Oct 2018 23:33:43 -0400] rev 40369
py3: fix module imports in tests, as flagged by test-check-module-imports.t I have no idea why these aren't flagged with python2. I excluded test-highlight.t for now to make this easier to review- the changed code is committed to a repo, which has cascading changes on the rest of the test. There's a mix of bytes and str in the imports dict of contrib/import-checker.py that crashed it half way through listing out these errors. I couldn't figure out how to fix that properly, so I was lazy and applied this on py3, to find the rest of the errors: diff --git a/contrib/import-checker.py b/contrib/import-checker.py --- a/contrib/import-checker.py +++ b/contrib/import-checker.py @@ -626,7 +626,12 @@ def find_cycles(imports): top.foo -> top.qux -> top.foo """ cycles = set() - for mod in sorted(imports.keys()): + def sort(v): + if isinstance(v, bytes): + return v.decode('ascii') + return v + + for mod in sorted(imports.keys(), key=sort): try: checkmod(mod, imports) except CircularImport as e:
Thu, 18 Oct 2018 21:55:47 -0400 lfs: don't add extension to hgrc after conversion (BC)
Matt Harbison <matt_harbison@yahoo.com> [Thu, 18 Oct 2018 21:55:47 -0400] rev 40368
lfs: don't add extension to hgrc after conversion (BC) This is in the spirit of bcf72d7b1524.
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -7 +7 +10 +30 +100 +300 +1000 +3000 +10000 tip