feat(db-load-xml,db-load-git): предупреждать о полной загрузке при Configuration.xml в списке

Список частичной загрузки задаёт объекты метаданных: вместе с объектом платформа грузит
его дочерние объекты (формы, макеты) и файлы Ext/. Configuration.xml — объект
«Конфигурация», поэтому его наличие в списке даёт полную загрузку конфигурации, а не
перечисленных объектов. В db-load-git он попадает в список из диффа сам, без участия
пользователя.

Замерено на обоих движках (1cv8 и ibcmd): правило одинаково.

- SKILL.md обоих навыков: строка про цену Configuration.xml в списке;
- хинт в выводе обеих веток движка;
- два кейса на срабатывание и на отсутствие ложного срабатывания.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-09-22 14:37:21 +03:00
co-authored by Claude Opus 5
parent 77836f7ada
commit 6eaf3211cc
8 changed files with 112 additions and 5 deletions
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-load-git v1.27 — Load Git changes into 1C database
# db-load-git v1.28 — Load Git changes into 1C database
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -850,6 +850,13 @@ def main():
print("No configuration files found in changes")
sys.exit(0)
# Корневой Configuration.xml — это объект «Конфигурация»: вместе с объектом платформа грузит
# его дочерние объекты, а у конфигурации это весь состав. В список он попадает из диффа сам,
# поэтому предупреждаем — пользователь его не выбирал.
if any(x.replace("\\", "/").lower() == "configuration.xml" for x in config_files):
print("[ВНИМАНИЕ] В изменениях есть Configuration.xml: платформа выполнит ПОЛНУЮ загрузку")
print(" конфигурации, а не только изменённых объектов.")
print(f"Files for loading: {len(config_files)}")
for f in config_files:
print(f" {f}")