当前位置: 首页>>代码示例>>Python>>正文


Python GitClient.get_branch_parent方法代码示例

本文整理汇总了Python中vcstools.GitClient.get_branch_parent方法的典型用法代码示例。如果您正苦于以下问题:Python GitClient.get_branch_parent方法的具体用法?Python GitClient.get_branch_parent怎么用?Python GitClient.get_branch_parent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vcstools.GitClient的用法示例。


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

示例1: test_detached_to_branch

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
    def test_detached_to_branch(self):
        client = GitClient(self.local_path)
        # url = self.remote_path
        self.assertEqual(client.get_branch(), "master")
        tag = "no_br_tag"
        self.assertTrue(client.update(tag))
        self.assertEqual(client.get_branch(), None)
        self.assertEqual(client.get_branch_parent(), None)

        tag = "test_tag"
        self.assertTrue(client.update(tag))
        self.assertEqual(client.get_branch(), None)
        self.assertEqual(client.get_version(), self.readonly_version_init)
        self.assertEqual(client.get_branch_parent(), None)

        #update should not change anything
        self.assertTrue(client.update())  # no arg
        self.assertEqual(client.get_branch(), None)
        self.assertEqual(client.get_version(), self.readonly_version_init)
        self.assertEqual(client.get_branch_parent(), None)

        new_branch = 'master'
        self.assertTrue(client.update(new_branch))
        self.assertEqual(client.get_branch(), new_branch)
        self.assertEqual(client.get_version(), self.readonly_version)
        self.assertEqual(client.get_branch_parent(), new_branch)
开发者ID:jamuraa,项目名称:vcstools,代码行数:28,代码来源:test_git.py

示例2: test_checkout_specific_branch_and_update

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
    def test_checkout_specific_branch_and_update(self):
        # subdir = "checkout_specific_version_test"
        url = self.remote_path
        branch = "test_branch"
        client = GitClient(self.local_path)
        self.assertFalse(client.path_exists())
        self.assertFalse(client.detect_presence())
        self.assertTrue(client.checkout(url, branch))
        self.assertTrue(client.path_exists())
        self.assertTrue(client.detect_presence())
        self.assertTrue(client.is_local_branch(branch))
        self.assertEqual(client.get_path(), self.local_path)
        self.assertEqual(client.get_url(), url)
        self.assertEqual(client.get_version(), self.readonly_version_init)
        self.assertEqual(client.get_branch(), branch)
        self.assertEqual(client.get_branch_parent(), branch)

        self.assertTrue(client.update())  # no arg
        self.assertEqual(client.get_branch(), branch)
        self.assertEqual(client.get_version(), self.readonly_version_init)
        self.assertEqual(client.get_branch_parent(), branch)

        self.assertTrue(client.update(branch))  # same branch arg
        self.assertEqual(client.get_branch(), branch)
        self.assertEqual(client.get_version(), self.readonly_version_init)
        self.assertEqual(client.get_branch_parent(), branch)

        new_branch = 'master'
        self.assertTrue(client.update(new_branch))
        self.assertEqual(client.get_branch(), new_branch)
        self.assertEqual(client.get_branch_parent(), new_branch)
开发者ID:jamuraa,项目名称:vcstools,代码行数:33,代码来源:test_git.py

示例3: test_get_branch_parent

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
    def test_get_branch_parent(self):
        client = GitClient(path=self.local_path)
        client.checkout(url=self.remote_path, version='master')
        self.assertEqual(client.get_branch_parent(), ("master", "origin"))

        # with other remote than origin
        for cmd in ['git remote add remote2 %s' % self.remote_path,
                    'git config --replace-all branch.master.remote remote2']:
            subprocess.check_call(cmd, shell=True, cwd=self.local_path)
        self.assertEqual(client.get_branch_parent(), (None, None))
        self.assertEqual(client.get_branch_parent(fetch=True), ('master', "remote2"))
        # with not actual remote branch
        cmd = 'git config --replace-all branch.master.merge dummy_branch'
        subprocess.check_call(cmd, shell=True, cwd=self.local_path)
        self.assertEqual(client.get_branch_parent(), (None, None))
        # return remote back to original config
        for cmd in [
             'git config --replace-all branch.master.remote origin',
             'git config --replace-all branch.master.merge refs/heads/master']:
            subprocess.check_call(cmd, shell=True, cwd=self.local_path)

        # with detached local status
        client.update(version='test_tag')
        self.assertEqual(client.get_branch_parent(), (None, None))
        # back to master branch
        client.update(version='master')
