Gregory Szorc <gregory.szorc@gmail.com> [Tue, 27 Feb 2018 15:06:10 -0800] rev 36611
wireproto: don't expose legacy commands to version 2 of wire protocol
Now that we have the ability to control which transports a wire
protocol command is exposed on, let's put it to use.
We flag the "branches," "changegroup," and "changegroupsubset"
commands as only available on version 1. "branches" was used by the
legacy discovery mechanism and was replaced by the "known" and
"heads" commands. "changegroup" and "changegroupsubset" were
replaced by "getbundle."
"between" is also legacy. However, since it is used by the SSH
handshake protocol, marking it as legacy is a bit more complicated
and will be done in a later commit.
Another nuanced issue with this change is that the server-advertised
capabilities still list "changegroupsubset" despite the command not
being available. This will be addressed in a subsequent commit.
Differential Revision: https://phab.mercurial-scm.org/D2485
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 27 Feb 2018 14:56:03 -0800] rev 36610
wireprotoserver: identify requests via version 2 of SSH protocol as such
The protocol handler needs to advertise itself as version 2 in order
for a future feature to work.
Differential Revision: https://phab.mercurial-scm.org/D2484
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 02 Mar 2018 09:47:37 -0500] rev 36609
wireproto: allow wire protocol commands to declare transport support
Currently, wire protocol commands are exposed on all transports.
Some wire protocol commands are only supported or sensical on some
transports. In the future, new wire protocol commands may only be
available on new transports and legacy wire protocol commands may
not be available to newer transports.
This commit introduces a mechanism to allow @wireprotocommand to
declare transports for which they should not be available. The
mechanism for determining if a wire protocol command is available
for a given transport instance has been taught to take this knowledge
into account.
To help implement this feature, we add a dict to wireprototypes
declaring all wire transports and their metadata. There's probably
room to refactor the constants used to identify the wire protocols.
But that can be in another commit.
Differential Revision: https://phab.mercurial-scm.org/D2483
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 02 Mar 2018 18:50:49 -0500] rev 36608
sshpeer: don't read from stderr when that behavior is disabled
We previously prevented the creation of doublepipe instances when
we're not supposed to automatically read from stderr. However,
there were other automatic calls to read from stderr that were
undermining this effort.
This commit prevents all automatic reads from stderr from occurring
when they are supposed to be disabled.
Because stderr is no longer being read, we need to call "readavailable"
from tests so stderr is read from.
Test output changes because stderr is now always (manually) read after
stdout. And, since sshpeer no longer automatically tends to stderr,
no "remote: " messages are printed. This should fix non-deterministic
test output.
FWIW, doublepipe automatically reads from stderr when reading from
stdout, so I'm not sure some of these calls to self._readerr() are
even needed.
Differential Revision: https://phab.mercurial-scm.org/D2571
Boris Feld <boris.feld@octobus.net> [Thu, 15 Feb 2018 17:18:26 +0100] rev 36607
util: extract all date-related utils in utils/dateutil module
With this commit, util.py lose 262 lines
Note for extensions author, if this commit breaks your extension, you can pull
the step-by-step split here to help you more easily pinpoint the renaming that
broke your extension:
hg pull https://bitbucket.org/octobus/mercurial-devel/ -r
ac1f6453010d
Differential Revision: https://phab.mercurial-scm.org/D2282
Sangeet Kumar Mishra <mail2sangeetmishra@gmail.com> [Thu, 08 Feb 2018 23:27:24 +0530] rev 36606
clone: updates the help text for hg clone -{r,b} (
issue5654)
Differential Revision: https://phab.mercurial-scm.org/D2095
Augie Fackler <augie@google.com> [Fri, 02 Mar 2018 15:48:31 -0500] rev 36605
py3: whitelist more passing tests
Differential Revision: https://phab.mercurial-scm.org/D2569
Augie Fackler <augie@google.com> [Fri, 02 Mar 2018 11:07:42 -0500] rev 36604
lfs: convert hexdigest to bytes using sysbytes
Differential Revision: https://phab.mercurial-scm.org/D2568
Augie Fackler <augie@google.com> [Fri, 02 Mar 2018 11:07:25 -0500] rev 36603
lfs: use %d to encode int, not str()
Differential Revision: https://phab.mercurial-scm.org/D2567
Augie Fackler <augie@google.com> [Fri, 02 Mar 2018 11:07:07 -0500] rev 36602
lfs: use byteskwargs() on some **kwargs for python 3 compat
Differential Revision: https://phab.mercurial-scm.org/D2566
Augie Fackler <augie@google.com> [Fri, 02 Mar 2018 11:06:37 -0500] rev 36601
lfs: add some bytestring wrappers in blobstore.py
Differential Revision: https://phab.mercurial-scm.org/D2565
Augie Fackler <augie@google.com> [Fri, 02 Mar 2018 11:05:53 -0500] rev 36600
lfs: add missing b prefixes on some regular expressions
# skip-blame just some b prefixes
Differential Revision: https://phab.mercurial-scm.org/D2564