[PATCH 2 of 8 upgraderepo V3] repair: implement requirements checking for upgrades

Durham Goode durham at fb.com
Fri Jan 6 23:25:18 UTC 2017


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.szorc at 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.


More information about the Mercurial-devel mailing list