Учитывая долгий мерзавец, как безопасно получить короткий коммит - PullRequest
0 голосов
/ 30 мая 2019

Если я запрашиваю API-интерфейс bitbucket для коммитов, я получаю длинную версию:

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 символов или что-то?Или, возможно, есть способ запросить короткий хэш из API Bitbucket?На эту тему я ищу надежный способ получить самый последний коммит для ветки.

1 Ответ

2 голосов
/ 30 мая 2019

Я не очень хорошо знаю API Bitbucket, и требуется ли его конечным точкам полный хэш SHA-1, но, насколько я знаю, официальной короткой версии хэша коммитов нет.Единственным общим требованием является то, что фрагмент используемого хэша может корректно разрешиться в один коммит.

Сеть Bitbucket, похоже, отображает только первые 7 символов хэша SHA-1.Примерно 78 миллиардов различных хэшей длины 7, поэтому вряд ли возникнет коллизия на одной странице.

...