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
|
||||
|
||||
Заметные изменения по релизам. **Версия и дата каждой записи берутся из
|
||||
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-hang-sound-button — 2026-09-02
|
||||
## v0.9.6-hang-sound-button — 2026-09-02 — `aaa480d`
|
||||
|
||||
Три бага, найденные в живой игре и проверенные в MAME после исправления.
|
||||
|
||||
|
||||
@@ -61,11 +61,19 @@ seqtbl, `seg007` mob/loose/падающие объекты, `seg008` отрис
|
||||
Открытые файлы обязаны читаться целиком за раз.
|
||||
|
||||
**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/<тег>
|
||||
|
||||
Заголовок = `<имя тега> — <дата> — <коммит>`. Коммит обязателен: тег
|
||||
можно передвинуть или переименовать, а ревизия, на которой релиз собран,
|
||||
должна оставаться в записи однозначно. Берётся именно `*objectname`
|
||||
(дереференс аннотированного тега), а не `objectname` — последний вернёт
|
||||
хеш самого объекта тега, а не коммита.
|
||||
|
||||
В запись идёт только то, что видно ИГРОКУ или меняет сборку/запуск, — по
|
||||
одному пункту «симптом -> причина одной фразой -> хеш коммита». Полный
|
||||
разбор живёт в сообщении коммита, дублировать его сюда не надо.
|
||||
|
||||
Reference in New Issue
Block a user