Files
cc-1c-skills/tests/skills/cases/db-load-git/deleted-module-warns.json
T
Nick ShirokovandClaude Opus 5.5 80618f0b93 fix(db-load-git): предупреждать об удалениях, которые загрузка частями не применит
Удалённый объект уходит из базы, только если в списке его владелец и в
составе владельца объекта уже нет; удалённый файл-часть (модуль, Ext/)
загрузка частями не удаляет никогда. Скрипт классифицирует удаления:
применимые — [note], остальные — [ВНИМАНИЕ] с причиной; если загружать
нечего, а неприменимые удаления есть — код 1. git diff с --no-renames,
чтобы старый путь переименования был виден. -AllExtensions отвергается
на обоих движках: частями грузится одно расширение за раз.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ANXwbMUhuRFSCsq2RgmTTm
2026-09-24 18:08:20 +03:00

23 lines
1.5 KiB
JSON

{
"name": "Удалённый модуль объекта: загрузка частями его не удалит — [ВНИМАНИЕ]",
"preRun": [
{ "writeFile": { "path": "src/Configuration.xml", "content": "<MetaDataObject>\n\t<Configuration>\n\t\t<ChildObjects>\n\t\t\t<Catalog>Товары</Catalog>\n\t\t</ChildObjects>\n\t</Configuration>\n</MetaDataObject>\n" } },
{ "writeFile": { "path": "src/Catalogs/Товары.xml", "content": "<MetaDataObject>\n\t<Catalog>\n\t\t<ChildObjects/>\n\t</Catalog>\n</MetaDataObject>\n" } },
{ "writeFile": { "path": "src/Catalogs/Товары/Ext/ObjectModule.bsl", "content": "Процедура А() КонецПроцедуры\n" } },
{ "git": ["-C", "src", "init", "-q"] },
{ "git": ["-C", "src", "add", "-A"] },
{ "git": ["-C", "src", "commit", "-qm", "base"] },
{ "deletePath": "src/Catalogs/Товары/Ext/ObjectModule.bsl" },
{ "git": ["-C", "src", "add", "-A"] }
],
"args_extra": ["-ConfigDir", "{workDir}/src", "-Source", "Staged", "-DryRun"],
"expect": {
"stdoutContains": [
"[ВНИМАНИЕ] Удаления, которые загрузка частями НЕ применит — в базе они останутся:",
"Catalogs/Товары/Ext/ObjectModule.bsl: часть объекта — загрузка частями файлы не удаляет",
"DryRun mode - no changes applied"
]
},
"noSnapshot": "сухой прогон ничего не пишет — проверяется вердикт по удалению"
}