首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我该如何在Dulwich中获得完整的提交哈希呢?

我该如何在Dulwich中获得完整的提交哈希呢?
EN

Stack Overflow用户
提问于 2022-10-25 13:28:05
回答 1查看 10关注 0票数 0

我希望得到git show -s --format=%H在Dulwich中的行为,即获得由HEAD指向的完整提交哈希。然而,事实证明,porcelain.show() function的行为与git show非常相似,但似乎不知道任何其他选项,比如Git。

考虑到porcelain.describe()的行为类似,我并不感到惊讶。但是,对于HEAD的完整提交哈希,我在Dulwich有什么替代方法呢?

对于缩略语--尽管硬编码为7个字符(!) --我可以使用前面提到的porcelain.describe()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-25 13:28:05

通过咨询the code for porcelain.describe(),我们可以把这些东西拼凑在一起。

  1. open_repo_closingdulwich.repo.BaseRepo class提供了一个很好的上下文管理器,contextlib.closing behavior
  2. BaseRepo.head()将信息包含为bytes

最小的实现可能如下所示:

代码语言:javascript
复制
def get_latest_hash(repo):
    from dulwich.porcelain import open_repo_closing
    with open_repo_closing(repo) as r:
        return r.head().decode("ascii")

比我最初预计的要简单。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74194840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档