コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
ファイル: abdt_git__t.py プロジェクト: j03m/phabricator-tools
 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
コード例 #4
0
 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
コード例 #5
0
    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)
コード例 #6
0
    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)