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

Я пишу чек в конвейере Jenkins, который проверяет, что ветвь, которая была извлечена, также помечена.

В моем репо у меня есть файл CHANGELOG.md, и его верхняя запись - это что-токак

## 1.0.1
 * Made this change
 * Made that change

Теперь проверка в основном получает самую последнюю запись в журнале изменений и проверяет, является ли эта запись используемой для пометки ветви элемента

Так что из приведенного выше файла я могу извлечь значение тегаиспользуя

TAG=$(grep "##" file | head -1 | sed -e 's/## //g')
echo $TAG
1.0.1

Теперь мне нужно проверить, имеет ли ветвь, в которой я нахожусь, тот же тег или нет.

Выполнение git tag -l <tag> не кажется мне жизнеспособным решением, так как оно вернетсяВСЕ теги и не подскажите, помечена ли текущая ветка или нет. Это также не говорит мне о тегах для текущей ветви.

git ls-remote --tags применимо только для удаленных тегов, но опять же не гарантирует, принадлежит ли тег определенной ветви или нет.

Как лучше всего убедиться, что в этом случае существует метка на ветке?

1 Ответ

0 голосов
/ 28 октября 2019

Чтобы убедиться, что ваша текущая ветка содержит тег, который вы используете, вы можете использовать git branch --contains

git branch --contains `git rev-parse TAGGY-X.Y.Z`
...