Boris Feld <boris.feld@octobus.net> [Wed, 21 Feb 2018 11:43:12 +0100] rev 36393
perfbranchmap: allow to select the filter to benchmark
Running the branchmap computation on all filter levels can be expensive.
Narrowing the run to some specific filters can speed up benchmarking time when
working only on a subset of filter levels.
Boris Feld <boris.feld@octobus.net> [Wed, 21 Feb 2018 12:13:16 +0100] rev 36392
perfbranchmap: display 'unfiltered' for unfiltered performance
This is slightly clearer than "None" and will help with coming changes to select
the filter level we want timing for.
Augie Fackler <augie@google.com> [Thu, 22 Feb 2018 01:00:57 -0500] rev 36391
py3: two more narrow tests passing
Differential Revision: https://phab.mercurial-scm.org/D2390
Augie Fackler <augie@google.com> [Thu, 22 Feb 2018 00:51:32 -0500] rev 36390
narrowbundle2: more kwargs native string fixes
This gets test-narrow.t to *almost* pass. Something appears to be
borked in producing bundles, but only some of the time? I'm lost, but
this change is at least a clear improvement.
# skip-blame just more r prefixes on strings
Differential Revision: https://phab.mercurial-scm.org/D2389
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 23:24:51 -0500] rev 36389
py3: whitelist another 11 passing tests
This is most of narrow. There's still some buglets at the margins, but
it's pretty good progress for not a lot of work.
Differential Revision: https://phab.mercurial-scm.org/D2388
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 22:49:40 -0500] rev 36388
narrowbundle2: use native string to get kwargs from dict
# skip-blame just some r prefixes on strings
Differential Revision: https://phab.mercurial-scm.org/D2387
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 22:49:15 -0500] rev 36387
narrowbundle2: drop legacy getcgkwargs variable
I think this was around as part of support for some older hg
internals. It's not needed any more.
Differential Revision: https://phab.mercurial-scm.org/D2386
Daniel Ploch <dploch@google.com> [Wed, 21 Feb 2018 20:05:29 -0800] rev 36386
fancyopts: add support for custom multi-arg opts in fancyopts.py
This allows for more complex multi-arg opt logic, such as "--sum 1 --sum 2"
-> 3, "--csv alice,bob --csv charlie" -> ["alice","bob","charlie"]. The
current support for callables is insufficient for this.
This is done by introducing a 'customopt' class which can be extended for
more powerful opts logic. All existing opt-types are converted to use this
class, simplifying the fancyopts() logic.
Differential Revision: https://phab.mercurial-scm.org/D2090
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 11:57:11 -0500] rev 36385
narrowcommands: add some missing strkwargs calls for py3
# skip-blame because it's just r prefixes
Differential Revision: https://phab.mercurial-scm.org/D2367
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 11:56:51 -0500] rev 36384
narrowwirepeer: add some strkwargs to fix a crash on py3
# skip-blame because it's just some r prefixes
Differential Revision: https://phab.mercurial-scm.org/D2366
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 12:03:44 -0500] rev 36383
narrowchangegroup: remove backwards compatibility with old hg
This was missed in the initial import of narrowhg, but was detected by
the Python 3 porting effort once I got enough other things in narrow
fixed.
Differential Revision: https://phab.mercurial-scm.org/D2370
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 19:11:11 -0800] rev 36382
narrowbundle2: replace map() with equivalent list comprehension
The result of this gets used as a list in core code, so the generator
returned by map() on Python 3 is a problem.
Differential Revision: https://phab.mercurial-scm.org/D2369
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 11:58:41 -0500] rev 36381
narrowbundle2: this dict contains native strings, look kws up as such
We could also do a byteskwargs dance, but that seems silly given that
we only need this one element.
Differential Revision: https://phab.mercurial-scm.org/D2368
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 11:56:22 -0500] rev 36380
tests: port extension in test-narrow-expanddirstate.t to Python 3
Differential Revision: https://phab.mercurial-scm.org/D2365
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 10:10:02 -0500] rev 36379
py3: use list comprehensions instead of filter where we need to eagerly filter
These two uses of filter() are then checked for truthiness, but on Python 3:
>>> bool(filter(None, []))
True
So we need to stop depending on that. Fortunately it's easy to replace
the filter with an equivalent list comprehension.
Differential Revision: https://phab.mercurial-scm.org/D2364
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 10:08:35 -0500] rev 36378
narrow: use list comprehension instead of filter for filtering lists
filter() returns a generator on Python 3, which causes these filters
to break things.
Differential Revision: https://phab.mercurial-scm.org/D2363