Как определить ближайший тэг к данному коммиту, используя API-интерфейс для битбакета? - PullRequest
0 голосов
/ 17 мая 2018

Я хочу получить список коммитов с момента последнего релиза, но, поскольку у меня есть много возможностей для изучения git-репозиториев, я хотел бы сделать это с помощью API bitbucket rest вместо клонирования каждого git-репо, которое я хочу тест.

Если у меня есть клон, моя проблема проста:

#!/bin/bash

git tag | grep '<release-tag-regexp>' | sort <in-descending-order>' \
  | while read tag
    do
      tag_sha1="$(git rev-parse "$tag^{commit}")"
      ancestor="$(git merge-base HEAD $tag)"
      if [ $ancestor = $tag_sha1 ]
      then
        echo "Closest release tag is: $tag"
        exit 1
      fi
    done

 if [ $? -eq 0 ]
 then
   echo "No release tag found which is an ancestor of HEAD"
 fi

Хотелось бы, чтобы у bitbucket был вызов покоя для этого запроса. Похоже, у меня нет выбора, кроме как использовать журнал фиксации и список тегов и создать карту самостоятельно.

1 Ответ

0 голосов
/ 18 мая 2018

Вы не можете получить ближайший тег для данного коммита через REST API.Однако, если у вас уже есть теги, вы можете получить список коммитов между двумя тегами, используя коммит REST API и передавая параметры запроса since и until.

...