Augie Fackler <augie@google.com> [Sun, 04 Mar 2018 15:29:41 -0500] rev 37787
rebase: introduce support for automatically rebasing orphan changes
_destautorebase(SRC) is based on the _destrestack(SRC) revset from
fbamend. The supporting _possibledestination function is extracted
from evolve, with minor cleanups.
We've considered some alternatives here:
* This change, but with --auto as the flag name. We're hedging our bets
on this a little in this change so that if this ends up being the wrong
direction we haven't burned the valauble --auto name on rebase.
* --destination auto: I've got reservations about the discoverability of this,
and we don't currently have a good story for a revset alias of sorts that
changes behavior depending on the context in which it's used.
* A "rebase presets" feature, where we could use the currently-an-error
positional argument space for the rebase command to define presets, so that
users could define a 'linearize' preset that specifies
--revision='orphan()-obsolete()' and --dest=_destautoorphanrebase(SRC).
Personally, I find the third option somewhat appealing, but am
hesitant to "spend" the functionality space of positional arguments to
the rebase command. We should revisit the way we expose this
functionality sometime in the 4.7 cycle once we've had a chance to vet
the implementation of the functionality.
Differential Revision: https://phab.mercurial-scm.org/D2668
Augie Fackler <augie@google.com> [Wed, 18 Apr 2018 14:32:36 -0400] rev 37786
py3: whitelist six new passing tests
Differential Revision: https://phab.mercurial-scm.org/D3406
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 16 Apr 2018 22:21:54 -0700] rev 37785
wireproto: rename wireproto to wireprotov1server (API)
We have wireprotov2server, wireprotov1peer, and wireprotov2peer.
wireproto only contains server functionality. So it makes sense to
rename it to wireprotov1server so the naming aligns with everything
else.
Differential Revision: https://phab.mercurial-scm.org/D3400
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 16 Apr 2018 22:10:02 -0700] rev 37784
wireproto: move version 2 commands dict to wireprotov2server
This was the final piece of version 2 referenced in wireproto. The
break between server implementations is now much cleaner.
Differential Revision: https://phab.mercurial-scm.org/D3399
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 16 Apr 2018 22:08:13 -0700] rev 37783
wireproto: move supportedcompengines out of wireproto
This function is used by both version 1 and version 2. It belongs in
a common module.
"wireprototypes" may not be the best module name. I may rename it...
Differential Revision: https://phab.mercurial-scm.org/D3398
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 16 Apr 2018 22:00:52 -0700] rev 37782
wireproto: reimplement dispatch() for version 2 server
The code is minimal. I'm trying to create a cleaner break between
version 1 and version 2 server code.
Differential Revision: https://phab.mercurial-scm.org/D3397
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 16 Apr 2018 21:52:33 -0700] rev 37781
wireproto: move command registration types to wireprototypes
These are shared across wire protocol implementations. wireprototypes
is our module for common code.
Differential Revision: https://phab.mercurial-scm.org/D3396
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 16 Apr 2018 21:49:59 -0700] rev 37780
wireproto: make version 2 @wireprotocommand an independent function
Previously, the code for this decorator was shared between version 1
and version 2 commands. Very few parts of the function were identical.
So I don't think sharing is justified.
wireprotov2server now has its own @wireprotocommand decorator function.
Because the decorator is no longer shared, code for configuring the
transport policy has been removed. i.e. commands must have separate
implementations for each wire protocol version.
Differential Revision: https://phab.mercurial-scm.org/D3395