开发者ID:jpgr87,项目名称:vcstools,代码行数:28,代码来源:test_git.py

示例4: test_checkout_master_branch_and_update

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
    def test_checkout_master_branch_and_update(self):
        # subdir = "checkout_specific_version_test"
        url = self.remote_path
        branch = "master"
        client = GitClient(self.local_path)
        self.assertFalse(client.path_exists())
        self.assertFalse(client.detect_presence())
        self.assertTrue(client.checkout(url, branch))
        self.assertTrue(client.path_exists())
        self.assertTrue(client.detect_presence())
        self.assertEqual(client.get_path(), self.local_path)
        self.assertEqual(client.get_url(), url)
        self.assertEqual(client.get_branch_parent(), branch)

        self.assertTrue(client.update(branch))
        self.assertEqual(client.get_branch_parent(), branch)
开发者ID:jamuraa,项目名称:vcstools,代码行数:18,代码来源:test_git.py

示例5: test_fast_forward_simple_ref

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
    def test_fast_forward_simple_ref(self):
        url = self.remote_path
        client = GitClient(self.local_path)
        self.assertTrue(client.checkout(url, "master"))
        subprocess.check_call("git reset --hard test_tag", shell=True, cwd=self.local_path)
        # replace "refs/head/master" with just "master"
        subprocess.check_call("git config --replace-all branch.master.merge master", shell=True, cwd=self.local_path)

        self.assertTrue(client.get_branch_parent() is not None)
开发者ID:jamuraa,项目名称:vcstools,代码行数:11,代码来源:test_git.py

示例6: test_checkout_specific_tag_and_update

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
    def test_checkout_specific_tag_and_update(self):
        url = self.remote_path
        tag = "last_tag"
        client = GitClient(self.local_path)
        self.assertFalse(client.path_exists())
        self.assertFalse(client.detect_presence())
        self.assertTrue(client.checkout(url, tag))
        self.assertTrue(client.path_exists())
        self.assertTrue(client.detect_presence())
        self.assertEqual(client.get_path(), self.local_path)
        self.assertEqual(client.get_url(), url)
        self.assertEqual(client.get_branch_parent(), None)
        tag = "test_tag"
        self.assertTrue(client.update(tag))
        self.assertEqual(client.get_branch_parent(), None)

        new_branch = 'master'
        self.assertTrue(client.update(new_branch))
        self.assertEqual(client.get_branch_parent(), new_branch)
        tag = "test_tag"
        self.assertTrue(client.update(tag))
开发者ID:jamuraa,项目名称:vcstools,代码行数:23,代码来源:test_git.py

示例7: test_checkout

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
 def test_checkout(self):
     url = self.remote_path
     client = GitClient(self.local_path)
     self.assertFalse(client.path_exists())
     self.assertFalse(client.detect_presence())
     self.assertTrue(client.checkout(url))
     self.assertTrue(client.path_exists())
     self.assertTrue(client.detect_presence())
     self.assertEqual(client.get_path(), self.local_path)
     self.assertEqual(client.get_url(), url)
     self.assertEqual(client.get_branch(), "master")
     self.assertEqual(client.get_branch_parent(), "master")
开发者ID:jamuraa,项目名称:vcstools,代码行数:14,代码来源:test_git.py

示例8: test_protect_dangling

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
    def test_protect_dangling(self):
        client = GitClient(self.local_path)
        # url = self.remote_path
        self.assertEqual(client.get_branch(), "master")
        tag = "no_br_tag"
        self.assertTrue(client.update(tag))
        self.assertEqual(client.get_branch(), None)
        self.assertEqual(client.get_branch_parent(), None)

        tag = "test_tag"
        self.assertTrue(client.update(tag))
        self.assertEqual(client.get_branch(), None)
        self.assertEqual(client.get_branch_parent(), None)

        # to dangling commit
        sha = self.dangling_version
        self.assertTrue(client.update(sha))
        self.assertEqual(client.get_branch(), None)
        self.assertEqual(client.get_version(), self.dangling_version)
        self.assertEqual(client.get_branch_parent(), None)

        # now HEAD protects the dangling commit, should not be allowed to move off.
        new_branch = 'master'
        self.assertFalse(client.update(new_branch))
开发者ID:jamuraa,项目名称:vcstools,代码行数:26,代码来源:test_git.py

