def create(self, state): if os.path.exists(state.sync["path"]): sync_tree = GitTree(root=state.sync["path"]) else: sync_tree = None if GitTree.is_type(): local_tree = GitTree() elif HgTree.is_type(): local_tree = HgTree() else: local_tree = NoVCSTree() state.update({"local_tree": local_tree, "sync_tree": sync_tree})
def update(tests_root, url_base, manifest, ignore_local=False): if vcs.is_git_repo(tests_root): tests_tree = GitTree(tests_root, url_base) remove_missing_local = False else: tests_tree = NoVCSTree(tests_root, url_base) remove_missing_local = not ignore_local if not ignore_local: local_changes = tests_tree.local_changes() else: local_changes = None manifest.update(tests_root, url_base, tests_tree.current_rev(), tests_tree.committed_changes(manifest.rev), local_changes, remove_missing_local=remove_missing_local)
def create(self, state): if not state.kwargs["sync"]: return if not state.sync_tree: os.mkdir(state.sync["path"]) state.sync_tree = GitTree(root=state.sync["path"]) kwargs = state.kwargs with state.push([ "sync", "paths", "metadata_path", "tests_path", "local_tree", "sync_tree" ]): state.target_rev = kwargs["rev"] state.no_patch = kwargs["no_patch"] runner = SyncFromUpstreamRunner(self.logger, state) runner.run()