SprPoP: в CHANGELOG к версии и дате добавлен коммит тега
Заголовок записи стал `<имя тега> — <дата> — <коммит>`. Зачем коммит, если есть имя тега: тег можно передвинуть или переименовать, а ревизия, на которой релиз собран, должна оставаться в записи однозначно — по ней билд воспроизводится точно. Заодно это тот же хеш, что зашит в EXE как BUILD_ID и виден на экране About, так что принесённый пользователем скриншот сразу сопоставляется с записью changelog. Берётся именно `*objectname` (дереференс аннотированного тега), а не `objectname`: последний вернул бы хеш самого объекта тега, а не коммита. Команда целиком выписана и в шапке CHANGELOG, и в правиле в CLAUDE.md, чтобы не восстанавливать её каждый раз. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018T2k4VZrSyERwk6H97Sfi1
This commit is contained in:
@@ -1,9 +1,16 @@
|
|||||||
# SprPoP — CHANGELOG
|
# SprPoP — CHANGELOG
|
||||||
|
|
||||||
Заметные изменения по релизам. **Версия и дата каждой записи берутся из
|
Заметные изменения по релизам. **Версия, дата и коммит каждой записи
|
||||||
git** — из аннотированного тега (`git for-each-ref refs/tags`), а не
|
берутся из git** — из аннотированного тега, а не проставляются руками,
|
||||||
проставляются руками, поэтому расходиться с историей они не могут.
|
поэтому расходиться с историей они не могут:
|
||||||
Заголовок записи = имя тега, дата = дата его создания.
|
|
||||||
|
git for-each-ref \
|
||||||
|
--format='%(refname:short) | %(creatordate:short) | %(*objectname:short)' \
|
||||||
|
refs/tags/<тег>
|
||||||
|
|
||||||
|
Заголовок записи = `<имя тега> — <дата тега> — <коммит тега>`. Коммит —
|
||||||
|
дереференс аннотированного тега (`*objectname`), то есть та ревизия, на
|
||||||
|
которой релиз собран: по ней воспроизводится ровно этот билд.
|
||||||
|
|
||||||
Здесь только то, что видно ИГРОКУ или меняет способ сборки/запуска.
|
Здесь только то, что видно ИГРОКУ или меняет способ сборки/запуска.
|
||||||
Разбор причин живёт в сообщениях коммитов, открытые баги — в
|
Разбор причин живёт в сообщениях коммитов, открытые баги — в
|
||||||
@@ -12,7 +19,7 @@ git** — из аннотированного тега (`git for-each-ref refs/t
|
|||||||
Файл начат с релиза v0.9.6; более ранняя история — в `git log` и в
|
Файл начат с релиза v0.9.6; более ранняя история — в `git log` и в
|
||||||
досках задач.
|
досках задач.
|
||||||
|
|
||||||
## v0.9.6-hang-sound-button — 2026-09-02
|
## v0.9.6-hang-sound-button — 2026-09-02 — `aaa480d`
|
||||||
|
|
||||||
Три бага, найденные в живой игре и проверенные в MAME после исправления.
|
Три бага, найденные в живой игре и проверенные в MAME после исправления.
|
||||||
|
|
||||||
|
|||||||
@@ -61,11 +61,19 @@ seqtbl, `seg007` mob/loose/падающие объекты, `seg008` отрис
|
|||||||
Открытые файлы обязаны читаться целиком за раз.
|
Открытые файлы обязаны читаться целиком за раз.
|
||||||
|
|
||||||
**CHANGELOG. Ставишь релизный тег — добавь запись в `CHANGELOG.md`.**
|
**CHANGELOG. Ставишь релизный тег — добавь запись в `CHANGELOG.md`.**
|
||||||
Версия и дата в заголовке берутся ИЗ GIT, руками не проставляются:
|
Версия, дата И КОММИТ в заголовке берутся ИЗ GIT, руками не
|
||||||
|
проставляются:
|
||||||
|
|
||||||
git for-each-ref --format='%(refname:short) | %(creatordate:short)' \
|
git for-each-ref \
|
||||||
|
--format='%(refname:short) | %(creatordate:short) | %(*objectname:short)' \
|
||||||
refs/tags/<тег>
|
refs/tags/<тег>
|
||||||
|
|
||||||
|
Заголовок = `<имя тега> — <дата> — <коммит>`. Коммит обязателен: тег
|
||||||
|
можно передвинуть или переименовать, а ревизия, на которой релиз собран,
|
||||||
|
должна оставаться в записи однозначно. Берётся именно `*objectname`
|
||||||
|
(дереференс аннотированного тега), а не `objectname` — последний вернёт
|
||||||
|
хеш самого объекта тега, а не коммита.
|
||||||
|
|
||||||
В запись идёт только то, что видно ИГРОКУ или меняет сборку/запуск, — по
|
В запись идёт только то, что видно ИГРОКУ или меняет сборку/запуск, — по
|
||||||
одному пункту «симптом -> причина одной фразой -> хеш коммита». Полный
|
одному пункту «симптом -> причина одной фразой -> хеш коммита». Полный
|
||||||
разбор живёт в сообщении коммита, дублировать его сюда не надо.
|
разбор живёт в сообщении коммита, дублировать его сюда не надо.
|
||||||
|
|||||||
Reference in New Issue
Block a user