def chm_dest_feature(dest_repo_mirror_feature, init_source_repo): """CHM session with branch feature checked out in dest repo.""" dest_repo = dest_repo_mirror_feature source_repo_path, _, _ = init_source_repo mirror = CommitHistoryMirror( source_workdir=source_repo_path, dest_workdir=dest_repo.working_dir ) return {"mirror": mirror}
def chm_dest_master(dest_repo_mirror_master, init_source_repo): """CHM session with master checked out in dest repo.""" dest_repo = dest_repo_mirror_master source_repo_path, _, _ = init_source_repo mirror = CommitHistoryMirror( source_workdir=source_repo_path, dest_workdir=dest_repo.working_dir ) return {"mirror": mirror}
def chm_dest_tree(dest_repo_tree, init_source_repo): """CHM session with dest repo that has no tree.""" dest_repo = dest_repo_tree source_repo_path, _, _ = init_source_repo mirror = CommitHistoryMirror( source_workdir=source_repo_path, dest_workdir=dest_repo.working_dir ) return {"mirror": mirror}
def test_mirror_init_with_dest_workdir(self, mock_init_repos): some_dir = "/tmp/foo/bar" some_other_dir = "/tmp/spam/eggs" mirror = CommitHistoryMirror(some_dir, some_other_dir) assert mirror.source_workdir == some_dir assert mirror._init_source_repo.called assert not mirror._init_empty_dest_repo.called assert mirror._init_existing_dest_repo.called_once_with(some_other_dir)
def test_mirror_init_with_no_dest_workdir(self, mock_init_repos): some_dir = "/tmp/foo/bar" mirror = CommitHistoryMirror(some_dir) assert mirror.source_workdir == some_dir assert mirror._init_source_repo.called assert mirror._init_empty_dest_repo.called assert not mirror._init_existing_dest_repo.called assert not mirror.prior_dest_exists assert mirror.dest_prefix == "mirror"
def main() -> None: try: logging.basicConfig(format="%(message)s", level=getattr(logging, LOGLEVEL)) logging.debug("Starting up") ui.start() init_params = ui.options[INIT] reflect_params = ui.options[REFLECT] chm = CommitHistoryMirror(**init_params) asyncio.run(chm.reflect(**reflect_params)) logging.info(f"Done: {format_stats(chm.stats)}") if chm.stats["replicated"] > 0: logging.info(f"To view replicated commits, " f"go to directory {chm.dest_workdir}") except KeyboardInterrupt: logging.info("Canceled") except Exception as e: logging.error(f"An unhandled error occurred: {e}")
def chm(init_source_repo): """Initializes CommitHistoryMirror session.""" source_repo_path, parent_dir_path, commit_data = init_source_repo mirror = CommitHistoryMirror(source_repo_path) yield { "mirror": mirror, "source_workdir": source_repo_path, "parent_dir": parent_dir_path, "commits": commit_data, } # Delete dest working dir delete_dir(mirror.dest_repo.working_dir)
def test_mirror_init_with_dest_prefix(self, mock_init_repos): some_dir = "/tmp/foo/bar" dest_prefix = "another-prefix" mirror = CommitHistoryMirror(some_dir, prefix=dest_prefix) assert mirror.dest_prefix == dest_prefix
def test_mirror_init_with_same_dest_workdir(self, mock_init_repos): some_dir = "/tmp/foo/bar" with pytest.raises(ValueError): CommitHistoryMirror(some_dir, some_dir)
async def _make_mirror(dest_workdir="", **kwargs): m = CommitHistoryMirror(source_workdir=src_repo.working_dir, dest_workdir=dest_workdir) await m.reflect(**kwargs) return m