Skip to content

Commit

Permalink
Merge pull request #61 from nixel2007/develop
Browse files Browse the repository at this point in the history
1.7.1
  • Loading branch information
nixel2007 authored Oct 10, 2023
2 parents ffbfaaa + 809afe8 commit 674ffa7
Show file tree
Hide file tree
Showing 6 changed files with 80 additions and 54 deletions.
16 changes: 16 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Публикация релиза

on:
release:
types:
- published
workflow_dispatch:

jobs:
release:
uses: autumn-library/workflows/.github/workflows/release.yml@main
with:
oscript_version: '1.8.3'
package_mask: "gitrunner-*.ospx"
secrets:
PUSH_TOKEN: ${{ secrets.PUSH_TOKEN }}
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,15 @@
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");

ВыводКоманды = ГитРепозиторий.ПолучитьВыводКоманды();
Ожидаем.Что(СокрЛП(ВыводКоманды)).Содержит(ОжидаемыйВыводКоманды);
Ожидаем.Что(ВыводКоманды).Содержит(ОжидаемыйВыводКоманды);
КонецПроцедуры

//Вывод команды не содержит ""
Процедура ВыводКомандыНеСодержит(Знач ОжидаемыйВыводКоманды) Экспорт
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");

ВыводКоманды = ГитРепозиторий.ПолучитьВыводКоманды();
Ожидаем.Что(СокрЛП(ВыводКоманды)).Не_().Содержит(ОжидаемыйВыводКоманды);
Ожидаем.Что(ВыводКоманды).Не_().Содержит(ОжидаемыйВыводКоманды);
КонецПроцедуры

//Я сообщаю вывод команды
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@
ВсеШаги.Добавить("ЯИнициализируюBareРепозиторийВоВременномКаталоге");
ВсеШаги.Добавить("ЯУстанавливаюНастройкуРежимаОтправки");
ВсеШаги.Добавить("ЯУстанавливаюРепозиторийОтправки");

ВсеШаги.Добавить("ВыводКомандыСодержит");

Возврат ВсеШаги;
КонецФункции
Expand All @@ -36,13 +34,6 @@
Процедура ПослеЗапускаСценария(Знач Узел) Экспорт

КонецПроцедуры
//Вывод команды содержит ""
Процедура ВыводКомандыСодержит(Знач ОжидаемыйВыводКоманды) Экспорт
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");

ВыводКоманды = ГитРепозиторий.ПолучитьВыводКоманды();
Ожидаем.Что(ВыводКоманды).Содержит(ОжидаемыйВыводКоманды);
КонецПроцедуры

//Я сообщаю вывод команды
Процедура ЯСообщаюВыводКоманды() Экспорт
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
ВсеШаги.Добавить("ЯПолучаюСписокВнешнихРепозиториев");
ВсеШаги.Добавить("СписокВнешнихРепозиториевСодержитСАдресом");
ВсеШаги.Добавить("ЯУдаляюВнешнийРепозиторий");
ВсеШаги.Добавить("ВыводКомандыНеСодержит");
ВсеШаги.Добавить("ЯСохраняюЗначениеВременногоКаталогаВПеременной");
ВсеШаги.Добавить("ЯДобавляюВнешнийРепозиторийПоСохраненномуАдресуВнешнегоРепозитория");

Expand All @@ -39,14 +38,6 @@
ГитРепозиторий.УдалитьВнешнийРепозиторий(ИмяРепозитория);
КонецПроцедуры

//Вывод команды не содержит "test"
Процедура ВыводКомандыНеСодержит(Знач ОжидаемыйВыводКоманды) Экспорт
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");

ВыводКоманды = ГитРепозиторий.ПолучитьВыводКоманды();
Ожидаем.Что(ВыводКоманды).Не_().Содержит(ОжидаемыйВыводКоманды);
КонецПроцедуры

//Я добавляю внешний репозиторий "test" по адресу "http://fake.com"
Процедура ЯДобавляюВнешнийРепозиторийПоАдресу(Знач ИмяРепозитория,Знач АдресРепозитория) Экспорт
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
Expand Down
2 changes: 1 addition & 1 deletion packagedef
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Описание.Имя("gitrunner")
.Версия("1.7.0")
.Версия("1.7.1")
.ЗависитОт("1bdd")
.ВерсияСреды("1.7.0")
.ЗависитОт("1commands", "1.3.1")
Expand Down
94 changes: 61 additions & 33 deletions src/ГитРепозиторий.os
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@
Знач Коммитер = "",
Знач ДатаКоммита = '00010101') Экспорт

