• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python repository.Repository类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中repoman.git.repository.Repository的典型用法代码示例。如果您正苦于以下问题:Python Repository类的具体用法?Python Repository怎么用?Python Repository使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Repository类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_add_files

    def test_add_files(self):
        file_name = "absurd_file"
        file_path = os.path.join(self.main_repo, file_name)
        file_name2 = "absurd_file2"
        file_path2 = os.path.join(self.main_repo, file_name2)
        with open(file_path, "w") as file:
            file_content = "Absurd content"
            file.write(file_content)
        with open(file_path2, "w") as file:
            file_content = "Absurd content2"
            file.write(file_content)

        repo = pygit2.Repository(self.main_repo)
        status = repo.status()
        self.assertTrue(file_name in status)
        self.assertTrue(file_name2 in status)
        self.assertEquals(status[file_name], pygit2.GIT_STATUS_WT_NEW)
        self.assertEquals(status[file_name2], pygit2.GIT_STATUS_WT_NEW)
        gitrepo = Repository(self.main_repo)
        gitrepo.add([file_name, file_name2])
        status = repo.status()
        self.assertEquals(status[file_name], pygit2.GIT_STATUS_INDEX_NEW)
        self.assertEquals(status[file_name2], pygit2.GIT_STATUS_INDEX_NEW)
        with self.assertRaises(RepositoryError):
            gitrepo.add("nonexistentfile")
开发者ID:angelnan,项目名称:python-repoman,代码行数:25,代码来源:test_gitrepository.py


示例2: test_merge_isuptodate

 def test_merge_isuptodate(self):
     gitrepo = Repository(self.cloned_from_repo)
     gitrepo.update('master')
     uptodate_hash = '52109e71fd7f16cb366acfcbb140d6d7f2fc50c9'
     cs = gitrepo[uptodate_hash]
     should_be_none = gitrepo.merge(other_rev=cs)
     self.assertIsNone(should_be_none)
开发者ID:angelnan,项目名称:python-repoman,代码行数:7,代码来源:test_gitrepository.py


示例3: test_add_files

    def test_add_files(self):
        file_name = "absurd_file"
        file_path = os.path.join(self.main_repo, file_name)
        file_name2 = "absurd_file2"
        file_path2 = os.path.join(self.main_repo, file_name2)
        with open(file_path, "w") as file:
            file_content = "Absurd content"
            file.write(file_content)
        with open(file_path2, "w") as file:
            file_content = "Absurd content2"
            file.write(file_content)

        def get_status():
            git = GitCmd(self.main_repo)
            status = {}
            for f in git('status', porcelain=True, _iter=True):
                s, path = f.split()
                status[path] = s
            return status

        status = get_status()
        self.assertTrue(file_name in status)
        self.assertTrue(file_name2 in status)
        self.assertEquals(status[file_name], '??')
        self.assertEquals(status[file_name2], '??')

        gitrepo = Repository(self.main_repo)
        gitrepo.add([file_name, file_name2])

        status = get_status()
        self.assertEquals(status[file_name], 'A')
        self.assertEquals(status[file_name2], 'A')
        with self.assertRaises(RepositoryError):
            gitrepo.add("nonexistentfile")
开发者ID:mrodm,项目名称:python-repoman,代码行数:34,代码来源:test_gitrepository.py


示例4: test_push

    def test_push(self):
        gitrepo1 = pygit2.Repository(self.main_repo_bare)
        gitrepo2 = pygit2.Repository(self.cloned_from_repo)
        print "Main repo %s " % gitrepo1.path
        print "Cloned from repo %s " % gitrepo2.path

        walk_topological = lambda repo: repo.walk(
            repo.head.target, pygit2.GIT_SORT_TOPOLOGICAL)

        changesets1 = list(walk_topological(gitrepo1))
        changesets2 = list(walk_topological(gitrepo2))
        self.assertNotEqual(len(changesets1), len(changesets2))

        repo2 = Repository(self.cloned_from_repo)
        with self.assertRaises(RepositoryError):
            repo2.push(
                self.main_repo_bare,
                "inexistent_destination",
                ref_name='master')

        repo2.push(self.main_repo, self.main_repo_bare, ref_name='master')

        changesets1 = list(walk_topological(gitrepo1))
        changesets2 = list(walk_topological(gitrepo2))
        self.assertEquals(len(changesets1), len(changesets2))
开发者ID:angelnan,项目名称:python-repoman,代码行数:25,代码来源:test_gitrepository.py


示例5: test_update_failures

    def test_update_failures(self):
        repo_name = 'fixture-3'
        self.add_content_to_repo(
            os.path.join(FIXTURE_PATH, 'fixture-3.git.bundle'),
            os.path.join(self.environment_path, repo_name))
        gitrepo = Repository(os.path.join(self.environment_path, repo_name))

        with self.assertRaises(RepositoryError):
            gitrepo.update("doesntexist")
