Пример #1
0
    def test_fetch_clean_tags_and_branches(self, checkout_path):
        upstream_repo = self.project.repo
        create_git_tag(upstream_repo, 'v01')
        create_git_tag(upstream_repo, 'v02')
        create_git_branch(upstream_repo, 'newbranch')

        local_repo = os.path.join(mkdtemp(), 'local')
        os.mkdir(local_repo)
        checkout_path.return_value = local_repo

        repo = self.project.vcs_repo()
        repo.clone()

        delete_git_tag(upstream_repo, 'v02')
        delete_git_branch(upstream_repo, 'newbranch')

        # We still have all branches and tags in the local repo
        self.assertEqual(set(['v01', 'v02']),
                         set(vcs.verbose_name for vcs in repo.tags))
        self.assertEqual(
            set([
                'invalidsubmodule',
                'master',
                'submodule',
                'newbranch',
            ]), set(vcs.verbose_name for vcs in repo.branches))

        repo.update()

        # We don't have the eliminated branches and tags in the local repo
        self.assertEqual(set(['v01']),
                         set(vcs.verbose_name for vcs in repo.tags))
        self.assertEqual(set(['invalidsubmodule', 'master', 'submodule']),
                         set(vcs.verbose_name for vcs in repo.branches))
Пример #2
0
    def test_fetch_clean_tags_and_branches(self, checkout_path):
        upstream_repo = self.project.repo
        create_git_tag(upstream_repo, 'v01')
        create_git_tag(upstream_repo, 'v02')
        create_git_branch(upstream_repo, 'newbranch')

        local_repo = os.path.join(mkdtemp(), 'local')
        os.mkdir(local_repo)
        checkout_path.return_value = local_repo

        repo = self.project.vcs_repo()
        repo.clone()

        delete_git_tag(upstream_repo, 'v02')
        delete_git_branch(upstream_repo, 'newbranch')

        # We still have all branches and tags in the local repo
        self.assertEqual(
            {'v01', 'v02'},
            {vcs.verbose_name for vcs in repo.tags},
        )
        self.assertEqual(
            {
                'invalidsubmodule', 'master', 'submodule', 'newbranch',
            },
            {vcs.verbose_name for vcs in repo.branches},
        )

        repo.update()

        # We don't have the eliminated branches and tags in the local repo
        self.assertEqual(
            {'v01'},
            {vcs.verbose_name for vcs in repo.tags},
        )
        self.assertEqual(
            {
                'invalidsubmodule', 'master', 'submodule',
            },
            {vcs.verbose_name for vcs in repo.branches},
        )