НадоВосстановитьКоммитера = Ложь;
НадоОчиститьУстановленныеПеременные = Ложь;
НадоУдалитьВременныйФайлКомментария = Ложь;
ИмяВременногоФайлаКомментария = "";
Expand Down Expand Up @@ -131,9 +130,7 @@
КонецЕсли;

Если Не ПустаяСтрока(Коммитер) Тогда

УстановитьКоммитера(Коммитер, НадоВосстановитьКоммитера);

УстановитьКоммитера(Коммитер);
КонецЕсли;

Если ЗначениеЗаполнено(ДатаКоммита) Тогда
Expand Down Expand Up @@ -161,10 +158,8 @@
Если НадоОчиститьУстановленныеПеременные Тогда
ОчиститьУстановленныеПеременныеГит();
КонецЕсли;
Если НадоВосстановитьКоммитера Тогда
ВосстановитьКоммитера();
КонецЕсли;

ВосстановитьКоммитера();

Если НадоУдалитьВременныйФайлКомментария Тогда
Попытка
УдалитьФайлы(ИмяВременногоФайлаКомментария);
Expand Down Expand Up @@ -733,17 +728,17 @@
Функция ПолучитьНастройку(Знач ИмяНастройки, Знач РежимУстановкиНастроекGit = Неопределено) Экспорт

ПараметрыЗапуска = Новый Массив;
ПараметрыЗапуска.Добавить("config");
ПараметрыЗапуска.Добавить(ИмяНастройки);

ПараметрыЗапуска.Добавить("config");

Если РежимУстановкиНастроекGit <> Неопределено Тогда
ПараметрыЗапуска.Добавить(РежимУстановкиНастроекGit);
КонецЕсли;


ВыполнитьКоманду(ПараметрыЗапуска);
ПараметрыЗапуска.Добавить(ИмяНастройки);

// если настройка не установлена - возвращает код 1
ВыполнитьКоманду(ПараметрыЗапуска, 1);

ВыводКоманды = СокрЛП(ПолучитьВыводКоманды());

Возврат ВыводКоманды;
Expand Down Expand Up @@ -779,6 +774,34 @@

КонецПроцедуры

// Удалить настройку git
// git config --unset
//
// Параметры:
// ИмяНастройки - Строка - Имя настройки
// РежимУстановкиНастроекGit - РежимУстановкиНастроекGit - Режим установки настройки.
// Значения параметра содержатся в перечислении РежимУстановкиНастроекGit
//
Процедура УдалитьНастройку(Знач ИмяНастройки, Знач РежимУстановкиНастроекGit = Неопределено) Экспорт

ПараметрыЗапуска = Новый Массив;
ПараметрыЗапуска.Добавить("config");

Если Найти(ИмяНастройки, " ") > 0 Тогда
ИмяНастройки = ОбернутьВКавычки(ИмяНастройки);
КонецЕсли;

Если РежимУстановкиНастроекGit <> Неопределено Тогда
ПараметрыЗапуска.Добавить(РежимУстановкиНастроекGit);
КонецЕсли;

ПараметрыЗапуска.Добавить("--unset");
ПараметрыЗапуска.Добавить(ИмяНастройки);

ВыполнитьКоманду(ПараметрыЗапуска);

КонецПроцедуры

// Удаление секции настроек git
//
// Параметры:
Expand All @@ -797,7 +820,8 @@
ПараметрыЗапуска.Добавить("--remove-section");
ПараметрыЗапуска.Добавить(ИмяСекции);

ВыполнитьКоманду(ПараметрыЗапуска);
// удаление несуществующей секции - код возврата 128
ВыполнитьКоманду(ПараметрыЗапуска, 128);

КонецПроцедуры

Expand Down Expand Up @@ -860,7 +884,7 @@
// Параметры - Массив - Массив строковых аргументов, передаваемых в командную
// строку. Добавляются после исполняемого файла.
//
Процедура ВыполнитьКоманду(Знач Параметры) Экспорт
Процедура ВыполнитьКоманду(Знач Параметры, Знач ДопустимыйКодВозврата = 0) Экспорт

