mirror of
https://github.com/bia-technologies/precommit4onec.git
synced 2025-02-11 13:38:37 +02:00
#ONECICD-174
https://github.com/bia-technologies/precommit4onec/issues/1 Поправил ошибку при коммите когда прекоммит подключался до инициализации репо первым коммитом.
This commit is contained in:
parent
a65e1a7b54
commit
73dbc0a02e
@ -21,6 +21,7 @@
|
||||
ВсеШаги.Добавить("ЯУстанавливаюКодировкуВыводаКоманды");
|
||||
ВсеШаги.Добавить("УФайлаЕстьМетка");
|
||||
ВсеШаги.Добавить("СодержимоеФайлаИФайлаРазное");
|
||||
ВсеШаги.Добавить("ЯСоздаюНовыйРепозиторийБезИнициализацииВКаталогеИЗапоминаюЕгоКак");
|
||||
|
||||
Возврат ВсеШаги;
|
||||
КонецФункции
|
||||
@ -53,18 +54,15 @@
|
||||
// я создаю новый репозиторий "ИмяРепозитория" в каталоге "АлиасКаталога" и запоминаю его как "Алиас"
|
||||
Процедура ЯСоздаюНовыйРепозиторийВКаталогеИЗапоминаюЕгоКак(ИмяРепозитория, АлиасКаталога, Алиас) Экспорт
|
||||
|
||||
КаталогРепозиториев = БДД.ПолучитьИзКонтекста(АлиасКаталога);
|
||||
|
||||
КаталогРепозитория = ОбъединитьПути(КаталогРепозиториев, ИмяРепозитория);
|
||||
СоздатьКаталог(КаталогРепозитория);
|
||||
|
||||
РепозиторийGit = Новый ГитРепозиторий();
|
||||
РепозиторийGit.УстановитьРабочийКаталог(КаталогРепозитория);
|
||||
РепозиторийGit.Инициализировать();
|
||||
КаталогРепозитория = ИнициализироватьРепозиторий(РепозиторийGit, ИмяРепозитория, АлиасКаталога);
|
||||
|
||||
ТекстовыйДокумент = Новый ТекстовыйДокумент;
|
||||
ТекстовыйДокумент.УстановитьТекст("# Репозиторий " + Алиас);
|
||||
|
||||
ИмяФайлаreadme = ОбъединитьПути(КаталогРепозитория, "readme.md");
|
||||
ТекстовыйДокумент.Записать(ИмяФайлаreadme);
|
||||
|
||||
РепозиторийGit.ДобавитьФайлВИндекс(ИмяФайлаreadme);
|
||||
РепозиторийGit.Закоммитить("init", ИСТИНА);
|
||||
|
||||
@ -72,6 +70,17 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// я создаю новый репозиторий без инициализации "ИмяРепозитория" в каталоге "АлиасКаталога" и запоминаю его как "Алиас"
|
||||
Процедура ЯСоздаюНовыйРепозиторийБезИнициализацииВКаталогеИЗапоминаюЕгоКак(ИмяРепозитория, АлиасКаталога, Алиас) Экспорт
|
||||
|
||||
РепозиторийGit = Новый ГитРепозиторий();
|
||||
|
||||
КаталогРепозитория = ИнициализироватьРепозиторий(РепозиторийGit, ИмяРепозитория, АлиасКаталога);
|
||||
|
||||
БДД.СохранитьВКонтекст(Алиас, КаталогРепозитория);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// В каталоге "ИмяКаталога" репозитория "ИмяРепозитория" есть файл "ИмяФайла"
|
||||
Процедура ВКаталогеРепозиторияЕстьФайл(ИмяКаталога, ИмяРепозитория, ИмяФайла)Экспорт
|
||||
|
||||
@ -143,4 +152,18 @@
|
||||
|
||||
Ожидаем.Что(СодержимоеИсходногоФайла).Не_().Равно(СодержимоеКонечногоФайла);
|
||||
|
||||
КонецПроцедуры
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ИнициализироватьРепозиторий(РепозиторийGit, ИмяРепозитория, АлиасКаталога)
|
||||
|
||||
КаталогРепозиториев = БДД.ПолучитьИзКонтекста(АлиасКаталога);
|
||||
|
||||
КаталогРепозитория = ОбъединитьПути(КаталогРепозиториев, ИмяРепозитория);
|
||||
СоздатьКаталог(КаталогРепозитория);
|
||||
|
||||
РепозиторийGit.УстановитьРабочийКаталог(КаталогРепозитория);
|
||||
РепозиторийGit.Инициализировать();
|
||||
|
||||
Возврат КаталогРепозитория;
|
||||
|
||||
КонецФункции
|
@ -5,6 +5,24 @@
|
||||
Как разработчик
|
||||
Я хочу быть уверенным, что precommit4onec корректно обрабатывает изменения в репозитории
|
||||
|
||||
Контекст:
|
||||
Допустим Я очищаю пар аметры команды "oscript" в контексте
|
||||
И я очищаю параметры команды "git" в контексте
|
||||
И Я устанавливаю кодировку вывода "utf-8" команды "git"
|
||||
И я включаю отладку лога с именем "oscript.app.precommit4onec"
|
||||
И я создаю временный каталог и запоминаю его как "КаталогРепозиториев"
|
||||
И я переключаюсь во временный каталог "КаталогРепозиториев"
|
||||
И я создаю новый репозиторий без инициализации "rep1" в каталоге "КаталогРепозиториев" и запоминаю его как "РабочийКаталог"
|
||||
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/src/main.os install rep1"
|
||||
И я установил рабочий каталог как текущий каталог
|
||||
|
||||
Сценарий: Успешный инициализирующий коммит в репозиторий после установки прекоммита
|
||||
Когда Я создаю файл "РабочийКаталог/readme.md" с текстом "Инициализация"
|
||||
И я выполняю команду "git" с параметрами "add ."
|
||||
И я выполняю команду "git" с параметрами "commit -m init"
|
||||
Тогда я не вижу в консоли вывод "ВызватьИсключение"
|
||||
И я не вижу в консоли вывод "fatal:"
|
||||
|
||||
Контекст:
|
||||
Допустим Я очищаю параметры команды "oscript" в контексте
|
||||
И я очищаю параметры команды "git" в контексте
|
||||
|
@ -133,7 +133,7 @@
|
||||
Функция ПолучитьЖурналИзменений()
|
||||
|
||||
ПараметрыКомандыGit = Новый Массив;
|
||||
ПараметрыКомандыGit.Добавить("diff-index --name-status --cached HEAD");
|
||||
ПараметрыКомандыGit.Добавить("diff --name-status --staged --no-renames");
|
||||
РепозиторийGit.ВыполнитьКоманду(ПараметрыКомандыGit);
|
||||
РезультатВывода = РепозиторийGit.ПолучитьВыводКоманды();
|
||||
СтрокиВывода = СтрРазделить(РезультатВывода, Символы.ПС);
|
||||
|
Loading…
x
Reference in New Issue
Block a user