Esempio n. 1
0
def debugindexedlogdatastore(ui, *paths, **opts):
    for path in paths:
        ui.write("%s:\n" % path)
        store = revisionstore.indexedlogdatastore(path)
        debugdatastore(ui, store, verifynoduplicate=False, **opts)
Esempio n. 2
0
    def makeunionstores(self):
        """Union stores iterate the other stores and return the first result."""
        repo = self.repo
        self.shareddatastores = []
        self.sharedhistorystores = []
        self.localdatastores = []
        self.localhistorystores = []

        cachecontent = []
        cachemetadata = []
        localcontent = []
        localmetadata = []

        spackcontent, spackmetadata, lpackcontent, lpackmetadata = self.makepackstores()
        cachecontent += [spackcontent]
        cachemetadata += [spackmetadata]
        localcontent += [lpackcontent]
        localmetadata += [lpackmetadata]

        mutablelocalstore = mutablestores.mutabledatahistorystore(
            lambda: self._mutablelocalpacks
        )

        mutablesharedstore = mutablestores.mutabledatahistorystore(
            lambda: self._mutablesharedpacks
        )

        sharedcontentstores = [spackcontent, mutablesharedstore]
        sharedmetadatastores = [spackmetadata, mutablesharedstore]
        if self.ui.configbool("remotefilelog", "indexedlogdatastore"):
            path = shallowutil.getindexedlogdatastorepath(repo)
            mask = os.umask(0o002)
            try:
                store = revisionstore.indexedlogdatastore(path)
                sharedcontentstores.append(store)
                self.shareddatastores.append(store)
            finally:
                os.umask(mask)

        if self.ui.configbool("remotefilelog", "indexedloghistorystore"):
            path = shallowutil.getindexedloghistorystorepath(repo)
            mask = os.umask(0o002)
            try:
                store = revisionstore.indexedloghistorystore(path)
                sharedmetadatastores.append(store)
                self.sharedhistorystores.append(store)
            finally:
                os.umask(mask)

        sunioncontentstore = unioncontentstore(*sharedcontentstores)
        sunionmetadatastore = unionmetadatastore(*sharedmetadatastores)
        remotecontent, remotemetadata = self.makeremotestores(
            sunioncontentstore, sunionmetadatastore
        )

        contentstores = (
            sharedcontentstores
            + cachecontent
            + localcontent
            + [mutablelocalstore, remotecontent]
        )
        metadatastores = (
            sharedmetadatastores
            + cachemetadata
            + localmetadata
            + [mutablelocalstore, remotemetadata]
        )

        # Instantiate union stores
        self.contentstore = unioncontentstore(*contentstores)
        self.metadatastore = unionmetadatastore(*metadatastores)

        repo.fileservice.setstore(self.contentstore, self.metadatastore)
        shallowutil.reportpackmetrics(
            repo.ui,
            "filestore",
            spackcontent,
            spackmetadata,
            lpackcontent,
            lpackmetadata,
        )