narrow: remove support for old match modules
Differential Revision: https://phab.mercurial-scm.org/D1975
narrow: import experimental extension from narrowhg revision
cb51d673e9c5
Adjustments:
* renamed src to hgext/narrow
* marked extension experimental
* added correct copyright header where it was missing
* updated hgrc extension enable line in library.sh
* renamed library.sh to narrow-library.sh
* dropped all files from repo root as they're not interesting
* dropped test-pyflakes.t, test-check-code.t and test-check-py3-compat.t
* renamed remaining tests to all be test-narrow-* when they didn't already
* fixed test-narrow-expanddirstate.t to refer to narrow and not narrowhg
* fixed tests that wanted `update -C .` instead of `merge --abort`
* corrected a two-space indent in narrowspec.py
* added a missing _() in narrowcommands.py
* fixed imports to pass the import checker
* narrow only adds its --include and --exclude to clone if sparse isn't
enabled to avoid breaking test-duplicateoptions.py. This is a kludge,
and we'll need to come up with a better solution in the future.
These were more or less the minimum to import something that would
pass tests and not create a bunch of files we'll never use.
Changes I intend to make as followups:
* rework the test-narrow-*-tree.t tests to use the new testcases
functionality in run-tests.py
* remove lots of monkeypatches of core things
Differential Revision: https://phab.mercurial-scm.org/D1974
python3: whitelist another four passing tests
Differential Revision: https://phab.mercurial-scm.org/D2197
wireprotoserver: define and use parse_qs from urllib
The cgi module is deprecated since Python 2.6. Let's replace uses
of it in wireprotoserver with a similar function from urllib.
Differential Revision: https://phab.mercurial-scm.org/D2094
tests: add tests for sending recognized command before handshake
Rounding out our test coverage for the SSH server.
Differential Revision: https://phab.mercurial-scm.org/D2093
wireprotoserver: add version to SSH protocol names (API)
We recently introduced version 2 of the SSH protocol. Like we
did for the peer, we will need to differentiate version 1 and 2
of the server. So, we add version components to the advertised
name of the protocol handler.
Nothing in core looks for the old value. But an extension may.
.. api::
SSH protocol handler now advertises its name internally as
"ssh-v1" instead of "ssh."
Differential Revision: https://phab.mercurial-scm.org/D2092
wireproto: introduce type for raw byte responses (API)
Right now we simply return a str/bytes instance for simple
responses. I want all wire protocol response types to be strongly
typed. So let's invent and use a type for raw bytes responses.
.. api::
Wire protocol command handlers now return a
wireprototypes.bytesresponse instead of a raw bytes instance.
Protocol handlers will continue handling bytes instances. However,
any extensions wrapping wire protocol commands will need to handle
the new type.
Differential Revision: https://phab.mercurial-scm.org/D2089