python - 从 bitbucket 服务器检索 python 脚本中提交的哈希值
问题描述
我想知道是否可以在 Python 脚本中检索提交的哈希值。
对于给定的脚本,我可以使用简单的公式和代码轻松确定 blob 的哈希值,例如:
from sys import argv
from hashlib import sha1
from cStringIO import StringIO
class githash(object):
def __init__(self):
self.buf = StringIO()
def update(self, data):
self.buf.write(data)
def hexdigest(self):
data = self.buf.getvalue()
h = sha1()
h.update("blob %u\0" % len(data))
h.update(data)
return h.hexdigest()
def githash_data(data):
h = githash()
h.update(data)
return h.hexdigest()
def githash_fileobj(fileobj):
return githash_data(fileobj.read())
if __name__ == '__main__':
for filename in argv[1:]:
fileobj = file(filename)
print(githash_fileobj(fileobj))
但是,这种为给定文件计算与 git 相同的哈希的方法似乎不适用于完整的提交。VonC在这里描述的公式对我来说并不清楚。有没有办法在 python 中计算这个提交哈希或者直接从 bitbucket 服务器检索它?
编辑:我刚发现Stashy。我会调查一下。
解决方案
推荐阅读
- amazon-web-services - 如何跨多个服务器实例保留“计数器”变量?
- php - 有没有办法将每个循环中的对象传递到 swiftmailer 消息中?
- javascript - 有没有办法执行从 JavaScript 中的输入标签抓取的代码?
- android - 在 IO 线程上调用 doOnSubscribe
- javascript - React:上下文提供者何时更新其消费者?
- c# - -ConnectionUri 参数错误,远程会话尝试将消息传递到网络上的计算机
- vb.net - 显示多条记录
- spring-boot - 无法通过 bootJar 任务创建可执行的 Spring Boot jar
- scala - 尝试编译 SBT 项目时,ScalaPB 无法正常工作。编译失败,“object gen is not a member of package scalapb”
- angular - 角度日期比较保持返回错误结果