Fri, 29 Sep 2017 11:41:24 -0700 test-patchbomb: use mocktime
Jun Wu <quark@fb.com> [Fri, 29 Sep 2017 11:41:24 -0700] rev 34316
test-patchbomb: use mocktime The test was using system time for displaying ETAs, which could be flaky if the sysload is high. This patch extracts mocktime.py from test-progress.t to make sure test-patchbomb.t is unaffected by system time. Differential Revision: https://phab.mercurial-scm.org/D844
Thu, 28 Sep 2017 10:37:53 -0700 test-patchbomb: fix the test
Jun Wu <quark@fb.com> [Thu, 28 Sep 2017 10:37:53 -0700] rev 34315
test-patchbomb: fix the test With the experimental config `progress.estimate` removed, the progress output in `test-patchbomb.t` has a minor change: it shows ETA since the beginning. (This could be folded into f428c3)
Wed, 27 Sep 2017 15:14:59 -0700 progress: make ETA only consider progress made in the last minute
Jun Wu <quark@fb.com> [Wed, 27 Sep 2017 15:14:59 -0700] rev 34314
progress: make ETA only consider progress made in the last minute This patch limits the estimate time interval to roughly the last minute (configurable by `estimateinterval`) to be more practical. See the test change for why this is better. .. feature:: Estimated time is more accurate with non-linear progress Differential Revision: https://phab.mercurial-scm.org/D820
Wed, 27 Sep 2017 14:30:58 -0700 progress: remove progress.estimate config
Jun Wu <quark@fb.com> [Wed, 27 Sep 2017 14:30:58 -0700] rev 34313
progress: remove progress.estimate config It was introduced by 98e4d39 ("progress: add speed format" 2011-5-9) and was intended to hide ETA information for the first few seconds. Later 5d261fd ("progress: add a changedelay to prevent parallel topics from flapping (issue2698)" 2011-6-23) introduced `changedelay` config which hides the entire progress bar for the first few seconds. So `progress.estimate` seems somehow duplicated feature-wise. Since it's experimental and duplicated, let's just remove it. This makes the next patch simpler - it no longer needs to make sure `starttimes` is the real start time. Differential Revision: https://phab.mercurial-scm.org/D828
Tue, 26 Sep 2017 12:48:15 -0700 progress: demonstrate non-linear progress has a bad ETA experience
Jun Wu <quark@fb.com> [Tue, 26 Sep 2017 12:48:15 -0700] rev 34312
progress: demonstrate non-linear progress has a bad ETA experience Previously, the ETA and speed assumes the progress is linear. Often, due to network or other issues, it could be fast for the most time, and suddenly slow down: [====================================================> ] \___________________________________________/\______/ very fast suddenly much slower This patch adds a test demonstrating the ETA could be way off in those cases. Differential Revision: https://phab.mercurial-scm.org/D819
Thu, 21 Sep 2017 15:58:44 +0530 copytrace: add a a new config to limit the number of drafts in heuristics
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 21 Sep 2017 15:58:44 +0530] rev 34311
copytrace: add a a new config to limit the number of drafts in heuristics The heuristics options tries to the default full copytracing algorithm if both the source and destination branches contains of non-public changesets only. But this can be slow in cases when we have a lot of drafts. This patch adds a new config option experimental.copytrace.sourcecommitlimit which defaults to 100. This value will be the limit of number of drafts from c1 to base. Incase there are more changesets even though they are draft, the heuristics algorithm will be used. Differential Revision: https://phab.mercurial-scm.org/D763
Tue, 26 Sep 2017 16:14:57 +0300 mail: encode long unicode lines in emails properly (issue5687)
Igor Ippolitov <iippolitov@gmail.com> [Tue, 26 Sep 2017 16:14:57 +0300] rev 34310
mail: encode long unicode lines in emails properly (issue5687) 3e544c074459 introduced a bug: emails Content-Transfer-Encoding is silently replaced with 'quoted-printable' while any other encoding could be used by underlying code. The problem is revealed when a long unicode line is encoded. The patch implements proper check which works for any text and encoding.
Sat, 23 Sep 2017 14:58:40 -0700 chg: show timestamp with debug messages
Jun Wu <quark@fb.com> [Sat, 23 Sep 2017 14:58:40 -0700] rev 34309
chg: show timestamp with debug messages Like `strace -tr`, this helps finding performance bottlenecks. Differential Revision: https://phab.mercurial-scm.org/D807
Mon, 25 Sep 2017 11:05:16 +0200 keepalive: add more context to bad status line errors
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 25 Sep 2017 11:05:16 +0200] rev 34308
keepalive: add more context to bad status line errors As the TODO in the test said, the previous error message was not very helpful. Let's improve things. Differential Revision: https://phab.mercurial-scm.org/D811
Fri, 18 Aug 2017 20:20:38 -0700 tests: add interface checks for bundle, statichttp, and union peers
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 18 Aug 2017 20:20:38 -0700] rev 34307
tests: add interface checks for bundle, statichttp, and union peers I forgot to add these when I initially wrote the test. They inherit from localrepo.localpeer, so they should be explicitly tested. Differential Revision: https://phab.mercurial-scm.org/D810
Sat, 23 Sep 2017 13:46:12 -0700 alias: make alias command lazily resolved
Jun Wu <quark@fb.com> [Sat, 23 Sep 2017 13:46:12 -0700] rev 34306
alias: make alias command lazily resolved With many aliases, resolving them could have some visible overhead. Below is part of traceprof [1] output of `hg bookmark --hidden`: (time unit: ms) 37 \ addaliases dispatch.py:526 37 | __init__ (60 times) dispatch.py:402 33 | findcmd (108 times) cmdutil.py:721 16 | findpossible (49 times) cmdutil.py:683 It may get better by optimizing `findcmd` to do a bisect, but we don't really need to resolve an alias if it's not used, so let's make those command entries lazy. After this patch, `addalias` takes less than 1ms. .. perf:: improved performance when many aliases are defined [1]: https://bitbucket.org/facebook/hg-experimental/src/9aca0dbdbdfc48457e5d2581ca2d6e662fced2e6/hgext3rd/traceprof.pyx Differential Revision: https://phab.mercurial-scm.org/D805
Sat, 23 Sep 2017 13:31:09 -0700 alias: test duplicated definition earlier
Jun Wu <quark@fb.com> [Sat, 23 Sep 2017 13:31:09 -0700] rev 34305
alias: test duplicated definition earlier This patch moves the old definition checking logic introduced by f4b7be3f8430 earlier. So that the test itself does not depend on `aliasdef`. The check is to avoid wrapping a same alias multiple times. It can be done by checking the config name and value (`definition` in code), without constructing a `cmdalias` instance. This makes the next patch easier to review. Differential Revision: https://phab.mercurial-scm.org/D804
(0) -30000 -10000 -3000 -1000 -300 -100 -12 +12 +100 +300 +1000 +3000 +10000 tip