/
itphx
/
synth
Обзор
Документация
Войти
/
itphx
/
synth
Код
Запросы
0
Задачи
Вики
Пакеты
1
Релизы
8
CI/CD
Аналитика
master
scripts/changelog.sh
33 строки
1 KB
eka
fix: CHANGELOG брал текущий тег вместо предыдущего (head -1 → sed -n '2p')
04 июл 2026, 22:24
04 июл 2026, 22:24
2203ad6
Код
Авторство
О чём код?
#!/bin/bash # Генерация CHANGELOG.md из коммитов между тегами set -e cd "$(dirname "$0")/.." VERSION=$(node -e "console.log(require('./packages/synth/package.json').version)") echo "Версия: $VERSION" PREV_TAG=$(git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sed -n '2p') if [ -z "$PREV_TAG" ]; then echo "Предыдущий тег не найден — первый релиз" echo "## $VERSION ($(date +%Y-%m-%d)) — Первый релиз" > changelog-partial.md exit 0 fi echo "Предыдущий тег: $PREV_TAG" { echo "## $VERSION ($(date +%Y-%m-%d))" echo "" echo "### Новые возможности" git log "$PREV_TAG..HEAD" --no-merges --format="- %s" --grep="^feat[:(]" 2>/dev/null || echo " (нет)" echo "" echo "### Исправления" git log "$PREV_TAG..HEAD" --no-merges --format="- %s" --grep="^fix[:(]" 2>/dev/null || echo " (нет)" echo "" echo "### Прочее" git log "$PREV_TAG..HEAD" --no-merges --format="- %s" --grep="^chore[:(]" --grep="^refactor[:(]" --grep="^docs[:(]" 2>/dev/null || echo " (нет)" } > changelog-partial.md echo "CHANGELOG сохранён в changelog-partial.md"