oscript-library / gitsync

Синхронизация хранилища 1С с репозиторием git
Mozilla Public License 2.0
269 stars 91 forks source link

Получен ненулевой код возврата 128. Выполнение скрипта остановлено! (08/2021) #266

Open GladilovDmitry opened 3 years ago

GladilovDmitry commented 3 years ago

Описание ошибки

При выполнении команды в формате gitsync init --storage-user tester --storage-pwd *** tcp://erp***/test*** C:/GIT/test*** получаю следующие сообщения:

ОШИБКА - Получен ненулевой код возврата 128. Выполнение скрипта остановлено! ИНФОРМАЦИЯ - Инициализация завершена

В результате ожидаемое поведение выполнено (каталог .git создан, файлы AUTHORS и VERSION - тоже) - но смущает лишнее сообщение об ошибке.

Проверил на 3х машинах с разными версиями Oscript и gitsync- результат один. У меня такое ощущение, что в процессе выполнения gitsync init вызывается команда git rev-parse --git-dir, которая просто проверяет, есть ли уже каталог .git, если есть - то git init не вызывается. И проблема лишь в том, что когда каталог есть - то код возврата 0, а когда нет - то код возврата не 0. И из-за ненулевого кода возврата получаем сообщение об ошибке, хотя по-сути это ожидаемая ошибка, и выводить её не надо.

Ожидаемое поведение если бы ошибки не было

Вывод только сообщения "Инициализация завершена".

Способ воспроизведения

Окружение:

Дополнительный контекст

Режим защиты от опасных действий отключен (DisableUnsafeActionProtection=.*) Выдержка из расширенного лога:

ОТЛАДКА - [o.lib.cli_command] - Выполняю полезную работу init
ОТЛАДКА - [oscript.lib.delegate] - Делегат.Исполнить ВыполнитьКоманду
ОТЛАДКА - [oscript.lib.delegate] - Делегат.Исполнить. Имя метода ВыполнитьКоманду, Тип объекта КомандаInit
ОТЛАДКА - [oscript.lib.delegate] - Делегат.Исполнить Кол-во параметров
ОТЛАДКА - [o.lib.cli_command] - Ищю опцию <ib-user> для родителей
ОТЛАДКА - [o.lib.cli_command] -  --> Проверяю родителя <gitsync>
ОТЛАДКА - [o.lib.cli_command] - Ищю опцию <ib-pwd> для родителей
ОТЛАДКА - [o.lib.cli_command] -  --> Проверяю родителя <gitsync>
ОТЛАДКА - [o.lib.cli_command] - Ищю опцию <ib-connection> для родителей
ОТЛАДКА - [o.lib.cli_command] -  --> Проверяю родителя <gitsync>
ОТЛАДКА - [o.lib.gitrunner] - РабочийКаталог: C:\GIT\test*
ОТЛАДКА - [o.lib.gitrunner] - Команда git
ОТЛАДКА - [o.lib.gitrunner] - Параметр команды rev-parse
ОТЛАДКА - [o.lib.gitrunner] - Параметр команды --git-dir
ОТЛАДКА - [o.lib.gitrunner] - Рабочий каталог команды C:\GIT\test*
ОТЛАДКА - [oscript.lib.commands] - РабочийКаталог: C:\GIT\test*
ОТЛАДКА - [oscript.lib.commands] - Строка запуска <git rev-parse --git-dir>
ОТЛАДКА - [oscript.lib.commands] - Полная строка запуска <cmd /c "git rev-parse --git-dir">
ОТЛАДКА - [oscript.lib.commands] - Строка запуска <git rev-parse --git-dir>
ОТЛАДКА - [oscript.lib.commands] - Полная строка запуска <cmd /c "git rev-parse --git-dir">
ОТЛАДКА - [oscript.lib.commands] - Длина вывода 69, количество строк 2
ОТЛАДКА - [oscript.lib.commands] - Код возврата равен 128
ОШИБКА - [o.lib.gitrunner] - Получен ненулевой код возврата 128. Выполнение скрипта остановлено!
ОТЛАДКА - [o.lib.gitrunner] - РабочийКаталог: C:\GIT\test*
ОТЛАДКА - [o.lib.gitrunner] - Команда git
ОТЛАДКА - [o.lib.gitrunner] - Параметр команды init
ОТЛАДКА - [o.lib.gitrunner] - Рабочий каталог команды C:\GIT\test*
ОТЛАДКА - [oscript.lib.commands] - РабочийКаталог: C:\GIT\test*
ОТЛАДКА - [oscript.lib.commands] - Строка запуска <git init>
ОТЛАДКА - [oscript.lib.commands] - Полная строка запуска <cmd /c "git init">
ОТЛАДКА - [oscript.lib.commands] - Строка запуска <git init>
ОТЛАДКА - [oscript.lib.commands] - Полная строка запуска <cmd /c "git init">
ОТЛАДКА - [oscript.lib.commands] - Длина вывода 64, количество строк 2
ОТЛАДКА - [oscript.lib.commands] - Код возврата равен 0
ОТЛАДКА - [o.lib.gitrunner] - Код возврата равен 0

P.s. ранее уже был аналогичный issue 181, но на мой взгляд причины ошибки разные.