示例9: test_checkout_shallow

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
 def test_checkout_shallow(self):
     url = 'file://' + self.remote_path
     client = GitClient(self.local_path)
     self.assertFalse(client.path_exists())
     self.assertFalse(client.detect_presence())
     self.assertTrue(client.checkout(url, shallow=True))
     self.assertTrue(client.path_exists())
     self.assertTrue(client.detect_presence())
     self.assertEqual(client.get_path(), self.local_path)
     self.assertEqual(client.get_url(), url)
     self.assertEqual(client.get_branch(), "master")
     self.assertEqual(client.get_branch_parent(), "master")
     po = subprocess.Popen("git log --pretty=format:%H", shell=True, cwd=self.local_path, stdout=subprocess.PIPE)
     log = po.stdout.read().decode('UTF-8').splitlines()
     # shallow only contains last 2 commits
     self.assertEqual(2, len(log), log)
开发者ID:jamuraa,项目名称:vcstools,代码行数:18,代码来源:test_git.py

示例10: test_checkout_local_only_branch_and_update

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
    def test_checkout_local_only_branch_and_update(self):
        # prevent regression on wstool#25: no rebase after switching branch
        url = self.remote_path
        branch = "master"
        client = GitClient(self.local_path)
        self.assertFalse(client.path_exists())
        self.assertFalse(client.detect_presence())
        self.assertTrue(client.checkout(url, branch))
        self.assertTrue(client.path_exists())
        self.assertTrue(client.detect_presence())
        self.assertTrue(client.is_local_branch(branch))

        subprocess.check_call("git reset --hard HEAD~1", shell=True, cwd=self.local_path)
        subprocess.check_call("git checkout -b new_local_branch", shell=True, cwd=self.local_path)

        self.assertTrue(client.update(branch))  # same branch arg
        self.assertEqual(client.get_branch(), branch)
        self.assertEqual(client.get_version(), self.readonly_version)
        self.assertEqual(client.get_branch_parent(), branch)
开发者ID:cottsay,项目名称:vcstools,代码行数:21,代码来源:test_git.py

示例11: test_checkout_untracked_branch_and_update

# 需要导入模块: from vcstools import GitClient [as 别名]
# 或者: from vcstools.GitClient import get_branch_parent [as 别名]
    def test_checkout_untracked_branch_and_update(self):
        # difference to tracked branches is that branch parent is None, and we may hop outside lineage
        client = GitClient(self.local_path)
        url = self.remote_path
        branch = "localbranch"
        self.assertEqual(client.get_branch(), "master")
        self.assertTrue(client.path_exists())
        self.assertTrue(client.detect_presence())
        self.assertTrue(client.is_local_branch(branch))
        self.assertEqual(client.get_path(), self.local_path)
        self.assertEqual(client.get_url(), url)
        self.assertTrue(client.update(branch))
        self.assertEqual(client.get_version(), self.untracked_version)
        self.assertEqual(client.get_branch(), branch)
        self.assertEqual(client.get_branch_parent(), None)

        self.assertTrue(client.update())  # no arg
        self.assertEqual(client.get_branch(), branch)
        self.assertEqual(client.get_version(), self.untracked_version)
        self.assertEqual(client.get_branch_parent(), None)

        self.assertTrue(client.update(branch))  # same branch arg
        self.assertEqual(client.get_branch(), branch)
        self.assertEqual(client.get_version(), self.untracked_version)
        self.assertEqual(client.get_branch_parent(), None)

        # to master
        new_branch = 'master'
        self.assertTrue(client.update(new_branch))
        self.assertEqual(client.get_branch(), new_branch)
        self.assertEqual(client.get_version(), self.readonly_version)
        self.assertEqual(client.get_branch_parent(), new_branch)

        # and back
        self.assertTrue(client.update(branch))  # same branch arg
        self.assertEqual(client.get_branch(), branch)
        self.assertEqual(client.get_version(), self.untracked_version)
        self.assertEqual(client.get_branch_parent(), None)

        # to dangling commit
        sha = self.dangling_version
        self.assertTrue(client.update(sha))
        self.assertEqual(client.get_branch(), None)
        self.assertEqual(client.get_version(), self.dangling_version)
        self.assertEqual(client.get_branch_parent(), None)

        #should not work to protect commits from becoming dangled
        # to commit outside lineage
        tag = "test_tag"
        self.assertFalse(client.update(tag))
开发者ID:jamuraa,项目名称:vcstools,代码行数:52,代码来源:test_git.py


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