Files
cc-1c-skills/tests/skills/cases/db-load-git/deleted-form-still-in-owner-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

28 lines
1.9 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\t\t<Form>ФормаЭлемента</Form>\n\t\t</ChildObjects>\n\t</Catalog>\n</MetaDataObject>\n" } },
{ "writeFile": { "path": "src/Catalogs/Товары/Forms/ФормаЭлемента.xml", "content": "<MetaDataObject/>\n" } },
{ "writeFile": { "path": "src/Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml", "content": "<Form/>\n" } },
{ "git": ["-C", "src", "init", "-q"] },
{ "git": ["-C", "src", "add", "-A"] },
{ "git": ["-C", "src", "commit", "-qm", "base"] },
{ "writeFile": { "path": "src/Catalogs/Товары.xml", "content": "<MetaDataObject>\n\t<Catalog>\n\t\t<Comment>правка</Comment>\n\t\t<ChildObjects>\n\t\t\t<Form>ФормаЭлемента</Form>\n\t\t</ChildObjects>\n\t</Catalog>\n</MetaDataObject>\n" } },
{ "deletePath": "src/Catalogs/Товары/Forms" },
{ "git": ["-C", "src", "add", "-A"] }
],
"args_extra": ["-ConfigDir", "{workDir}/src", "-Source", "Staged", "-DryRun"],
"expect": {
"stdoutContains": [
"Catalogs/Товары/Forms/ФормаЭлемента.xml: Catalogs/Товары.xml всё ещё содержит объект в составе",
" Catalogs/Товары.xml"
],
"stdoutNotContains": [
"[note] удаление применится",
"Ext/Form.xml:"
]
},
"noSnapshot": "сухой прогон ничего не пишет — проверяется вердикт по удалению"
}