def createPack(self, revisions=None, packdir=None, version=0): if revisions is None: revisions = [("filename", self.getFakeHash(), nullid, b"content")] if packdir is None: packdir = self.makeTempDir() config = configparser.config() packer = revisionstore.mutabledeltastore(packfilepath=packdir, config=config) for args in revisions: filename, node, base, content = args[0:4] # meta is optional meta = None if len(args) > 4: meta = args[4] packer.add(filename, node, base, content, metadata=meta) path = packer.flush() return self.datapackreader(path)
def testReadingMutablePack(self): """Tests that the data written into a mutabledatapack can be read out before it has been finalized.""" packdir = self.makeTempDir() config = configparser.config() packer = revisionstore.mutabledeltastore(packfilepath=packdir, config=config) # Add some unused first revision for noise packer.add("qwert", self.getFakeHash(), nullid, b"qwertcontent") filename = "filename1" node = self.getFakeHash() base = nullid content = b"asdf" meta = {constants.METAKEYFLAG: 1, constants.METAKEYSIZE: len(content)} packer.add(filename, node, base, content, metadata=meta) # Add some unused third revision for noise packer.add("zxcv", self.getFakeHash(), nullid, b"zcxvcontent") # Test getmissing missing = ("", self.getFakeHash()) value = packer.getmissing([missing, (filename, node)]) self.assertEqual(value, [missing]) # Test getmeta value = packer.getmeta(filename, node) self.assertEqual(value, meta) # Test getdelta value = packer.getdelta(filename, node) self.assertEqual(value, (content, filename, base, meta)) # Test getdeltachain value = packer.getdeltachain(filename, node) self.assertEqual(value, [(filename, node, filename, base, content)])
def __init__(self, src=None): """Create a fresh new uiconfig object. Or copy from an existing uiconfig object. """ # Cached values. Will be rewritten by "fixconfig". self.quiet = self.verbose = self.debugflag = self.tracebackflag = False self.logmeasuredtimes = False if src: self._rcfg = src._rcfg.clone() self._unserializable = src._unserializable.copy() self._pinnedconfigs = src._pinnedconfigs.copy() self._knownconfig = src._knownconfig self.fixconfig() else: self._rcfg = localrcfg(configparser.config()) # map from IDs to unserializable Python objects. self._unserializable = {} # config "pinned" that cannot be loaded from files. # ex. --config flags self._pinnedconfigs = set() self._knownconfig = configitems.coreitems
def createConfig(): return localrcfg(configparser.config())