Manuel Jacob <me@manueljacob.de> [Sun, 31 May 2020 10:47:38 +0200] rev 44889
sslutil: fix names of variables containing minimum protocol strings
When working in this module, I found it very confusing that "protocol" as a
variable name could mean either "minimum protocol string" or an exact version
(as a string or ssl.PROTOCOL_* value). This patch prefixes variables of the
former type with "minimum".
Manuel Jacob <me@manueljacob.de> [Sun, 31 May 2020 09:55:45 +0200] rev 44888
sslutil: stop returning argument as third return value of protocolsettings()
The third return value was always the same as the argument.
Manuel Jacob <me@manueljacob.de> [Sat, 30 May 2020 23:18:57 +0200] rev 44887
relnotes: note that we now require modern SSL/TLS features in Python
Manuel Jacob <me@manueljacob.de> [Sat, 30 May 2020 19:04:53 +0200] rev 44886
tests: stop checking for optional, now impossible output
In
7dd63a8cb1ee, the code that could output that line was removed.
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sat, 30 May 2020 10:19:53 -0400] rev 44885
rust: remove one more occurrence of re2
Differential Revision: https://phab.mercurial-scm.org/D8601
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Tue, 26 May 2020 07:03:11 -0400] rev 44884
scmutil: clarify getuipathfn comment
Differential Revision: https://phab.mercurial-scm.org/D8600
Augie Fackler <augie@google.com> [Thu, 28 May 2020 09:51:13 -0400] rev 44883
githelp: add some minimal help for pickaxe functionality
Due to a conversation in work chat, I realized this is actually pretty
well-hidden in Mercurial.
Differential Revision: https://phab.mercurial-scm.org/D8590
Raphaël Gomès <rgomes@octobus.net> [Fri, 17 Apr 2020 10:41:05 +0200] rev 44882
rust: remove duplicate import
Differential Revision: https://phab.mercurial-scm.org/D8456
Manuel Jacob <me@manueljacob.de> [Sat, 30 May 2020 05:27:53 +0200] rev 44881
tests: remove "sslcontext" check
Now that we require the presence of ssl.SSLContext in setup.py, the check
would always return `True`.
Manuel Jacob <me@manueljacob.de> [Sat, 30 May 2020 03:23:58 +0200] rev 44880
sslutil: eliminate `_canloaddefaultcerts` by constant-folding code using it
Manuel Jacob <me@manueljacob.de> [Sat, 30 May 2020 05:08:02 +0200] rev 44879
tests: remove "defaultcacerts" check
`sslutil._canloaddefaultcerts` is always true (and will be removed).
Manuel Jacob <me@manueljacob.de> [Fri, 29 May 2020 21:30:04 +0200] rev 44878
sslutil: eliminate `modernssl` by constant-folding code using it
Manuel Jacob <me@manueljacob.de> [Sat, 30 May 2020 04:59:13 +0200] rev 44877
hgweb: avoid using `sslutil.modernssl`
`sslutil.modernssl` is going to be removed. Since the point of using this
attribute was to check the importability of the `sslutil`, a different
attribute can be used. `sslutil.wrapserversocket` is used because it’s anyway
used a few lines below.
Manuel Jacob <me@manueljacob.de> [Fri, 29 May 2020 22:31:26 +0200] rev 44876
sslutil: remove comments referring to removed SSLContext emulation class
Manuel Jacob <me@manueljacob.de> [Fri, 29 May 2020 21:18:22 +0200] rev 44875
sslutil: remove code checking for presence of ssl.SSLContext
Now that we require the presence of ssl.SSLContext in setup.py, we can remove
this code.
Manuel Jacob <me@manueljacob.de> [Fri, 29 May 2020 21:07:26 +0200] rev 44874
setup: require a Python version with modern SSL features
This increases the minimum security baseline of Mercurial and enables us to
remove compatibility code for supporting older, less secure Python versions.
Manuel Jacob <me@manueljacob.de> [Sat, 30 May 2020 03:46:59 +0200] rev 44873
sslutil: set `_canloaddefaultcerts` to `True` if `ssl.SSLContext` is present
The `load_default_certs()` method was already present when `ssl.SSLContext`
was backported to Python 2.7 (https://hg.python.org/cpython/rev/
221a1f9155e2).
Augie Fackler <augie@google.com> [Thu, 28 May 2020 16:16:13 -0400] rev 44872
filemerge: add __bytes__ for absentfilectx
This will at _least_ aid some upcoming debugging.
Differential Revision: https://phab.mercurial-scm.org/D8592
Augie Fackler <augie@google.com> [Thu, 28 May 2020 16:17:28 -0400] rev 44871
mergestate: move staticmethod _filectxorabsent to module level
I suspect this was a static method just because it made merge.py feel
less messy, but now we have a mergestate package so we can do better.
Differential Revision: https://phab.mercurial-scm.org/D8591
Raphaël Gomès <rgomes@octobus.net> [Fri, 29 May 2020 12:17:59 +0200] rev 44870
rust: remove support for `re2`
With the performance issues with `regex` figured out and fixed in previous
patches and `regex` newly gaining support for empty alternations, there is no
reason to keep `re2` around anymore. It's only *marginally* faster at creating
the regex which saves at most a couple of ms, but gets beaten by `regex` in
every other aspect.
This removes the Rust/C/C++ bridge (hooray!), the `with-re2` feature, the
conditional code that goes with it, the documentation and relevant part of the
debug/module output.
Differential Revision: https://phab.mercurial-scm.org/D8594
Raphaël Gomès <rgomes@octobus.net> [Fri, 29 May 2020 12:12:16 +0200] rev 44869
rust-dependencies: update `regex` to 1.3.9
Version `1.3.8` introduces support for empty alternations, which makes
previously disallowed patterns usable in `regex`.
From a user's perspective, this means that glob patterns like `*.py{,c}` will
no longer generate an "invalid" regex and will use the Rust path.
`1.3.9` is a bugfix release, might as well update to the latest one.
Differential Revision: https://phab.mercurial-scm.org/D8593
Manuel Jacob <me@manueljacob.de> [Fri, 29 May 2020 04:06:16 +0200] rev 44868
cleanup: remove compatibility code for Python < 2.7.4
The minimum supported Python version was recently raised to 2.7.4.
Manuel Jacob <me@manueljacob.de> [Fri, 29 May 2020 03:56:07 +0200] rev 44867
cleanup: eliminate procutil.quotecommand()
After some compatibility code was removed, the function was the identity
function on all platforms.
Manuel Jacob <me@manueljacob.de> [Fri, 29 May 2020 03:43:08 +0200] rev 44866
cleanup: remove compatibility code for Python < 2.7.1
The minimum supported Python version was recently raised to 2.7.4.
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Mon, 25 May 2020 17:39:23 -0400] rev 44865
grep: reduce the cost of pathauditor checks when grepping working copy
Running `time hg grep zxczxczxczxczxc -l` on mozilla-central:
before:
real 0m20,000s
user 0m15,796s
sys 0m4,189s
after:
real 0m10,903s
user 0m8,964s
sys 0m1,916s
if vfs didn't call pathauditor at all:
real 0m7,781s
user 0m5,968s
sys 0m1,790s
Differential Revision: https://phab.mercurial-scm.org/D8582
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Mon, 25 May 2020 17:32:25 -0400] rev 44864
grep: test that paths get audited
Differential Revision: https://phab.mercurial-scm.org/D8581
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Mon, 25 May 2020 17:29:38 -0400] rev 44863
grep: add test coverage of behavior on symlinks
Differential Revision: https://phab.mercurial-scm.org/D8580
Aay Jay Chan <aayjaychan@itopia.com.hk> [Fri, 22 May 2020 22:20:37 +0800] rev 44862
help: fix description of revlog version 2
Differential Revision: https://phab.mercurial-scm.org/D8576