开发者ID:angelnan,项目名称:python-repoman,代码行数:9,代码来源:test_gitrepository.py


示例6: test_strip

 def test_strip(self):
     git = GitCmd(self.cloned_from_repo)
     gitrepo = Repository(self.cloned_from_repo)
     old_head = git('rev-parse', 'HEAD')
     parent_old_head = git('log', '-1', pretty='%P').split()[0]
     gitrepo.strip(gitrepo[old_head])
     new_head = git('rev-parse', 'HEAD')
     self.assertNotEquals(old_head, new_head)
     self.assertEquals(new_head, parent_old_head)
开发者ID:mrodm,项目名称:python-repoman,代码行数:9,代码来源:test_gitrepository.py


示例7: test_strip

 def test_strip(self):
     repo = pygit2.Repository(self.cloned_from_repo)
     gitrepo = Repository(self.cloned_from_repo)
     old_head = repo.head.get_object()
     parent_old_head = old_head.parents[0]
     gitrepo.strip(gitrepo[old_head.hex])
     new_head = repo.head.get_object()
     self.assertNotEquals(old_head.hex, new_head.hex)
     self.assertEquals(new_head.hex, parent_old_head.hex)
开发者ID:angelnan,项目名称:python-repoman,代码行数:9,代码来源:test_gitrepository.py


示例8: test_merge_no_conflicts

 def test_merge_no_conflicts(self):
     repo = pygit2.Repository(self.cloned_from_repo)
     headnewbranch = repo.lookup_reference(
         'refs/remotes/origin/newbranch').get_object().hex
     gitrepo = Repository(self.cloned_from_repo)
     # Checkout to master
     gitrepo.update('master')
     cs = gitrepo.merge(other_rev=gitrepo[headnewbranch])
     self.assertEquals(len(repo.head.get_object().parents), 2)
     self.assertEquals(repo.head.get_object().hex, cs.hash)
开发者ID:angelnan,项目名称:python-repoman,代码行数:10,代码来源:test_gitrepository.py


示例9: test_merge_no_conflicts

    def test_merge_no_conflicts(self):
        git = GitCmd(self.cloned_from_repo)

        headnewbranch = git('rev-parse', 'refs/heads/newbranch')
        gitrepo = Repository(self.cloned_from_repo)
        # Checkout to master
        gitrepo.update('master')
        cs = gitrepo.merge(other_rev=gitrepo[headnewbranch])
        self.assertEquals(len(git('log', '-1', pretty='%P').split()), 2)
        self.assertEquals(git('rev-parse', 'HEAD'), cs.hash)
开发者ID:mrodm,项目名称:python-repoman,代码行数:10,代码来源:test_gitrepository.py


示例10: test_pull

    def test_pull(self):
        gitrepo1 = GitCmd(self.main_repo)
        gitrepo2 = GitCmd(self.cloned_from_repo)

        self.assertNotEqual(
            gitrepo1('rev-list', all=True).split(),
            gitrepo2('rev-list', all=True).split())

        repo = Repository(self.main_repo)

        # Pulling a branch
        self.assertNotIn('newbranch', [b.name for b in repo.get_branches()])
        repo.pull(remote=self.cloned_from_repo, branch='newbranch')
        self.assertIn('newbranch', [b.name for b in repo.get_branches()])

        # Pulling everything
        repo.pull(remote=self.cloned_from_repo)

        self.assertEqual(
            gitrepo1('rev-list', all=True).split().sort(),
            gitrepo2('rev-list', all=True).split().sort())

        gitrepo1_refs = list(gitrepo1('show-ref', _iter=True))
        gitrepo2_refs = list(gitrepo2('show-ref', _iter=True))

        # Check that all remote refs have been fetched
        for ref in gitrepo2_refs:
            self.assertIn(ref, gitrepo1_refs)

        # Pulling from a non existing remote
        with self.assertRaises(RepositoryError):
            repo.pull(remote='wrong repo')
开发者ID:mrodm,项目名称:python-repoman,代码行数:32,代码来源:test_gitrepository.py


