oscript-library / oscript-library/gitsync
Получен ненулевой код возврата 128. Выполнение скрипта остановлено! (08/2021)
Nobody has claimed this yet.
- Dominant language
- 1C Enterprise
- Stars
- 333
- Forks
- 98
- PR merge metrics
- No merged PRs in 30d
Description
Описание ошибки
При выполнении команды в формате
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. И из-за ненулевого кода возврата получаем сообщение об ошибке, хотя по-сути это ожидаемая ошибка, и выводить её не надо.
Ожидаемое поведение если бы ошибки не было
Вывод только сообщения "Инициализация завершена".
Способ воспроизведения
- Выполнить указанную команду в консоли windows
- целевой каталог должен или отсутствовать, или быть пуст, т.к. при повторном вызове команды каталог .git уже существует и код возврата = 0.
Окружение:
- Версия операционной системы: [Windows 10 Корпоративная, Windows Server 2016 Standart]
- Редакция 1С платформы [8.3.18.1563]
- Версия Gitsync [3.4.0, 3.3.3]
- Версия OScript [1.7.0.214, 1.5.0.178]
Дополнительный контекст
Режим защиты от опасных действий отключен (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, но на мой взгляд причины ошибки разные.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing gitsync init in an absent or empty Windows directory and compare the git rev-parse --git-dir and git init entries in the extended log. Inspect the o.lib.gitrunner handling of the rev-parse exit code. Done means initialization completes without the code-128 error message and still reports only "Инициализация завершена".
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100