1
0
mirror of https://github.com/bia-technologies/precommit4onec.git synced 2025-02-07 13:31:49 +02:00

Merge remote-tracking branch 'origin/develop' into feature/canonical

# Conflicts:
#	v8config.json
This commit is contained in:
Dmitriy Medvedev 2019-09-06 17:37:07 +03:00
commit 422fe2bfd0
5 changed files with 39 additions and 14 deletions

View File

@ -10,7 +10,7 @@
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os configure -global"
Тогда Код возврата команды "oscript" равен 0
И Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит "precommit4onec v1.10.0"
И Вывод команды "oscript" содержит "precommit4onec v1.11.1"
И Вывод команды "oscript" содержит "Установленные настройки:"
И Вывод команды "oscript" содержит "ИспользоватьСценарииРепозитория ="
И Вывод команды "oscript" содержит "КаталогЛокальныхСценариев ="
@ -24,7 +24,7 @@
И Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит
"""
precommit4onec v1.10.0
precommit4onec v1.11.1
Установленные настройки:
ИспользоватьСценарииРепозитория = Нет
КаталогЛокальныхСценариев =

View File

@ -14,7 +14,7 @@
Сценарий: Получение версии продукта
Когда Я выполняю команду "oscript" с параметрами "src/main.os version"
Тогда Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит "1.10.0"
И Вывод команды "oscript" содержит "1.11.1"
И Вывод команды "oscript" не содержит "precommit4onec v"
И Код возврата команды "oscript" равен 0
@ -22,7 +22,7 @@
Когда Я выполняю команду "oscript" с параметрами "src/main.os help"
Тогда Вывод команды "oscript" содержит
"""
precommit4onec v1.10.0
precommit4onec v1.11.1
Возможные команды:
help - Выводит справку по командам
version - Выводит версию приложения
@ -36,7 +36,7 @@
Когда Я выполняю команду "oscript" с параметрами "src/main.os"
Тогда Вывод команды "oscript" содержит
"""
precommit4onec v1.10.0
precommit4onec v1.11.1
Возможные команды:
help - Выводит справку по командам
version - Выводит версию приложения

View File

@ -18,7 +18,7 @@
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install rep1"
Тогда Код возврата команды "oscript" равен 0
И Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит "precommit4onec v1.10.0"
И Вывод команды "oscript" содержит "precommit4onec v1.11.1"
И Вывод команды "oscript" содержит "Pre-commit hook для rep1 создан"
И В каталоге ".git/hooks" репозитория "Репозиторий1" есть файл "pre-commit"
@ -26,15 +26,31 @@
Когда я создаю временный каталог и запоминаю его как "ПустойКаталог"
И я переключаюсь во временный каталог "ПустойКаталог"
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install ./"
Тогда Код возврата команды "oscript" равен 1
Тогда Код возврата команды "oscript" равен 0
И Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит "precommit4onec v1.10.0"
И Вывод команды "oscript" содержит "can only be used inside a git repository"
И Вывод команды "oscript" содержит "precommit4onec v1.11.1"
И Вывод команды "oscript" содержит "не является репозиторием git"
Сценарий: Установка precommit4onec во вложенные каталоги
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install ./ -r"
Тогда Код возврата команды "oscript" равен 0
И Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит "precommit4onec v1.10.0"
И Вывод команды "oscript" содержит "precommit4onec v1.11.1"
И В каталоге ".git/hooks" репозитория "Репозиторий1" есть файл "pre-commit"
И В каталоге ".git/hooks" репозитория "Репозиторий2" есть файл "pre-commit"
Сценарий: Рекурсивная установка precommit4oneсне корректно обрабатывает папки не репо
Когда Я создаю каталог "!_test1" внутри каталога "КаталогРепозиториев"
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install ./ -r"
Тогда Код возврата команды "oscript" равен 0
И Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит "не является репозиторием git"
Сценарий: Рекурсивная установка precommit4oneс выполняется, когда папке с репозиториями есть папки не репо
Когда Я создаю каталог "!_test1" внутри каталога "КаталогРепозиториев"
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install ./ -r"
Тогда Код возврата команды "oscript" равен 0
И Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит "precommit4onec v1.11.1"
И В каталоге ".git/hooks" репозитория "Репозиторий1" есть файл "pre-commit"
И В каталоге ".git/hooks" репозитория "Репозиторий2" есть файл "pre-commit"

View File

@ -14,7 +14,7 @@
Процедура НастроитьКоманду(Знач Команда, Знач Парсер) Экспорт
// Добавление параметров команды
Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "КаталогРепозитория", "Каталог репозитория, которому необходимо подключить precommit. При наличии флага -r устанавливает во вложенные в указанных каталог репозитории.");
Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "КаталогРепозитория", "Каталог репозитория, к которому необходимо подключить precommit. Флаг -r, указанный после каталога репозитория, устанавливает во вложенные в указанный каталог репозитории.");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-source-dir", "Каталог расположения исходных файлов относительно корня репозитория. По умолчанию <src>");
Парсер.ДобавитьПараметрФлагКоманды(Команда, "-from-path", "Установить с учетом того, что скрипт прописан в path");
Парсер.ДобавитьПараметрФлагКоманды(Команда, "-r", "Устанавливает во вложенные каталоги. Если вложенный каталог не является репозиторием, то он пропускается.");
@ -31,7 +31,17 @@
Лог = Приложение.ПолучитьЛог();
КаталогРепозитория = ПараметрыКоманды["КаталогРепозитория"];
Если НЕ ЗначениеЗаполнено(КаталогРепозитория) Тогда
Лог.Ошибка("Для установки прекоммита надо указать каталог");
Возврат Приложение.РезультатыКоманд().НеверныеПараметры;
КонецЕсли;
ФайлКаталогРепозитория = Новый Файл(КаталогРепозитория);
Если НЕ ФайлКаталогРепозитория.Существует() ИЛИ ФайлКаталогРепозитория.ЭтоФайл() Тогда
Лог.Ошибка("Каталог репозитория '%1' не существует или это файл", КаталогРепозитория);
@ -86,7 +96,6 @@
РепозиторийGit = Новый ГитРепозиторий();
РепозиторийGit.УстановитьРабочийКаталог(КаталогРепозитория);
РепозиторийGit.УстановитьНастройку("core.quotePath", "false", РежимУстановкиНастроекGit.Локально);
// проверка каталога
Если НЕ РепозиторийGit.ЭтоРепозиторий() Тогда
@ -95,7 +104,7 @@
Возврат;
КонецЕсли;
РепозиторийGit.УстановитьНастройку("core.quotePath", "false", РежимУстановкиНастроекGit.Локально); // решение проблемы с кириллическими путями
// установка
КаталогGitHook = ОбъединитьПути(КаталогРепозитория, ".git", "hooks");
ФайлКаталогGitHook = Новый Файл(КаталогGitHook);

View File

@ -22,7 +22,7 @@
//
Функция ВерсияПродукта() Экспорт
Возврат "1.10.0";
Возврат "1.11.1";
КонецФункции // ВерсияПродукта