Wed, 21 Feb 2018 08:33:50 -0800 sshpeer: move logic for sending a request into a new function
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 21 Feb 2018 08:33:50 -0800] rev 36397
sshpeer: move logic for sending a request into a new function The **args being used to pass arbitrary command arguments is limiting because it makes it harder to control behavior of the function. We factor most of _callstream() into a new function that doesn't use **args. Differential Revision: https://phab.mercurial-scm.org/D2379
Mon, 19 Feb 2018 15:57:28 -0800 sshpeer: rename _recv and _send to _readframed and _writeframed
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 19 Feb 2018 15:57:28 -0800] rev 36396
sshpeer: rename _recv and _send to _readframed and _writeframed Because it is reading and writing a chunk of data with a well-defined size. "recv" and "send" make it sound like things are a direct proxy to the underlying pipe, which they aren't. Differential Revision: https://phab.mercurial-scm.org/D2378
Wed, 21 Feb 2018 13:41:20 -0800 util: add a file object proxy that can read at most N bytes
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 21 Feb 2018 13:41:20 -0800] rev 36395
util: add a file object proxy that can read at most N bytes Sometimes we have data of a known size within a stream. For performance reasons, we don't want to pre-read this data (we want to allow consumers to read on demand). For simplicitly reasons, we don't want callers to necessarily know their data is coming from within an outer stream and there is a limit to how much they should read. The class introduced by this commit provides a very simple proxy around an underlying file object that allows the consumer to .read() up to N bytes from the file object. Attempts to read past this many bytes results in a simulated EOF. Differential Revision: https://phab.mercurial-scm.org/D2377
Mon, 05 Feb 2018 15:03:51 +0100 patches: release the GIL while applying the patch
Boris Feld <boris.feld@octobus.net> [Mon, 05 Feb 2018 15:03:51 +0100] rev 36394
patches: release the GIL while applying the patch This will allow multiple threads to apply patches at the same time.
Wed, 21 Feb 2018 11:43:12 +0100 perfbranchmap: allow to select the filter to benchmark
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.
Wed, 21 Feb 2018 12:13:16 +0100 perfbranchmap: display 'unfiltered' for unfiltered performance
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.
Thu, 22 Feb 2018 01:00:57 -0500 py3: two more narrow tests passing
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
Thu, 22 Feb 2018 00:51:32 -0500 narrowbundle2: more kwargs native string fixes
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
Wed, 21 Feb 2018 23:24:51 -0500 py3: whitelist another 11 passing tests
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
Wed, 21 Feb 2018 22:49:40 -0500 narrowbundle2: use native string to get kwargs from dict
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
Wed, 21 Feb 2018 22:49:15 -0500 narrowbundle2: drop legacy getcgkwargs variable
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
Wed, 21 Feb 2018 20:05:29 -0800 fancyopts: add support for custom multi-arg opts in fancyopts.py
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
Wed, 21 Feb 2018 11:57:11 -0500 narrowcommands: add some missing strkwargs calls for py3
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
Wed, 21 Feb 2018 11:56:51 -0500 narrowwirepeer: add some strkwargs to fix a crash on py3
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
Wed, 21 Feb 2018 12:03:44 -0500 narrowchangegroup: remove backwards compatibility with old hg
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
Wed, 21 Feb 2018 19:11:11 -0800 narrowbundle2: replace map() with equivalent list comprehension
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
Wed, 21 Feb 2018 11:58:41 -0500 narrowbundle2: this dict contains native strings, look kws up as such
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
Wed, 21 Feb 2018 11:56:22 -0500 tests: port extension in test-narrow-expanddirstate.t to Python 3
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
Wed, 21 Feb 2018 10:10:02 -0500 py3: use list comprehensions instead of filter where we need to eagerly filter
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
Wed, 21 Feb 2018 10:08:35 -0500 narrow: use list comprehension instead of filter for filtering lists
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
Wed, 21 Feb 2018 09:43:35 -0500 py3: whitelist another eight passing tests
Augie Fackler <augie@google.com> [Wed, 21 Feb 2018 09:43:35 -0500] rev 36377
py3: whitelist another eight passing tests Differential Revision: https://phab.mercurial-scm.org/D2362
Tue, 06 Feb 2018 08:57:22 -0800 mq: don't reimplement any()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 06 Feb 2018 08:57:22 -0800] rev 36376
mq: don't reimplement any() Differential Revision: https://phab.mercurial-scm.org/D2376
Tue, 06 Feb 2018 08:55:54 -0800 mq: don't reimplement any()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 06 Feb 2018 08:55:54 -0800] rev 36375
mq: don't reimplement any() Differential Revision: https://phab.mercurial-scm.org/D2375
Tue, 06 Feb 2018 08:54:36 -0800 strip: don't reimplement any()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 06 Feb 2018 08:54:36 -0800] rev 36374
strip: don't reimplement any() Differential Revision: https://phab.mercurial-scm.org/D2374
Tue, 06 Feb 2018 08:52:12 -0800 convert: don't reimplement any()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 06 Feb 2018 08:52:12 -0800] rev 36373
convert: don't reimplement any() Differential Revision: https://phab.mercurial-scm.org/D2373
Tue, 06 Feb 2018 08:49:37 -0800 verify: don't reimplement any()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 06 Feb 2018 08:49:37 -0800] rev 36372
verify: don't reimplement any() Differential Revision: https://phab.mercurial-scm.org/D2372
Tue, 06 Feb 2018 08:48:05 -0800 walkrepos: don't reimplement any()
Martin von Zweigbergk <martinvonz@google.com> [Tue, 06 Feb 2018 08:48:05 -0800] rev 36371
walkrepos: don't reimplement any() Differential Revision: https://phab.mercurial-scm.org/D2371
Wed, 21 Feb 2018 00:25:16 +0530 py3: make sure we open file in bytes mode
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Feb 2018 00:25:16 +0530] rev 36370
py3: make sure we open file in bytes mode Differential Revision: https://phab.mercurial-scm.org/D2360
Wed, 21 Feb 2018 00:24:44 +0530 py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Feb 2018 00:24:44 +0530] rev 36369
py3: add b'' to test-ui-color.py # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D2359
Tue, 20 Feb 2018 22:03:13 -0500 debuginstall: strip double quotes from editorbin on Windows
Matt Harbison <matt_harbison@yahoo.com> [Tue, 20 Feb 2018 22:03:13 -0500] rev 36368
debuginstall: strip double quotes from editorbin on Windows The unconditional posix style shlex.split() prior to 94a1ff16f362 handled this. This isn't mutually exclusive with stripping the quotes in util.findexe()- if the editor can't be found, this command prints out the string, inside single quotes.
Tue, 20 Feb 2018 21:37:30 -0500 pycompat: correct the shlex.split() proxy method signature in py3
Matt Harbison <matt_harbison@yahoo.com> [Tue, 20 Feb 2018 21:37:30 -0500] rev 36367
pycompat: correct the shlex.split() proxy method signature in py3
Tue, 20 Feb 2018 22:23:06 -0500 merge with stable
Augie Fackler <augie@google.com> [Tue, 20 Feb 2018 22:23:06 -0500] rev 36366
merge with stable
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -32 +32 +50 +100 +300 +1000 +3000 +10000 tip