def test_cherry_pick_commit_not_merge_commit(self): contents = [{'A': '1', 'B': '2'}] commits = self.create_repo(contents) subject.checkout(self.scratch, branch_name='newbranch', tracking='master') subject.checkout(self.scratch, 'master') new_master_contents = [{'A': '3'}] new_master_commits = self.create_commits(new_master_contents) branch_commit = subject.cherry_pick(self.scratch, new_master_commits[0], 'newbranch') self.assertTrue(subject.commit_on_branch(self.scratch, branch_commit, 'newbranch')) self.assertFalse(subject.commit_on_branch(self.scratch, branch_commit, 'master'))
def test_cherry_pick_commit_is_merge_commit(self): contents = [{'A': '1', 'B': '2'}] commits = self.create_repo(contents) subject.checkout(self.scratch, branch_name='newbranch', tracking='master') subject.checkout(self.scratch, branch_name='pr_branch', tracking='master') pr_contents = [{'C': '3'}] pr_commits = self.create_commits(pr_contents) subject.checkout(self.scratch, 'master') subject.merge(self.scratch, 'pr_branch', no_ff=True) merge_commit = subject.get_rev(self.scratch) self.assertEqual(sorted([pr_commits[0], commits[-1]]), sorted(subject.find_parents(self.scratch, merge_commit))) branch_commit = subject.cherry_pick(self.scratch, merge_commit, 'newbranch') self.assertTrue(subject.commit_on_branch(self.scratch, branch_commit, 'newbranch')) self.assertFalse(subject.commit_on_branch(self.scratch, branch_commit, 'master'))
def test_commit_on_branch(self): repo_contents = [ {'A': 1}, {'A': 2}, {'A': 3} ] branch_contents = [ {'B': 1}, {'B': 2} ] commits = self.create_repo(repo_contents) subject.git_op(['checkout', '-t', 'master', '-b', 'newbranch'], self.scratch) branch_commits = self.create_commits(branch_contents) self.assertTrue(subject.commit_on_branch(self.scratch, commits[2], 'master')) self.assertTrue(subject.commit_on_branch(self.scratch, commits[2], 'newbranch')) self.assertFalse(subject.commit_on_branch(self.scratch, branch_commits[1], 'master')) self.assertTrue(subject.commit_on_branch(self.scratch, branch_commits[1], 'newbranch'))