Как я могу определить ближайший тег к данной фиксации с помощью API-интерфейса bitbucket rest?

Я хочу получить список коммитов с момента последнего выпуска, но, поскольку мне нужно изучить много репозиториев 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

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


person Christian Goetze    schedule 16.05.2018    source источник
comment
Вы используете bitbucket.org или Bitbucket Server?   -  person Kristy Hughes    schedule 17.05.2018
comment
на предпосылке - так что я думаю, что это сервер битбакета   -  person Christian Goetze    schedule 17.05.2018


Ответы (1)


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

person Kristy Hughes    schedule 18.05.2018
comment
Я должен попробовать, если он топологически работает правильно, то есть, если он эквивалентен git log since..until, но даже если это так, это действительно не поможет мне получить то, что я хочу: т. е. учитывая любую случайную ветвь, скажите мне, что изменилось с момента последнего выпуска из этой ветки (или ее родителей).... - person Christian Goetze; 23.05.2018