remotefilelog: move most setup from onetimesetup() to uisetup()
All the wrappers moved in this patch check if remotefilelog is enabled
before they change behavior, so it's safe to always wrap.
Differential Revision: https://phab.mercurial-scm.org/D6334
remotefilelog: move most functions in onetimeclientsetup() to top level
This is how most extensions seem to do it. It makes sure we don't
accidentally depend on the captured ui instance.
Differential Revision: https://phab.mercurial-scm.org/D6333
tests: avoid the word "dirty" to mean "not a descendant of merge base"
The term "dirty" is no longer used in the code since
57203e0210f8
(copies: calculate mergecopies() based on pathcopies(), 2019-04-11).
Differential Revision: https://phab.mercurial-scm.org/D6373
releasenotes: add a file in which to record release notes
I've just spent a few very boring hours going through the changelog
for the 5.0 release (829 commits). We only had 5 commits that used the
syntax that the release notes extension expects. This commit adds a
file in which we can record important changes. The file should
preferably be edited in the patch that makes the important change, but
it can also be edited after (I think this is an important benefit
compared to the release notes extension).
I'm thinking that we can rename the file from "next" to "5.1" or
something when it's time, and then we'd create a new "next" file on
the default branch.
I've used the syntax that we use on the our wiki in the template, but
I don't care much that we use any valid syntax at all. The idea is
mostly to record important changes when they happen. I expect that
some copy editing will be needed at release time anyway.
Differential Revision: https://phab.mercurial-scm.org/D6332
record: avoid modifying the matcher passed as a method parameter
No problem observed, but I remember the previous pattern causing problems with
largefiles and/or subrepos. This special matcher was added in
419ac63fe29c, so
directly modifying the `fail` callback was probably an oversight in
44611ad4fbd9.
Differential Revision: https://phab.mercurial-scm.org/D6371
sslutil: add support for SSLKEYLOGFILE to wrapsocket
I recently learned of a Firefox/Chrome feature that allows
wiresharking otherwise-TLS'd network connections. Gloriously, there's
a pypi module that enables this same feature on Python, so let's add
support for it to Mercurial in case we need to wireshark some HTTPs
connections.
Differential Revision: https://phab.mercurial-scm.org/D6343
phabricator: add custom vcr matcher to match request bodies
Currently when the phabricator extension's conduit output changes the tests
don't notice since the default vcr matcher only matches on 'method' and 'uri',
not the body.
Add a custom matcher that checks the same params are in the body (ignoring
ordering).
vcr's in-built body matcher can't be used since it fails under py3 with a
"UnicodeEncodeError" on the "€ in commit message" tests.
The DREV ids have decreased since the recordings were generated against a
different phabricator instance to avoid spamming mercurial-devel.
Differential Revision: https://phab.mercurial-scm.org/D6347