Example #1
0
    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)])
Example #3
0
    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
Example #4
0
def createConfig():
    return localrcfg(configparser.config())