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


Python Git.rev_parse方法代码示例

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


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

示例1: _get_workdir

# 需要导入模块: from git import Git [as 别名]
# 或者: from git.Git import rev_parse [as 别名]
    def _get_workdir(self):
        """Return an initialized workdir path.

        If the stock links to a plain directory, the workdir is simply its path.

        If the stock links to a git repository, the workdir will point to a
        persistent lightweight checkout of the desired branch.
        """
        if not self.branch:
            return self.link

        orig = Git(self.link)
        checkout_path = self.paths.checkout

        if not exists(checkout_path):
            mkdir(checkout_path)
            checkout = Git.init_create(checkout_path)
            checkout.set_alternates(orig)
        else:
            checkout = Git(checkout_path)

        def dup_branch(branch):
            # checkout latest changes
            commit = orig.rev_parse(branch)
            if not commit:
                raise self.Error("no such branch `%s' at %s" % (branch, self.link))
            checkout.update_ref("refs/heads/" + branch, commit)

        dup_branch(self.branch)
        checkout.checkout("-q", "-f", self.branch)

        if exists(join(checkout_path, "arena.internals")):
            dup_branch(self.branch + "-thin")

            command = "cd %s && sumo-open" % commands.mkarg(checkout_path)
            error = os.system(command)
            if error:
                raise self.Error("failed command: " + command)
            return join(checkout_path, "arena")

        # update tags
        for tag in checkout.list_tags():
            checkout.remove_tag(tag)

        for tag in orig.list_tags():
            try:
                checkout.update_ref("refs/tags/" + tag, orig.rev_parse(tag))
            except:
                continue

        return checkout_path
开发者ID:qrntz,项目名称:pool,代码行数:53,代码来源:pool.py


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