Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 05 Aug 2016 14:19:31 +0200] rev 31428
localrepo: use self.wvfs.islink directly
We are about to deprecate the helper function.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 16 Mar 2017 10:10:00 +0530] rev 31427
py3: convert opts back to bytes for status
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 17:49:13 -0700] rev 31426
parsers: handle refcounting of "parents" consistently
Py_None can be refcounted like any other Python object. So
do that.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 15 Mar 2017 09:32:18 -0700] rev 31425
py3: make py3 compat.iterbytestr simpler and faster
With Python 3.4.3, timit says 11.9 usec-> 6.44 usec. With Python
3.6.0, timeit says 14.1 usec -> 9.55 usec.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 15 Mar 2017 09:30:50 -0700] rev 31424
py3: optimize py3 compat.bytechr using Struct.pack
With Python 3.4.3, timeit says 0.437 usec -> 0.0685 usec. With Python
3.6, timeit says 0.157 usec -> 0.0907 usec. So it's faster on both
versions, but the speedup varies a lot.
Thanks to Gregory Szorc for the suggestion.
Ryan McElroy <rmcelroy@fb.com> [Wed, 15 Mar 2017 19:26:20 -0700] rev 31423
tests: properly drop back to root dir in test-status.t
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 16 Mar 2017 09:00:27 +0530] rev 31422
dirstate: use list comprehension to get a list of keys
We have used dict.keys() which returns a dict_keys() object instead
of list on Python 3. So this patch replaces that with list comprehension
which works both on Python 2 and 3.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 16 Mar 2017 08:03:51 +0530] rev 31421
match: slice over bytes to get the byteschr instead of ascii value
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 16 Mar 2017 07:52:47 +0530] rev 31420
match: make regular expression bytes to prevent TypeError
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 16 Mar 2017 06:32:33 +0530] rev 31419
scmutil: make function name bytes in class filecache
func.__name__ returns unicodes and this leads to keyerror when we try
to do filecache[''] by passing bytes.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 15 Mar 2017 00:27:17 -0700] rev 31418
localrepo: deprecate 'wfile'
The method had very few users and the modern form is shorter. So let us
deprecates another method of the localrepo class.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 15 Mar 2017 00:31:59 -0700] rev 31417
eol: use 'wvfs' instead of 'wfile'
Method is about to be deprecated and the modern form is shorter.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 15 Mar 2017 00:29:09 -0700] rev 31416
localrepo: use 'wvfs' instead of 'wfile'
Method is about to be deprecated and the modern form is shorter.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 15 Mar 2017 00:28:58 -0700] rev 31415
tagmerge: use 'wvfs' instead of 'wfile'
Method is about to be deprecated and the modern form is shorter.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 15 Mar 2017 00:28:21 -0700] rev 31414
gpg: use 'wvfs' instead of 'wfile'
Method is about to be deprecated and the modern form is shorter.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 28 Dec 2016 23:42:50 +0100] rev 31413
test: add a basic 'test-check-pylint.t'
We add a minimal check using pylint for one case we knows we care about:
"mutable default" argument.
We'll likely extend this over time to cover other useful checks but this is a
good starting point.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 23:50:07 -0700] rev 31412
localrepo: don't use mutable default argument value
Caught by pylint.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 23:49:25 -0700] rev 31411
httpclient: don't use mutable default argument value
Caught by pylint.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 23:49:10 -0700] rev 31410
largefiles: don't use mutable default argument value
Caught by pylint.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 23:48:25 -0700] rev 31409
hgk: don't use mutable default argument value
Caught by pylint.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 23:48:08 -0700] rev 31408
convert: don't use mutable default argument value
Caught by pylint.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 23:46:48 -0700] rev 31407
mq: don't use mutable default argument value
Caught by pylint.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Mar 2017 21:43:17 -0700] rev 31406
pager: if old pager extensions is enabled, respect pager.attend
This patch makes us respect pager.attend again if the extension is
enabled. It also brings back the default attend list, so e.g. summary
is not paged by default, just like it used to be before pager was
moved into core.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Mar 2017 21:42:59 -0700] rev 31405
tests: duplicate test for pager for old extension and for in-core pager
When the old pager extension is enabled, I think we should try to be
as BC as reasonable. To help with that, this patch brings back
test-pager.t as of
65a3b4d67a65 (pager: add a test of --pager=no
functionality, 2017-02-06), but under the name test-pager-legacy.t
However, since the behavior has changed in a few cases (notably by no
longer respecting pager.attend), the file is modified to work with the
current version. We will recover some lost BC in coming patches.
Also, to make sure the in-core pager does not depend on the pager
extension being enabled, this patch disables the extension in
test-pager.t. It turns out that pager.attend-$cmd was only supported
when the pager extension was enabled, so the tests are updated to
reflect that. We will need to decide what to do with these.
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 14 Mar 2017 08:51:35 -0700] rev 31404
util: make strdate's defaults default value a dict
It was specified to be an empty list in
c6adf2be6069 in 2007.
It was correct at the time. But when the function was
refactored in
91bc001a592f (2010), it started expecting a dict.
I guess this code path is untested?
Thanks to Yuya for spotting this.
Rishabh Madan <rishabhmadan96@gmail.com> [Wed, 15 Mar 2017 14:51:18 +0530] rev 31403
py3: open file in rb mode
Kyle Lippincott <spectral@google.com> [Tue, 14 Mar 2017 13:10:30 -0700] rev 31402
debuglabelcomplete: fix to call debugnamecomplete in new location
debugnamecomplete was moved in
a9aa67ba from commands to debugcommands, but
debuglabelcomplete was not modified to call it in its new location.
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 13:06:37 -0700] rev 31401
tests: prove that `hg init` works with Python 3
The previous patch made `hg init` work!
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 12:16:47 -0700] rev 31400
pycompat: custom implementation of urllib.parse.quote()
urllib.parse.quote() accepts either str or bytes and returns str.
There exists a urllib.parse.quote_from_bytes() which only accepts
bytes. We should probably use that to retain strong typing and
avoid surprises.
In addition, since nearly all strings in Mercurial are bytes, we
probably don't want quote() returning unicode.
So, this patch implements a custom quote() that only accepts bytes
and returns bytes. The quoted URL should only contain URL safe
characters which is a strict subset of ASCII. So
`.encode('ascii', 'strict')` should be safe.
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 13 Mar 2017 12:14:17 -0700] rev 31399
pycompat: alias urllib symbols directly
urllib.request imports a bunch of symbols from other urllib
modules. We should map to the original symbols not the
re-exported ones because this is more correct. Also, it
will prevent an import of urllib.request if only one of
the lower-level symbols/modules is needed.