Beispiel #1
0
    def repoForPath(self, path):
        if self.system_hgrc is None:
            system_hgrc_path = self.mktemp("hgrc")
            with open(system_hgrc_path, "w") as f:
                f.write(hgrepo.HgRepository.get_system_hgrc_contents())
            self.system_hgrc = system_hgrc_path

        return hgrepo.HgRepository(path, system_hgrc=self.system_hgrc)
    def setup_eden_test(self) -> None:
        super().setup_eden_test()

        # Create the backing repository
        self.backing_repo = self.create_backing_repo()

        # Edit the edenrc file to set up post-clone hooks that will correctly
        # populate the .hg directory inside the eden client.
        self.eden.clone(self.backing_repo.path, self.mount, allow_empty=True)

        # Now create the repository object that refers to the eden client
        self.repo = hgrepo.HgRepository(self.mount, system_hgrc=self.system_hgrc)
Beispiel #3
0
    def setup_eden_test(self):
        super().setup_eden_test()

        # Create the backing repository
        self.backing_repo = self.create_backing_repo()

        self.backing_repo_name = 'backing_repo'
        self.eden.add_repository(self.backing_repo_name,
                                 self.backing_repo.path)
        # Edit the edenrc file to set up post-clone hooks that will correctly
        # populate the .hg directory inside the eden client.
        self.amend_edenrc_before_clone()
        self.mount = os.path.join(self.mounts_dir, 'main')
        self.eden.clone(self.backing_repo_name, self.mount, allow_empty=True)

        # Now create the repository object that refers to the eden client
        self.repo = hgrepo.HgRepository(self.mount)
    def makeEdenMount(self, populate_fn=None):
        ''' populate_fn is a function that accepts a repo object and
            that is expected to populate it as a pre-requisite to
            starting up the eden mount for it. '''

        repo_path = self.mkdtemp(prefix='eden_repo_')
        repo_name = os.path.basename(repo_path)
        repo = hgrepo.HgRepository(repo_path)
        repo.init()

        if populate_fn:
            populate_fn(repo)

        self.eden.add_repository(repo_name, repo_path)

        mount_path = os.path.join(self.mounts_dir, repo_name)
        self.eden.clone(repo_name, mount_path)
        return mount_path
Beispiel #5
0
    def setup_eden_test(self):
        super().setup_eden_test()

        # Create an hgrc to use as the $HGRCPATH.
        hgrc = get_default_hgrc()
        self.apply_hg_config_variant(hgrc)

        # Create the backing repository
        self.backing_repo_name = 'backing_repo'
        self.mount = os.path.join(self.mounts_dir, self.backing_repo_name)
        self.backing_repo = self.create_repo(self.backing_repo_name,
                                             hgrepo.HgRepository,
                                             hgrc=hgrc)
        self.populate_backing_repo(self.backing_repo)

        self.eden.add_repository(self.backing_repo_name,
                                 self.backing_repo.path)
        # Edit the edenrc file to set up post-clone hooks that will correctly
        # populate the .hg directory inside the eden client.
        self.amend_edenrc_before_clone()
        self.eden.clone(self.backing_repo_name, self.mount)

        # Now create the repository object that refers to the eden client
        self.repo = hgrepo.HgRepository(self.mount)
Beispiel #6
0
 def hg_repo(self, path: Path) -> hgrepo.HgRepository:
     return hgrepo.HgRepository(str(path),
                                system_hgrc=str(self.system_hgrc_path))
Beispiel #7
0
 def repoForPath(self, path):
     return hgrepo.HgRepository(path)