ПроверитьВозможностьВыполненияКоманды();

Expand All @@ -884,7 +908,9 @@

УстановитьКодВозврата(КодВозврата);

Если КодВозврата <> 0 Тогда
Если КодВозврата <> 0
И КодВозврата <> ДопустимыйКодВозврата Тогда

ВыводКоманды = ПолучитьВыводКоманды();
Если ТихийРежимРаботы Тогда
Лог.Ошибка("Получен ненулевой код возврата %1. Сообщение: `%2`", КодВозврата, ВыводКоманды);
Expand All @@ -893,7 +919,7 @@
ВызватьИсключение ВыводКоманды;
КонецЕсли;
Иначе
Лог.Отладка("Код возврата равен 0");
Лог.Отладка("Код возврата равен %1", КодВозврата);
КонецЕсли;

КонецПроцедуры
Expand Down Expand Up @@ -1076,9 +1102,8 @@
//
// Параметры:
// Коммитер - Строка - представление коммитера комментария в формате: автор <email@com>
// ТребуетсяВосстановлениеНастроек - Булево - устанавливается в истина для последующего восстановления
//
Процедура УстановитьКоммитера(Знач Коммитер, ТребуетсяВосстановлениеНастроек = Ложь)
Процедура УстановитьКоммитера(Знач Коммитер)

РегуляркаДляПочты = Новый РегулярноеВыражение ("<([^>]+)>");
КоллекцияСовпадений = РегуляркаДляПочты.НайтиСовпадения(Коммитер);
Expand All @@ -1096,16 +1121,11 @@
ТекущаяПочта = ПолучитьНастройку(НастройкаПочты, РежимУстановкиНастроекGit.Локально);

// Сохранение в отдельную секцию "bak"

ТребуетсяСохранениеВСекцию_bak = НЕ (ПустаяСтрока(ТекущееНаименование) И ПустаяСтрока(ТекущаяПочта));
Если ТребуетсяСохранениеВСекцию_bak Тогда

// Установка новых значений в секцию bak
УстановитьНастройку("bak."+ НастройкаНаименования, ТекущееНаименование);
УстановитьНастройку("bak."+ НастройкаПочты, ТекущаяПочта);

ТребуетсяВосстановлениеНастроек = Истина;

Если ЗначениеЗаполнено(ТекущееНаименование) Тогда
УстановитьНастройку("bak."+ НастройкаНаименования, ТекущееНаименование, РежимУстановкиНастроекGit.Локально);
КонецЕсли;
Если ЗначениеЗаполнено(ТекущаяПочта) Тогда
УстановитьНастройку("bak."+ НастройкаПочты, ТекущаяПочта, РежимУстановкиНастроекGit.Локально);
КонецЕсли;

// Установим новые значения
Expand All @@ -1128,12 +1148,20 @@
Почта_bak = ПолучитьНастройку("bak."+ НастройкаПочты, РежимУстановкиНастроекGit.Локально);

// Установим новые значения
Если ТекущееНаименование <> Наименование_bak Тогда
УстановитьНастройку(НастройкаНаименования, Наименование_bak, РежимУстановкиНастроекGit.Локально);
Если ТекущееНаименование <> Наименование_bak Тогда
Если ЗначениеЗаполнено(Наименование_bak) Тогда
УстановитьНастройку(НастройкаНаименования, Наименование_bak, РежимУстановкиНастроекGit.Локально);
Иначе
УдалитьНастройку(НастройкаНаименования, РежимУстановкиНастроекGit.Локально);
КонецЕсли;
КонецЕсли;

Если ТекущаяПочта <> Почта_bak Тогда
УстановитьНастройку(НастройкаПочты, Почта_bak, РежимУстановкиНастроекGit.Локально);
Если ТекущаяПочта <> Почта_bak Тогда
Если ЗначениеЗаполнено(Почта_bak) Тогда
УстановитьНастройку(НастройкаПочты, Почта_bak, РежимУстановкиНастроекGit.Локально);
Иначе
УдалитьНастройку(НастройкаПочты, РежимУстановкиНастроекGit.Локально);
КонецЕсли;
КонецЕсли;

УдалитьСекциюНастроек("bak.user", РежимУстановкиНастроекGit.Локально);
Expand Down

0 comments on commit 674ffa7

Please sign in to comment.