示例11: test_update

    def test_update(self):
        repo_name = 'fixture-3'
        path = os.path.join(self.environment_path, repo_name)
        self.add_content_to_repo(
            os.path.join(FIXTURE_PATH, 'fixture-3.git.bundle'),
            path)
        git = GitCmd(path)
        gitrepo = Repository(path)

        gitrepo.update("master")
        self.assertFalse(os.path.isfile(os.path.join(path, 'file2.txt')))
        self.assertTrue(os.path.isfile(os.path.join(path, 'file1.txt')))
        self.assertFalse(os.path.isfile(os.path.join(path, 'file3.txt')))
        self.assertNotEquals(git('rev-parse', '--abbrev-ref', 'HEAD'), 'HEAD')

        gitrepo.update("branch-1")
        self.assertTrue(os.path.isfile(os.path.join(path, 'file2.txt')))
        self.assertTrue(os.path.isfile(os.path.join(path, 'file1.txt')))
        self.assertFalse(os.path.isfile(os.path.join(path, 'file3.txt')))
        self.assertNotEquals(git('rev-parse', '--abbrev-ref', 'HEAD'), 'HEAD')

        gitrepo.update("branch-2")
        self.assertTrue(os.path.isfile(os.path.join(path, 'file3.txt')))
        self.assertFalse(os.path.isfile(os.path.join(path, 'file2.txt')))
        self.assertTrue(os.path.isfile(os.path.join(path, 'file1.txt')))
        self.assertNotEquals(git('rev-parse', '--abbrev-ref', 'HEAD'), 'HEAD')

        gitrepo.update("08b952ae66e59b216b1171c0c57082353bc80863")
        self.assertFalse(os.path.isfile(os.path.join(path, 'file3.txt')))
        self.assertFalse(os.path.isfile(os.path.join(path, 'file2.txt')))
        self.assertTrue(os.path.isfile(os.path.join(path, 'file1.txt')))
        self.assertEquals(git('rev-parse', '--abbrev-ref', 'HEAD'), 'HEAD')
开发者ID:mrodm,项目名称:python-repoman,代码行数:32,代码来源:test_gitrepository.py


示例12: test_compare_branches

 def test_compare_branches(self):
     gitrepo = Repository(self.cloned_from_repo)
     masterhead_hash = 'b7fa61d5faf434642e35744b55d8d8f367afc343'
     newbranch_hash = 'a277468c9cc0088ba69e0a4b085822d067e360ff'
     firstway = gitrepo.compare_branches(masterhead_hash, 'newbranch')
     self.assertEquals([
         gitrepo['b7fa61d5faf434642e35744b55d8d8f367afc343'],
         gitrepo['2a9e1b9be3fb95ed0841aacc1f20972430dc1a5c']],
         firstway)
     secondway = gitrepo.compare_branches(newbranch_hash, 'master')
     self.assertEquals([
         gitrepo['a277468c9cc0088ba69e0a4b085822d067e360ff']],
         secondway)
开发者ID:angelnan,项目名称:python-repoman,代码行数:13,代码来源:test_gitrepository.py


示例13: test_init

 def test_init(self):
     git = GitCmd(os.path.join(self.environment_path, 'remote'))
     gitrepo = Repository(os.path.join(self.environment_path, 'remote'))
     gitcs = gitrepo[git('rev-parse', 'HEAD')]
     self.assertEquals(gitcs.author, "Jose Plana")
     self.assertEquals(
         gitcs.hash, "52109e71fd7f16cb366acfcbb140d6d7f2fc50c9")
     self.assertEquals(
         gitcs.desc.rstrip('\n'), "Second changeset".rstrip('\n'))
     self.assertFalse(gitcs.merge)
     print(gitrepo.get_parents("52109e71fd7f16cb366acfcbb140d6d7f2fc50c9"))
     self.assertEquals(
         gitcs.parents[0].hash, "e3b1fc907ea8b3482e29eb91520c0e2eee2b4cdb")
开发者ID:mrodm,项目名称:python-repoman,代码行数:13,代码来源:test_changeset_git.py


示例14: test_commit_commits_but_with_removed_files

    def test_commit_commits_but_with_removed_files(self):
        file_name = "test1.txt"
        file_path = os.path.join(self.main_repo, file_name)
        commit_msg = "Test message"

        gitrepo = Repository(self.main_repo)
        gitrepo.update('master')
        os.remove(file_path)
        git = GitCmd(self.main_repo)

        gitrepo.commit(commit_msg)
        git('reset', hard=True)

        self.assertTrue(os.path.exists(file_path))
开发者ID:mrodm,项目名称:python-repoman,代码行数:14,代码来源:test_gitrepository.py


示例15: test_create_branch

 def test_create_branch(self):
     non_bare_repo_path = os.path.join(
         self.environment_path, 'remote-non-bare')
     sh.git("clone",
         os.path.join(self.environment_path, 'remote'),
         non_bare_repo_path,
     )
     git = GitCmd(non_bare_repo_path)
     gitrepo = Repository(non_bare_repo_path)
     gitcs = gitrepo[git('rev-parse', 'HEAD')]
     branch = gitcs.create_branch('fakebranch')
     self.assertEquals(branch.get_changeset(), gitrepo.tip())
     self.assertEquals(
         'fakebranch', git('rev-parse', '--abbrev-ref', 'fakebranch'))
