def testBranchBomb(self): f = phlgitu_fixture.CentralisedWithTwoWorkers() with contextlib.closing(f): self._setupBranchBomb(f) phlgit_fetch.prune_safe(f.w0.repo, 'origin') f.w0.repo('fetch', '--prune') phlgit_fetch.all_prune(f.w0.repo)
def _get_updated_branch(self, branch_name): phlgit_fetch.all_prune(self.repo_arcyd) branch_list = abdt_git.get_managed_branches( self.repo_arcyd, "repo", abdt_classicnaming.Naming()) self.assertEqual(len(branch_list), 1) branch = branch_list[0] self.assertEqual(branch.review_branch_name(), branch_name) return branch
def testBranchBomb(self): f = phlgitu_fixture.CentralisedWithTwoWorkers() with contextlib.closing(f): self._setupBranchBomb(f) fetch_prune = lambda: f.w0.repo('fetch', '--prune') fetch_all_prune = lambda: phlgit_fetch.all_prune(f.w0.repo) self.assertRaises( phlsys_subprocess.CalledProcessError, fetch_prune) self.assertRaises( phlsys_subprocess.CalledProcessError, fetch_all_prune) phlgit_fetch.prune_safe(f.w0.repo, 'origin') f.w0.repo('fetch', '--prune') phlgit_fetch.all_prune(f.w0.repo)
def test_B_RawDiffNewCommits(self): base, branch_name, branch = self._setup_for_tracked_branch() # push a new commit on branch as dev phlgit_checkout.branch(self.repo_dev, branch_name) filename = 'new_on_branch' self._create_new_file(self.repo_dev, filename) self.repo_dev.call('add', filename) phlgit_commit.index(self.repo_dev, message=filename) phlgit_push.branch(self.repo_dev, branch_name) # check for new stuff as arcyd self.assertIs(branch.has_new_commits(), False) phlgit_fetch.all_prune(self.clone_arcyd) self.assertIs(branch.has_new_commits(), True) branch.describe_new_commits() # just exercise self.assertIn(filename, branch.make_raw_diff()) branch.mark_ok_in_review() self.assertIs(branch.has_new_commits(), False) branch.describe_new_commits() # just exercise # exercise queries a bit self.assertIn(filename, branch.make_raw_diff()) self.assertIn(filename, branch.make_message_digest()) self.assertEqual( branch.get_commit_message_from_tip().strip(), filename) self.assertTrue(len(branch.get_any_author_emails()) > 0) self.assertTrue(len(branch.get_author_names_emails()) > 0) # check for new stuff as arcyd again phlgit_fetch.all_prune(self.clone_arcyd) self.assertIs(branch.has_new_commits(), False) # make a new commit on master as dev phlgit_checkout.branch(self.repo_dev, 'master') filename = 'new_on_master' self._create_new_file(self.repo_dev, filename) self.repo_dev.call('add', filename) phlgit_commit.index(self.repo_dev, message=filename) phlgit_push.branch(self.repo_dev, 'master') # check for new stuff as arcyd phlgit_fetch.all_prune(self.clone_arcyd) self.assertIs(branch.has_new_commits(), False) # merge master into branch, check for new stuff as arcyd phlgit_checkout.branch(self.repo_dev, branch_name) phlgit_merge.no_ff(self.repo_dev, 'master') phlgit_push.branch(self.repo_dev, branch_name) # check for new stuff as arcyd self.assertIs(branch.has_new_commits(), False) phlgit_fetch.all_prune(self.clone_arcyd) self.assertNotIn(filename, branch.make_raw_diff()) branch.mark_ok_in_review() self.assertIs(branch.has_new_commits(), False) # rebase branch onto master phlgit_checkout.branch(self.repo_dev, branch_name) phlgit_rebase.onto_upstream(self.repo_dev, 'master') phlgit_push.force_branch(self.repo_dev, branch_name) # check for new stuff as arcyd self.assertIs(branch.has_new_commits(), False) phlgit_fetch.all_prune(self.clone_arcyd) self.assertIs(branch.has_new_commits(), True) branch.describe_new_commits() # just exercise branch.mark_ok_in_review() self.assertIs(branch.has_new_commits(), False)