upgrade: start moving the "to be happening" data in a dedicated object
The upgrade code has a lot of logic to determine which action needs to be
performed depending of various element (sometimes depending from each other). It
would be nice to have a consistent object representing this. That could be
cleanly passed and avoid some logic duplication.
So we create this object as a start.
Differential Revision: https://phab.mercurial-scm.org/D9487
# shallowstore.py - shallow store for interacting with shallow repos
#
# Copyright 2013 Facebook, Inc.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
def wrapstore(store):
class shallowstore(store.__class__):
def __contains__(self, path):
# Assume it exists
return True
store.__class__ = shallowstore
return store