开发者ID:mrodm,项目名称:python-repoman,代码行数:14,代码来源:test_changeset_git.py


示例16: test_push_to_unqualified_destination

    def test_push_to_unqualified_destination(self):
        git1 = GitCmd(self.main_repo_bare)
        git2 = GitCmd(self.cloned_from_repo)

        repo2 = Repository(self.cloned_from_repo)
        cs = repo2.commit('A commit', allow_empty=True)

        # Pushing a revision to a reference name that doesn't exist is
        # considered a push to an unqualified destination
        repo2.push(self.main_repo, self.main_repo_bare, rev=cs.hash, ref_name='unqualified')

        changesets1 = list(git1('log', 'unqualified', pretty='oneline', _iter=True))
        changesets2 = list(git2('log', cs.hash, pretty='oneline', _iter=True))
        self.assertEquals(changesets1, changesets2)
开发者ID:mrodm,项目名称:python-repoman,代码行数:14,代码来源:test_gitrepository.py


示例17: test_branch

    def test_branch(self):
        gitrepo = Repository(self.cloned_from_repo)
        gitrepo.branch("test_branch")
        git = GitCmd(self.cloned_from_repo)
        # Checking we are in the branch
        self.assertEquals(
                git('rev-parse', 'test_branch'),
                git('rev-parse', 'HEAD'))
        self.assertEquals(git('rev-parse', '--abbrev-ref', 'HEAD'), 'test_branch')

        gitrepo.branch('newbranch')
        self.assertEquals(
                git('rev-parse', 'newbranch'),
                git('rev-parse', 'HEAD'))
        self.assertEquals(git('rev-parse', '--abbrev-ref', 'HEAD'), 'newbranch')
开发者ID:mrodm,项目名称:python-repoman,代码行数:15,代码来源:test_gitrepository.py


示例18: test_create_branch

 def test_create_branch(self):
     non_bare_repo_path = os.path.join(
         self.environment_path, 'remote-non-bare')
     pygit2.clone_repository(
         os.path.join(self.environment_path, 'remote'),
         non_bare_repo_path,
     )
     clone = pygit2.Repository(non_bare_repo_path)
     gitrepo = Repository(non_bare_repo_path)
     gitcs = gitrepo[clone.head.get_object().hex]
     branch = gitcs.create_branch('fakebranch')
     self.assertEquals(branch.get_changeset(), gitrepo.tip())
     self.assertIsNotNone(clone.lookup_branch('fakebranch'))
     self.assertEquals(
         'fakebranch', clone.lookup_branch('fakebranch').branch_name)
开发者ID:angelnan,项目名称:python-repoman,代码行数:15,代码来源:test_changeset_git.py


示例19: test_commit_commits_but_with_removed_files

    def test_commit_commits_but_with_removed_files(self):
        file_name = "test1.txt"
        file_path = os.path.join(self.main_repo, file_name)
        commit_msg = "Test message"

        gitrepo = Repository(self.main_repo)
        gitrepo.update('master')
        os.remove(file_path)
        gitrepo.commit(commit_msg)

        repo = pygit2.Repository(self.main_repo)
        repo.reset(repo.head.target.hex, pygit2.GIT_RESET_HARD)
        repo.checkout_head(strategy=(pygit2.GIT_CHECKOUT_FORCE |
                                     pygit2.GIT_CHECKOUT_REMOVE_UNTRACKED))

        self.assertTrue(os.path.exists(file_path))
开发者ID:angelnan,项目名称:python-repoman,代码行数:16,代码来源:test_gitrepository.py


示例20: test_get_ancestor

    def test_get_ancestor(self):
        # According to the bundle
        ancestor_hash = "52109e71fd7f16cb366acfcbb140d6d7f2fc50c9"

        git = GitCmd(self.cloned_from_repo)
        headmaster = git('rev-parse', 'refs/heads/master')
        headnewbranch = git('rev-parse', 'refs/heads/newbranch')

        gitrepo = Repository(self.cloned_from_repo)
        ancestor = gitrepo.get_ancestor(gitrepo[headmaster],
                                        gitrepo[headnewbranch])

        self.assertEquals(ancestor.hash, ancestor_hash)

        with self.assertRaises(RepositoryError):
            gitrepo.get_ancestor(None, ancestor_hash)
开发者ID:mrodm,项目名称:python-repoman,代码行数:16,代码来源:test_gitrepository.py



注:本文中的repoman.git.repository.Repository类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python hglibext.open函数代码示例发布时间:2022-05-26
下一篇:
Python repo.Repo类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap