feat(db-repo): py-порт, реестр семей копий и подсказки в db-load-git

Порт .py зеркалит .ps1 по порядку функций, именам и комментариям — расхождения
только там, где их диктует рантайм. Общие функции взяты из соседних портов
дословно.

Копии зарегистрированы в check-inline-drift.mjs: db-repo присоединён к шести
платформенным семьям, четыре функции блока реквизитов хранилища заведены новыми
семьями, разбор сообщений хранилища — семьёй с эталоном db-load-xml. Гард сразу
нашёл настоящее расхождение: копии Get-RepositoryArgs в четырёх соседях остались
со старым comma-return, эталон правился позже. Ресинхронизировано.

Разбор сообщений хранилища добавлен и в db-load-git: он тоже грузит в базу
частично и получает те же три отказа платформы.

Подкоманда стала именованной (-Command): в группе скрипты принимают только
именованные параметры, слэш-форму в них переводит модель. Позиционный параметр
у пишущего навыка запрещён гардом check-positional-binding. Mandatory при этом
не ставим — обязательный параметр PowerShell запрашивает интерактивно, а в
пакетном запуске это зависание.

Все девять гардов и функциональные тесты db-* зелёные в обоих рантаймах.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-23 13:08:52 +03:00
co-authored by Claude Opus 5
parent 012f5c3c30
commit 1327b4fc5a
16 changed files with 1658 additions and 44 deletions
+8 -2
View File
@@ -1,4 +1,4 @@
# db-repo v1.3 — 1C configuration repository operations
# db-repo v1.4 — 1C configuration repository operations
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# NB: движок только 1cv8 — ibcmd работу с хранилищем не поддерживает (нет такого режима).
<#
@@ -31,7 +31,9 @@
[CmdletBinding(PositionalBinding=$false)]
param(
[Parameter(Mandatory=$true, Position=0)]
# Не Mandatory: обязательный параметр PowerShell запрашивает интерактивно, а в пакетном
# запуске это зависание. Пустое значение проверяем сами.
[Parameter(Mandatory=$false)]
[string]$Command,
[Parameter(Mandatory=$false)]
@@ -946,6 +948,10 @@ function Write-RepoVerdict {
# =============================== main ===============================
if (-not $Command) {
Write-Host "Error: -Command is required. Known: $(($script:CommandKeys.Keys | Sort-Object) -join ', ')" -ForegroundColor Red
exit 1
}
$cmd = Resolve-Command $Command
if (-not $InfoBasePath -and -not ($InfoBaseServer -and $InfoBaseRef)) {
File diff suppressed because it is too large Load Diff