On 12/24/16 12:16 PM, Augie Fackler wrote:
(+martinvonz, durham for manifest questions)
On Sun, Dec 18, 2016 at 05:07:58PM -0800, Gregory Szorc wrote:
# HG changeset patch
# User Gregory Szorc <gregory.sz...@gmail.com>
# Date 1482106614 28800
# Sun Dec 18 16:16:54 2016 -0800
# Node ID 8c7cd8a43f9e9b230bc125e57b80de73eb0649b5
# Parent 94c7d28b32a1f15ebd67e4ef54114ec80b33243f
repair: implement requirements checking for upgrades
This commit introduces functionality for upgrading a repository in
place. The first part that's implemented is testing for upgrade
"compatibility." This is done by examining repository requirements.
There are 5 functions returning sets of requirements that control
upgrading. Why so many functions? Mainly to support extensions.
Functions are easier to monkeypatch than module variables.
Astute readers will see that we don't support "manifestv2" and
"treemanifest" requirements in the upgrade mechanism. I don't have
a great answer for why other than this is a complex set of patches
and I don't want to deal with the complexity of these experimental
features just yet. We can teach the upgrade mechanism about them
later, once the basic upgrade mechanism is in place.
I believe manifestv2 has turned out to be a total dead end. We should
probably jettison that code and mark the capability string as obsolete
and not to be used in the future. Does anyone see a reason for me to
not do that?
Yea, manifestv2 is dead. Martin had asked me to kill some of the code
during my refactor and I just never got around to it.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel