Wed, 21 Feb 2018 13:08:55 -0800 sshpeer: make pipe polling code more explicit
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 21 Feb 2018 13:08:55 -0800] rev 36400
sshpeer: make pipe polling code more explicit "hasbuffer" is a property on our special bufferedinputpipe class. When reading this code, I thought it might have had something special to do properties on built-in types. But "hasbuffer" doesn't appear in the CPython code base for either 2.7 or 3.7, so the answer is no. Let's make the code more explicit about the fact that it deals with our special bufferedinputpipe type. Differential Revision: https://phab.mercurial-scm.org/D2382
Mon, 19 Feb 2018 13:20:17 -0800 tests: store protocol payload in files
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 19 Feb 2018 13:20:17 -0800] rev 36399
tests: store protocol payload in files Upcoming changes to version 2 of the SSH protocol will introduce binary components to the protocol. It will be easier to eliminate trailing newlines and use binary in the tests if the protocol payload is being generated by Python. So use inline Python to write payloads to files and pipe those files to server processes instead of shell strings/variables. Differential Revision: https://phab.mercurial-scm.org/D2381
Wed, 21 Feb 2018 08:35:48 -0800 sshpeer: return framed file object when needed
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 21 Feb 2018 08:35:48 -0800] rev 36398
sshpeer: return framed file object when needed Currently, wireproto.wirepeer has a default implementation of _submitbatch() and sshv1peer has a very similar implementation. The main difference is that sshv1peer is aware of the total amount of bytes it can read whereas the default implementation reads the stream until no more data is returned. The default implementation works for HTTP, since there is a known end to HTTP responses (either Content-Length or 0 sized chunk). This commit teaches sshv1peer to use our just-introduced "cappedreader" class for wrapping a file object to limit the number of bytes that can be read. We do this by introducing an argument to specify whether the response is framed. If set, we returned a cappedreader instance instead of the raw pipe. _call() always has framed responses. So we set this argument unconditionally and then .read() the entirety of the result. Strictly speaking, we don't need to use cappedreader in this case and can inline frame decoding/read logic. But I like when things are consistent. The overhead should be negligible. _callstream() and _callcompressable() are special: whether framing is used depends on the specific command. So, we define a set of commands that have framed response. It currently only contains "batch." As a result of this change, the one-off implementation of _submitbatch() in sshv1peer can be removed since it is now safe to .read() the response's file object until end of stream. cappedreader takes care of not overrunning the frame. Differential Revision: https://phab.mercurial-scm.org/D2380
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
Mon, 19 Feb 2018 23:47:53 +0530 convert: don't use type as a variable name
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 23:47:53 +0530] rev 36365
convert: don't use type as a variable name Differential Revision: https://phab.mercurial-scm.org/D2358
Mon, 19 Feb 2018 23:47:15 +0530 convert: don't use bytes as a variable name
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 23:47:15 +0530] rev 36364
convert: don't use bytes as a variable name Differential Revision: https://phab.mercurial-scm.org/D2357
Mon, 19 Feb 2018 23:46:42 +0530 py3: add a r'' prefix to prevent transformer from adding b''
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 23:46:42 +0530] rev 36363
py3: add a r'' prefix to prevent transformer from adding b'' # skip-blame as only r'' prefix was added Differential Revision: https://phab.mercurial-scm.org/D2356
Mon, 19 Feb 2018 23:44:41 +0530 py3: use pycompat.byteskwargs in hgext/convert/
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 23:44:41 +0530] rev 36362
py3: use pycompat.byteskwargs in hgext/convert/ Differential Revision: https://phab.mercurial-scm.org/D2355
Mon, 19 Feb 2018 21:45:49 +0530 py3: add b'' prefixes in test-mdiff.py
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 21:45:49 +0530] rev 36361
py3: add b'' prefixes in test-mdiff.py # skip-blame because we are just adding b'' Differential Revision: https://phab.mercurial-scm.org/D2354
Mon, 19 Feb 2018 21:18:52 +0530 py3: use dict.items() instead of dict.iteritems() in tests
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 21:18:52 +0530] rev 36360
py3: use dict.items() instead of dict.iteritems() in tests dict.iteritems() is not present in Python 3. Differential Revision: https://phab.mercurial-scm.org/D2353
Mon, 19 Feb 2018 15:28:54 +0530 py3: add b'' prefixes in test-transplant.t
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 15:28:54 +0530] rev 36359
py3: add b'' prefixes in test-transplant.t # skip-blame because we are just adding b'' Differential Revision: https://phab.mercurial-scm.org/D2352
Mon, 19 Feb 2018 15:28:16 +0530 py3: add b'' prefixes in fakepatchtime.py
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 15:28:16 +0530] rev 36358
py3: add b'' prefixes in fakepatchtime.py # skip-blame because we are just adding b'' Differential Revision: https://phab.mercurial-scm.org/D2351
Mon, 19 Feb 2018 15:27:25 +0530 py3: add b'' prefixes in fakedirstatewritetime.py
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 15:27:25 +0530] rev 36357
py3: add b'' prefixes in fakedirstatewritetime.py # skip-blame because we are just adding b'' Differential Revision: https://phab.mercurial-scm.org/D2350
Mon, 19 Feb 2018 15:26:07 +0530 py3: use '%d' to convert integer to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 15:26:07 +0530] rev 36356
py3: use '%d' to convert integer to bytes Differential Revision: https://phab.mercurial-scm.org/D2349
Mon, 19 Feb 2018 12:48:50 +0800 hgweb: show each obsfateentry on its own line
Anton Shestakov <av6@dwimlabs.net> [Mon, 19 Feb 2018 12:48:50 +0800] rev 36355
hgweb: show each obsfateentry on its own line Commits with more than one reason for being obsolete used to just show obsfate entries all on one line, and that doesn't look good. Let's show each entry on its own line. In paper and coal the lines are simply split using a <br> element, and in other hgweb themes each entry has its own table header. This is done by analogy with changeset parents and children -- in paper and coal they are all put into one table row, and everywhere else each one gets a separate row.
Mon, 19 Feb 2018 12:30:23 +0800 tests: check obsolete changeset with two obsfate entries
Anton Shestakov <av6@dwimlabs.net> [Mon, 19 Feb 2018 12:30:23 +0800] rev 36354
tests: check obsolete changeset with two obsfate entries It's more interesting to see how a changeset that was both rewritten and split looks in hgweb.
Sun, 18 Feb 2018 15:53:48 -0500 py3: whitelist another six passing tests
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 15:53:48 -0500] rev 36353
py3: whitelist another six passing tests Differential Revision: https://phab.mercurial-scm.org/D2348
Sun, 18 Feb 2018 15:38:29 -0500 lock: delay is numeric, use %d for formatting
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 15:38:29 -0500] rev 36352
lock: delay is numeric, use %d for formatting Differential Revision: https://phab.mercurial-scm.org/D2347
Sun, 18 Feb 2018 15:23:26 -0500 debugbuilddag: use '%d' instead of str() to get numbered lines
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 15:23:26 -0500] rev 36351
debugbuilddag: use '%d' instead of str() to get numbered lines Differential Revision: https://phab.mercurial-scm.org/D2346
Sun, 18 Feb 2018 15:18:07 -0500 tests: add missing b prefixes in test-pending.t
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 15:18:07 -0500] rev 36350
tests: add missing b prefixes in test-pending.t # skip-blame more b prefixes Differential Revision: https://phab.mercurial-scm.org/D2345
Sun, 18 Feb 2018 14:53:55 -0500 merge: make a copy of dict.items() before mutating the dict during iteration
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 14:53:55 -0500] rev 36349
merge: make a copy of dict.items() before mutating the dict during iteration Differential Revision: https://phab.mercurial-scm.org/D2344
Sun, 18 Feb 2018 14:53:31 -0500 largefiles: give some **opts some strkwargs love
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 14:53:31 -0500] rev 36348
largefiles: give some **opts some strkwargs love Differential Revision: https://phab.mercurial-scm.org/D2343
Sun, 18 Feb 2018 14:43:55 -0500 wireproto: fix lingering str(exception) with util.forcebytestr(exception)
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 14:43:55 -0500] rev 36347
wireproto: fix lingering str(exception) with util.forcebytestr(exception) Differential Revision: https://phab.mercurial-scm.org/D2342
Sun, 18 Feb 2018 14:37:36 -0500 scmutil: fix requires-file isalnum() check on first byte
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 14:37:36 -0500] rev 36346
scmutil: fix requires-file isalnum() check on first byte Slice instead of subscript to get a bytes from a bytes. # skip-blame just a py3 slice-instead-of-subscript change Differential Revision: https://phab.mercurial-scm.org/D2341
Sun, 18 Feb 2018 14:29:04 -0500 largefiles: mark headre as bytes regex
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 14:29:04 -0500] rev 36345
largefiles: mark headre as bytes regex Differential Revision: https://phab.mercurial-scm.org/D2340
Sun, 18 Feb 2018 14:28:31 -0500 largfiles: replace filter() with listcomp when result needs to be a list
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 14:28:31 -0500] rev 36344
largfiles: replace filter() with listcomp when result needs to be a list filter() is a generator on Python 3, but these cases are used as lists. Differential Revision: https://phab.mercurial-scm.org/D2339
Sun, 18 Feb 2018 14:25:03 -0500 largefiles: make scheme regex a bytes regex
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 14:25:03 -0500] rev 36343
largefiles: make scheme regex a bytes regex # skip-blame just a b prefix Differential Revision: https://phab.mercurial-scm.org/D2338
Sat, 17 Feb 2018 13:13:04 +0900 debuginstall: do not parse editor command in posix way on Windows
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Feb 2018 13:13:04 +0900] rev 36342
debuginstall: do not parse editor command in posix way on Windows An editor command is executed by a system shell, which is cmd.exe on Windows.
Sun, 18 Feb 2018 22:13:25 +0900 py3: use bytes() to byte-stringify url object in url.py
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Feb 2018 22:13:25 +0900] rev 36341
py3: use bytes() to byte-stringify url object in url.py Perhaps we'll have to convert it back and forth from/to bytes and unicode at urllib boundary, but at least util.hidepassword() wants a byte string.
Sun, 18 Feb 2018 22:12:11 +0900 url: show full url of proxy server in debug message
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Feb 2018 22:12:11 +0900] rev 36340
url: show full url of proxy server in debug message This only fixes the debug message spotted by issue5796.
Mon, 19 Feb 2018 00:31:01 +0530 py3: make sure we are doing integer division by using '//'
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 00:31:01 +0530] rev 36339
py3: make sure we are doing integer division by using '//' Differential Revision: https://phab.mercurial-scm.org/D2337
Mon, 19 Feb 2018 00:15:50 +0530 py3: make sure regex is bytes in crecord.py
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 00:15:50 +0530] rev 36338
py3: make sure regex is bytes in crecord.py # skip-blame because we are just adding b'' Differential Revision: https://phab.mercurial-scm.org/D2336
Mon, 19 Feb 2018 00:14:33 +0530 py3: use "%d" for integers instead of "%s"
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 19 Feb 2018 00:14:33 +0530] rev 36337
py3: use "%d" for integers instead of "%s" Differential Revision: https://phab.mercurial-scm.org/D2335
Sun, 18 Feb 2018 18:22:40 +0530 py3: make sure we open the files in bytes mode
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 18:22:40 +0530] rev 36336
py3: make sure we open the files in bytes mode Differential Revision: https://phab.mercurial-scm.org/D2333
Sun, 18 Feb 2018 00:59:03 -0500 py3: whitelist another three passing tests
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:59:03 -0500] rev 36335
py3: whitelist another three passing tests Differential Revision: https://phab.mercurial-scm.org/D2318
Sun, 18 Feb 2018 00:49:29 -0500 manifest: use list(dict) instead of dict.keys() to get a list of keys
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:49:29 -0500] rev 36334
manifest: use list(dict) instead of dict.keys() to get a list of keys Differential Revision: https://phab.mercurial-scm.org/D2317
Sun, 18 Feb 2018 00:49:11 -0500 manifest: correct the one use of iterkeys() on a dict
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:49:11 -0500] rev 36333
manifest: correct the one use of iterkeys() on a dict As far as I can tell, this is the only iterkeys() in this file that was actually on a dict. The rest are on custom manifest types. Differential Revision: https://phab.mercurial-scm.org/D2316
Sun, 18 Feb 2018 00:43:50 -0500 py3: use default dict iterator instead of iterkeys
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:43:50 -0500] rev 36332
py3: use default dict iterator instead of iterkeys These are the easy cases. Some cases in manifest.py will require more careful inspection. Differential Revision: https://phab.mercurial-scm.org/D2315
Sun, 18 Feb 2018 00:35:37 -0500 py3: whitelist five more passing tests
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:35:37 -0500] rev 36331
py3: whitelist five more passing tests Differential Revision: https://phab.mercurial-scm.org/D2314
Sun, 18 Feb 2018 00:03:39 -0500 httppeer: headers are native strings
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:03:39 -0500] rev 36330
httppeer: headers are native strings # skip-blame just marking some native strings Differential Revision: https://phab.mercurial-scm.org/D2313
Sun, 18 Feb 2018 00:03:27 -0500 hgweb: header dict entries are native strings
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:03:27 -0500] rev 36329
hgweb: header dict entries are native strings # skip-blame just marking some native strings Differential Revision: https://phab.mercurial-scm.org/D2312
Sun, 18 Feb 2018 00:03:05 -0500 keepalive: headers are native strings, mark them as such
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:03:05 -0500] rev 36328
keepalive: headers are native strings, mark them as such # skip-blame just marking some native strings Differential Revision: https://phab.mercurial-scm.org/D2311
Sun, 18 Feb 2018 18:22:15 +0530 py3: use range instead of xrange on py3 in tests/test-ui-verbosity.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 18:22:15 +0530] rev 36327
py3: use range instead of xrange on py3 in tests/test-ui-verbosity.py xrange is not present on Python 3. Differential Revision: https://phab.mercurial-scm.org/D2332
Sun, 18 Feb 2018 18:20:57 +0530 py3: use range instead of xrange in tests/test-revset2.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 18:20:57 +0530] rev 36326
py3: use range instead of xrange in tests/test-revset2.t xrange is not present on Python 3. Differential Revision: https://phab.mercurial-scm.org/D2331
Sun, 18 Feb 2018 18:20:21 +0530 py3: use range instead of xrange in tests/test-mq-qimport.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 18:20:21 +0530] rev 36325
py3: use range instead of xrange in tests/test-mq-qimport.t xrange is not present on Python 3. Differential Revision: https://phab.mercurial-scm.org/D2330
Sun, 18 Feb 2018 18:19:10 +0530 py3: use range instead of xrange in tests/test-issue4074.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 18:19:10 +0530] rev 36324
py3: use range instead of xrange in tests/test-issue4074.t xrange in not present on Python 3. Differential Revision: https://phab.mercurial-scm.org/D2329
Sun, 18 Feb 2018 18:18:24 +0530 py3: use range instead of xrange in tests/test-convert-mtn.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 18:18:24 +0530] rev 36323
py3: use range instead of xrange in tests/test-convert-mtn.t xrange in not present on Python 3. This change will make the test a bit slower on Python 2. Differential Revision: https://phab.mercurial-scm.org/D2328
Sun, 18 Feb 2018 18:28:45 +0530 py3: use range instead of xrange in tests/test-commandserver.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 18:28:45 +0530] rev 36322
py3: use range instead of xrange in tests/test-commandserver.t xrange is not present on Python 3. Differential Revision: https://phab.mercurial-scm.org/D2327
Sun, 18 Feb 2018 18:07:12 +0530 py3: use range instead of xrange in tests/test-walk.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 18:07:12 +0530] rev 36321
py3: use range instead of xrange in tests/test-walk.t xrange in not present in python 3. Differential Revision: https://phab.mercurial-scm.org/D2326
Sun, 18 Feb 2018 17:43:12 +0530 py3: use range instead of xrange in tests/test-mq-missingfiles.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 17:43:12 +0530] rev 36320
py3: use range instead of xrange in tests/test-mq-missingfiles.t xrange is not present in python 3. Differential Revision: https://phab.mercurial-scm.org/D2325
Sun, 18 Feb 2018 17:42:33 +0530 py3: use range instead of xrange on py3 in tests/test-filecache.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 17:42:33 +0530] rev 36319
py3: use range instead of xrange on py3 in tests/test-filecache.py xrange is not present on py3. Differential Revision: https://phab.mercurial-scm.org/D2324
Sun, 18 Feb 2018 17:41:56 +0530 py3: use range instead on xrange on py3 in tests/test-atomictempfile.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 17:41:56 +0530] rev 36318
py3: use range instead on xrange on py3 in tests/test-atomictempfile.py xrange is not available on Python 3. Differential Revision: https://phab.mercurial-scm.org/D2323
Sun, 18 Feb 2018 17:37:47 +0530 py3: add b'' prefix in test-mq-qrefresh-replace-log-message.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 17:37:47 +0530] rev 36317
py3: add b'' prefix in test-mq-qrefresh-replace-log-message.t # ski-blame as we just added b'' Differential Revision: https://phab.mercurial-scm.org/D2322
Sun, 18 Feb 2018 17:36:52 +0530 py3: add b'' prefixes in test-mq-eol.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 17:36:52 +0530] rev 36316
py3: add b'' prefixes in test-mq-eol.t # skip-blame because we are just adding b'' Differential Revision: https://phab.mercurial-scm.org/D2321
Sun, 18 Feb 2018 17:35:44 +0530 py3: explicitly convert result of dict.items() into list
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 17:35:44 +0530] rev 36315
py3: explicitly convert result of dict.items() into list Differential Revision: https://phab.mercurial-scm.org/D2320
Sun, 18 Feb 2018 17:35:13 +0530 py3: use pycompat.byteskwargs() to convert opts keys to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 18 Feb 2018 17:35:13 +0530] rev 36314
py3: use pycompat.byteskwargs() to convert opts keys to bytes Differential Revision: https://phab.mercurial-scm.org/D2319
Sun, 18 Feb 2018 00:02:33 -0500 wireprotoserver: py3 helpfully calls adds HTTP_ to CONTENT_LENGTH
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:02:33 -0500] rev 36313
wireprotoserver: py3 helpfully calls adds HTTP_ to CONTENT_LENGTH Just handle both with a membership check, preferring the HTTP_ namespaced version. Sigh. Differential Revision: https://phab.mercurial-scm.org/D2310
Sun, 18 Feb 2018 00:01:43 -0500 tests: port inline Python in test-http-branchmap.t to Python 3
Augie Fackler <augie@google.com> [Sun, 18 Feb 2018 00:01:43 -0500] rev 36312
tests: port inline Python in test-http-branchmap.t to Python 3 Differential Revision: https://phab.mercurial-scm.org/D2309
Sat, 17 Feb 2018 22:52:24 -0500 hgweb_mod: partially undo 8afc25e7effc to fix py3
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 22:52:24 -0500] rev 36311
hgweb_mod: partially undo 8afc25e7effc to fix py3 We now bytes-ify the entire request, so this is wrong. Differential Revision: https://phab.mercurial-scm.org/D2308
Sat, 17 Feb 2018 22:39:38 -0500 tags: don't feed both int and None to min()
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 22:39:38 -0500] rev 36310
tags: don't feed both int and None to min() They're not comparable on Python 3, and we can just map None to 0. Differential Revision: https://phab.mercurial-scm.org/D2307
Sat, 17 Feb 2018 22:39:12 -0500 tests: fix get-with-headers.py on python3 when writing to stdout
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 22:39:12 -0500] rev 36309
tests: fix get-with-headers.py on python3 when writing to stdout Differential Revision: https://phab.mercurial-scm.org/D2306
Sat, 17 Feb 2018 22:38:53 -0500 webcommands: use pycompat.strkwargs as needed
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 22:38:53 -0500] rev 36308
webcommands: use pycompat.strkwargs as needed Differential Revision: https://phab.mercurial-scm.org/D2305
Sat, 17 Feb 2018 22:38:25 -0500 webcommands: unpack contents of length-1 dict portably
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 22:38:25 -0500] rev 36307
webcommands: unpack contents of length-1 dict portably ((k,v),) = dict.items() was suggested by some friends, but I feel like that's maybe too clever? Differential Revision: https://phab.mercurial-scm.org/D2304
Sat, 17 Feb 2018 22:37:35 -0500 bundle2: use pycompat.strkwargs as needed
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 22:37:35 -0500] rev 36306
bundle2: use pycompat.strkwargs as needed Differential Revision: https://phab.mercurial-scm.org/D2303
Sat, 17 Feb 2018 21:47:49 -0500 tests: add b prefixes to test-rebase-dest.t
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 21:47:49 -0500] rev 36305
tests: add b prefixes to test-rebase-dest.t # skip-blame just b prefixes Differential Revision: https://phab.mercurial-scm.org/D2302
Sat, 17 Feb 2018 21:47:26 -0500 rebase: sort roots by revision
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 21:47:26 -0500] rev 36304
rebase: sort roots by revision Previously we were sorting them by whatever implicit sort order we got between changectx instances. Sorting by rev at least makes some sense, so I chose that. Differential Revision: https://phab.mercurial-scm.org/D2301
Sat, 17 Feb 2018 21:25:14 -0500 httppeer: use %d to format int
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 21:25:14 -0500] rev 36303
httppeer: use %d to format int Differential Revision: https://phab.mercurial-scm.org/D2300
Sat, 17 Feb 2018 17:24:29 +0900 extensions: reject any unicode strings in tables before loading
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Feb 2018 17:24:29 +0900] rev 36302
extensions: reject any unicode strings in tables before loading This allows us to test hg on Python 3 without disabling third-party extensions which could pollute cmdtable for example.
Sat, 17 Feb 2018 18:20:15 +0900 py3: make test-extdiff.t pass on Python 3
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Feb 2018 18:20:15 +0900] rev 36301
py3: make test-extdiff.t pass on Python 3
Sat, 17 Feb 2018 18:15:37 +0900 py3: make regexp patterns bytes in extdiff
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Feb 2018 18:15:37 +0900] rev 36300
py3: make regexp patterns bytes in extdiff
Sat, 17 Feb 2018 18:14:51 +0900 py3: fix bytes-unicode dance while building docstring of extdiff
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Feb 2018 18:14:51 +0900] rev 36299
py3: fix bytes-unicode dance while building docstring of extdiff
Sat, 17 Feb 2018 18:09:56 +0900 py3: factor out byterepr() which returns an asciified value on py3
Yuya Nishihara <yuya@tcha.org> [Sat, 17 Feb 2018 18:09:56 +0900] rev 36298
py3: factor out byterepr() which returns an asciified value on py3
Thu, 15 Feb 2018 17:14:45 +0530 remotenames: don't use the default value of logfmt for namespaces
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 15 Feb 2018 17:14:45 +0530] rev 36297
remotenames: don't use the default value of logfmt for namespaces logfmt is the format which is used to format the log output for that namespace. This patch passes "remote {bookmark|branch}: %s" as the logfmt. Space is not added after bookmark and branch to make output consistent with other details. Still this is not the best output. We may need to wrap getlogcolumns() to change spacing in the in built columns to match the remotenames one. lognames are also deleted as they are superseded by logfmt. Differential Revision: https://phab.mercurial-scm.org/D2277
Sat, 17 Feb 2018 01:41:08 -0500 py3: whitelist test-pull-http.t
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 01:41:08 -0500] rev 36296
py3: whitelist test-pull-http.t There's a lot of work left to do on network-related stuff, but I at least got one more test passing. Differential Revision: https://phab.mercurial-scm.org/D2296
Sat, 17 Feb 2018 00:29:23 -0500 scmutil: bytes-ify IOErrors before wrapping them in abort message
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 00:29:23 -0500] rev 36295
scmutil: bytes-ify IOErrors before wrapping them in abort message Differential Revision: https://phab.mercurial-scm.org/D2292
Sat, 17 Feb 2018 13:55:12 -0700 py3: port f to Python 3
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 17 Feb 2018 13:55:12 -0700] rev 36294
py3: port f to Python 3 This involved a lot of b'' literals, conversion from %s to %d, and using a hashing mechanism that returns bytes instead of str. Differential Revision: https://phab.mercurial-scm.org/D2299
Sun, 11 Feb 2018 17:17:56 +0530 py3: replace file() with open() in test-convert-git.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 11 Feb 2018 17:17:56 +0530] rev 36293
py3: replace file() with open() in test-convert-git.t file() is not present in Python 3. It also makes sure we write bytes on Python 3. Differential Revision: https://phab.mercurial-scm.org/D2133
Thu, 15 Feb 2018 12:45:46 +0530 bundle: updates the help text for hg bundle (issue5744)
Sushil khanchi <sushilkhanchi97@gmail.com> [Thu, 15 Feb 2018 12:45:46 +0530] rev 36292
bundle: updates the help text for hg bundle (issue5744) Differential Revision: https://phab.mercurial-scm.org/D2278
Sat, 17 Feb 2018 01:11:48 -0500 py3: get bytes-repr of network errors portably
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 01:11:48 -0500] rev 36291
py3: get bytes-repr of network errors portably This resolves a lot of weird issues in Python 3 around error strings. Differential Revision: https://phab.mercurial-scm.org/D2295
Sat, 17 Feb 2018 01:09:56 -0500 hgweb: open server logs in binary mode
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 01:09:56 -0500] rev 36290
hgweb: open server logs in binary mode This is consistent with when we're logging to stdout, so we don't have to do something annoyingly complicated in the logging infrastructure. Differential Revision: https://phab.mercurial-scm.org/D2294
Sat, 17 Feb 2018 00:29:46 -0500 tests: add some b prefixes in test-http-bundle1.t
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 00:29:46 -0500] rev 36289
tests: add some b prefixes in test-http-bundle1.t # skip-blame just some b prefixes Differential Revision: https://phab.mercurial-scm.org/D2293
Sat, 17 Feb 2018 00:28:55 -0500 hgweb: correctly bytes-ify status, not string-ify
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 00:28:55 -0500] rev 36288
hgweb: correctly bytes-ify status, not string-ify Differential Revision: https://phab.mercurial-scm.org/D2291
Sat, 17 Feb 2018 00:28:24 -0500 printenv: port to python3
Augie Fackler <augie@google.com> [Sat, 17 Feb 2018 00:28:24 -0500] rev 36287
printenv: port to python3 Differential Revision: https://phab.mercurial-scm.org/D2290
Thu, 15 Feb 2018 09:18:20 -0500 py3: whitelist another eight passing tests
Augie Fackler <augie@google.com> [Thu, 15 Feb 2018 09:18:20 -0500] rev 36286
py3: whitelist another eight passing tests Differential Revision: https://phab.mercurial-scm.org/D2281
Wed, 14 Feb 2018 23:23:57 -0500 remotenames: port partway to python3 by using collections.MutableMapping
Augie Fackler <augie@google.com> [Wed, 14 Feb 2018 23:23:57 -0500] rev 36285
remotenames: port partway to python3 by using collections.MutableMapping test-logexchange.t doesn't pass after this, but at least the remotenames extension can be imported. Differential Revision: https://phab.mercurial-scm.org/D2280
Fri, 16 Feb 2018 11:33:56 -0800 tests: avoid referring to pvec in demandimport test
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Feb 2018 11:33:56 -0800] rev 36284
tests: avoid referring to pvec in demandimport test Nothing else currently uses pvec, so we may want to delete it (but Augie Fackler says he may want to use it). To enable deletion, this patch replaces it by the error module in the demandimport test (any module works). However, since the error module had already been loaded at this point in the test (via the util module), I moved it earlier in the test so it's still not loaded (although I'm not sure if that's even relevant to the test). Differential Revision: https://phab.mercurial-scm.org/D2287
Mon, 08 Jan 2018 12:09:43 +0900 help: use cmdutil.parsealiases() to resolve command name
Yuya Nishihara <yuya@tcha.org> [Mon, 08 Jan 2018 12:09:43 +0900] rev 36283
help: use cmdutil.parsealiases() to resolve command name This seems slightly better than parsing '^command|name' string by using an ad-hoc pattern.
Sun, 27 Dec 2015 14:13:27 +0900 help: list deprecated and experimental extensions if --verbose
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Dec 2015 14:13:27 +0900] rev 36282
help: list deprecated and experimental extensions if --verbose This is common in the other help topics.
Sun, 27 Dec 2015 13:08:51 +0900 hgweb: translate Abort in help command to 404 error
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Dec 2015 13:08:51 +0900] rev 36281
hgweb: translate Abort in help command to 404 error c3784e3c3e8d changed the exception type to be raised if unknowncmd=False.
(0) -30000 -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 tip