def init_mapping(self): if self.tokenized_git_repo_url is not None: ( self.tokenized_git_to_mercurial, self.mercurial_to_tokenized_git, ) = microannotate_utils.get_commit_mapping( self.tokenized_git_repo_dir)
def init_mapping(self): logger.info("Downloading Mercurial <-> git mapping file...") vcs_map.download_mapfile() self.tokenized_git_to_mercurial, self.mercurial_to_tokenized_git = microannotate_utils.get_commit_mapping( self.tokenized_git_repo_dir )
def test_generate_tokenized(fake_hg_repo, tmpdir): hg, local = fake_hg_repo git_repo = os.path.join(tmpdir.strpath, "repo") add_file( hg, local, "file.cpp", """#include <iostream> /* main */ int main() { return 0; }""", ) revision1 = commit(hg) add_file( hg, local, "file.cpp", """#include <iostream> /* main */ int main() { cout << "Hello, world!"; return 0; }""", ) add_file( hg, local, "file.jsm", """function ciao(str) { // Comment one console.log(str); }""", ) revision2 = commit(hg) assert (generator.generate( local, git_repo, rev_start=0, rev_end="tip", limit=None, tokenize=True, remove_comments=False, ) is True) repo = pygit2.Repository(git_repo) commits = list( repo.walk(repo.head.target, pygit2.GIT_SORT_TOPOLOGICAL | pygit2.GIT_SORT_REVERSE)) assert (commits[0].message == f"""Commit A file.cpp UltraBlame original commit: {revision1}""") assert (commits[1].message == f"""Commit M file.cpp A file.jsm UltraBlame original commit: {revision2}""") with open(os.path.join(git_repo, "file.cpp"), "r") as f: cpp_file = f.read() assert (cpp_file == """# include < iostream > / * main * / int main ( ) { cout < < " Hello world ! " ; return 0 ; } """) with open(os.path.join(git_repo, "file.jsm"), "r") as f: js_file = f.read() assert (js_file == """function ciao ( str ) { / / Comment one console . log ( str ) ; } """) assert utils.get_original_hash(repo, "HEAD") == revision2 assert utils.get_original_hash(repo, commits[0].hex) == revision1 assert utils.get_original_hash(repo, commits[1].hex) == revision2 transformed_to_original, original_to_transformed = utils.get_commit_mapping( git_repo) assert transformed_to_original[commits[0].hex] == revision1 assert transformed_to_original[commits[1].hex] == revision2 assert original_to_transformed[revision1] == commits[0].hex assert original_to_transformed[revision2] == commits[1].hex