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)
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
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)
def hg_repo(self, path: Path) -> hgrepo.HgRepository: return hgrepo.HgRepository(str(path), system_hgrc=str(self.system_hgrc_path))
def repoForPath(self, path): return hgrepo.HgRepository(path)