fix(skills): db-load-git кириллические пути (#32) + img-grid валидация (#33)

#32: git diff/ls-files при дефолтном core.quotePath=true возвращают кириллицу
в octal-виде → объект с кириллическим именем не распознавался в partial-load.
Все git-вызовы теперь с `-c core.quotePath=false`. PY — в центральном run_git;
PS — унифицировал inline-вызовы в хелпер Invoke-GitLines (паритет с py). v1.11.

#33: img-grid падал ZeroDivisionError при -c 0 / некорректном -r. Добавлена
валидация (cols>0, rows>=0, auto-rows max(1,...)). Pillow задокументирован как
runtime-зависимость (README + python-porting-guide). overlay-grid.py получил
версионный заголовок (v1.1).

Тесты: runner error-кейсы db-dump-dt/db-load-dt/db-load-git (из PR #34).
img-grid runner-кейс не вводили (py-only + Pillow-зависимость) — #33 проверен вручную.

Closes #32, #33

Co-Authored-By: Korolev Pavel <korolev.vrn@gmail.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-30 18:33:10 +03:00
co-authored by Korolev Pavel Claude Opus 4.8
parent fb9783240e
commit 78b5b73fa7
12 changed files with 76 additions and 18 deletions
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-load-git v1.10 — Load Git changes into 1C database
# db-load-git v1.11 — Load Git changes into 1C database
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -110,7 +110,7 @@ def get_object_xml_from_subfile(relative_path):
def run_git(config_dir, git_args):
"""Run a git command in config_dir and return output lines on success."""
result = subprocess.run(
["git"] + git_args,
["git", "-c", "core.quotePath=false"] + git_args,
capture_output=True,
text=True,
encoding="utf-8",