0

如果我查询 bitbucket api 的提交,我会得到长版本:

bitbucket_curl(){
    curl -H 'Authorization:Basic YW1JyKg==' "https://api.bitbucket.org$@"
}

commits="$(bitbucket_curl '/2.0/repositories/interos/datavana/commits/alex/dockerize?pagelen=3')"

latest_commit="$(echo "$commits" | jq -r '.values[0].hash')"

给出一个长提交:c56cefbd0c81142558cf814cba7d7cd75d7cb6a7

有没有办法可靠地获得短提交哈希?是不是像最后 10 个字符之类的?或者也许有一种方法可以从 Bitbucket API 请求短哈希?在这个主题上,我正在寻找一种可靠的方法来获取分支的最新提交。

4

1 回答 1

2

我不太了解 Bitbucket API,以及它的端点是否需要完整的 SHA-1 哈希,但据我所知,没有官方的简短版本的提交哈希。唯一的一般要求是使用的散列片段可以正确解析为单个提交。

Bitbucket web 似乎只显示 SHA-1 哈希的前 7 个字符。大约有 780 亿个长度为 7 的不同哈希,因此在单个页面上不太可能发生冲突。

于 2019-05-29T23:53:04.550 回答