Skip to content

Latest commit

 

History

History
52 lines (42 loc) · 4.24 KB

migration.md

File metadata and controls

52 lines (42 loc) · 4.24 KB

Переход с gitsync (OneScript) на gitsync-py

Что можно переиспользовать без изменений

  • Существующий git-репозиторий. Формат VERSION (<VERSION>N</VERSION>) и AUTHORS (Автор=Представление) совпадает с upstream, поэтому gitsync-py продолжает синхронизацию с того же номера версии и не переписывает историю.
  • Файл AUTHORS. Читается как есть, включая строки-комментарии //.
  • Служебные файлы. .gitignore, .gitattributes, .hooks при очистке рабочей копии сохраняются так же, как в оригинале.

Проверьте это на одной версии — так изменения в git ограничены одним коммитом:

gitsync-py sync --workdir ./repo --backend fixture --fixture-root ./снимок --limit 1

Соответствие команд

gitsync (OneScript) gitsync-py
gitsync init -v8version 8.3.24 <путь> <хранилище> gitsync-py init --workdir <путь> --storage-path <хранилище> --v8-version 8.3.24 --v8-path <1cv8>
gitsync clone ... gitsync-py clone ...
gitsync sync <путь> <хранилище> gitsync-py sync --workdir <путь> --storage-path <хранилище>
gitsync setversion <путь> <N> gitsync-py set-version --workdir <путь> --version <N>
gitsync all <конфиг.yaml> gitsync-py sync-all --config <конфиг.json> (конфиг переписывается в JSON)
gitsync plugins list gitsync-py plugins --plugin <модуль>

Что изменилось намеренно

  1. Пароль хранилища больше нельзя передать аргументом. Используйте --storage-password-env GITSYNC_STORAGE_PASSWORD или --storage-password-file. Аргументы командной строки видны всем процессам в системе.
  2. Параллельная выгрузка. --jobs N выгружает N версий одновременно, каждая — в своей временной базе и своём каталоге. Коммиты по-прежнему строго последовательные, порядок версий и авторство сохраняются. Начните с --jobs 2..4: каждая параллельная выгрузка — это отдельный сеанс конфигуратора и отдельная лицензия 1С.
  3. Грязная рабочая копия блокирует запуск. Если в каталоге есть чужие незафиксированные изменения, синхронизация отказывается стартовать (--allow-dirty снимает проверку).
  4. Эксклюзивная блокировка цели. Два процесса на один каталог одновременно не запустятся (--lock-timeout).
  5. Никаких сетевых операций git. push, fetch, pull, remote не выполняются вообще — отправку в удалённый репозиторий делайте своим скриптом после успешной синхронизации.
  6. Плагины только Python. Плагины OneScript не поддерживаются, см. docs/plugins.md.

Порядок безопасного перехода

  1. Сделайте копию рабочего репозитория (или работайте в отдельном клоне).
  2. Запустите gitsync-py sync --limit 1 — обработается одна версия.
  3. Сверьте коммит: автор, дата, комментарий, содержимое VERSION.
  4. Увеличьте --limit, затем уберите его и поднимите --jobs.
  5. Только после успешной приёмки переключайте регулярный процесс.