diff --git a/applications/SprPoP/CHANGELOG.md b/applications/SprPoP/CHANGELOG.md index be4e7b2..a0cde2d 100644 --- a/applications/SprPoP/CHANGELOG.md +++ b/applications/SprPoP/CHANGELOG.md @@ -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 после исправления. diff --git a/applications/SprPoP/CLAUDE.md b/applications/SprPoP/CLAUDE.md index 86b1b20..ac39351 100644 --- a/applications/SprPoP/CLAUDE.md +++ b/applications/SprPoP/CLAUDE.md @@ -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` — последний вернёт +хеш самого объекта тега, а не коммита. + В запись идёт только то, что видно ИГРОКУ или меняет сборку/запуск, — по одному пункту «симптом -> причина одной фразой -> хеш коммита». Полный разбор живёт в сообщении коммита, дублировать его сюда не надо.