def test_skip_when_not_on_correct_branch(git_server, qisrc_action, record_messages): git_server.create_repo("foo") git_server.switch_manifest_branch("devel") git_server.change_branch("foo", "devel") qisrc_action("init", git_server.manifest_url, "--branch", "devel") git_worktree = TestGitWorkTree() foo_proj = git_worktree.get_git_project("foo") git = TestGit(foo_proj.path) git.checkout("-B", "perso") qisrc_action("rebase", "--branch", "master", "--all") assert record_messages.find("skipped")
def test_pushing_from_perso_branch(qisrc_action, git_server): foo_repo = git_server.create_repo("foo.git", review=True) qisrc_action("init", git_server.manifest_url) git_worktree = TestGitWorkTree() foo_proj = git_worktree.get_git_project("foo") foo_git = TestGit(foo_proj.path) foo_git.checkout("-b", "perso") foo_git.commit_file("a.txt", "a") qisrc_action("push", "--project", "foo", "master") _, sha1 = foo_git.call("log", "-1", "--pretty=%H", raises=False) (_, remote) = foo_git.call("ls-remote", "gerrit", "refs/for/master", raises=False) assert remote == "%s\trefs/for/master" % sha1
def test_incorrect_branch_still_fetches(qisrc_action, git_server): git_server.create_repo("foo.git") qisrc_action("init", git_server.manifest_url) qisrc_action("sync") git_worktree = TestGitWorkTree() foo = git_worktree.get_git_project("foo") test_git = TestGit(foo.path) test_git.checkout("-b", "wip") git_server.push_file("foo.git", "foo.txt", "some change") previous_sha1 = test_git.get_ref_sha1("refs/remotes/origin/master") foo.sync() new_sha1 = test_git.get_ref_sha1("refs/remotes/origin/master") assert previous_sha1 != new_sha1
def test_sync_reset(qisrc_action, git_server): git_server.create_repo("bar") git_server.create_repo("baz") qisrc_action("init", git_server.manifest_url) git_worktree = TestGitWorkTree() bar_proj = git_worktree.get_git_project("bar") baz_proj = git_worktree.get_git_project("baz") bar_git = TestGit(bar_proj.path) baz_git = TestGit(baz_proj.path) bar_git.checkout("-B", "devel") baz_git.commit_file("unrelated.txt", "unrelated\n") git_server.push_file("bar", "bar.txt", "this is bar\n") qisrc_action("sync", "--reset") assert bar_git.get_current_branch() == "master" assert bar_git.read_file("bar.txt") == "this is bar\n" # pylint: disable-msg=E1101 with pytest.raises(Exception): baz_git.read_file("unrelated.txt")
def test_sync_reset(qisrc_action, git_server): """ Test Sync Reset """ git_server.create_repo("bar") git_server.create_repo("baz") qisrc_action("init", git_server.manifest_url) git_worktree = TestGitWorkTree() bar_proj = git_worktree.get_git_project("bar") baz_proj = git_worktree.get_git_project("baz") bar_git = TestGit(bar_proj.path) baz_git = TestGit(baz_proj.path) bar_git.checkout("-B", "devel") baz_git.commit_file("unrelated.txt", "unrelated\n") git_server.push_file("bar", "bar.txt", "this is bar\n") qisrc_action("sync", "--reset") assert bar_git.get_current_branch() == "master" assert bar_git.read_file("bar.txt") == "this is bar\n" with pytest.raises(Exception): baz_git.read_file("unrelated.txt")