Skip to content

Commit 674ffa7

Browse files
authored
Merge pull request #61 from nixel2007/develop
1.7.1
2 parents ffbfaaa + 809afe8 commit 674ffa7

File tree

6 files changed

+80
-54
lines changed

6 files changed

+80
-54
lines changed

.github/workflows/release.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Публикация релиза
2+
3+
on:
4+
release:
5+
types:
6+
- published
7+
workflow_dispatch:
8+
9+
jobs:
10+
release:
11+
uses: autumn-library/workflows/.github/workflows/release.yml@main
12+
with:
13+
oscript_version: '1.8.3'
14+
package_mask: "gitrunner-*.ospx"
15+
secrets:
16+
PUSH_TOKEN: ${{ secrets.PUSH_TOKEN }}

features/step_definitions/ВыполнениеПроизвольнойКоманды.os

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@
4949
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
5050

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

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

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

6363
//Я сообщаю вывод команды

features/step_definitions/ОтправкаИзменений.os

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
ВсеШаги.Добавить("ЯИнициализируюBareРепозиторийВоВременномКаталоге");
2020
ВсеШаги.Добавить("ЯУстанавливаюНастройкуРежимаОтправки");
2121
ВсеШаги.Добавить("ЯУстанавливаюРепозиторийОтправки");
22-
23-
ВсеШаги.Добавить("ВыводКомандыСодержит");
2422

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

3836
КонецПроцедуры
39-
//Вывод команды содержит ""
40-
Процедура ВыводКомандыСодержит(Знач ОжидаемыйВыводКоманды) Экспорт
41-
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
42-
43-
ВыводКоманды = ГитРепозиторий.ПолучитьВыводКоманды();
44-
Ожидаем.Что(ВыводКоманды).Содержит(ОжидаемыйВыводКоманды);
45-
КонецПроцедуры
4637

4738
//Я сообщаю вывод команды
4839
Процедура ЯСообщаюВыводКоманды() Экспорт

features/step_definitions/РаботаСВнешнимиРепозиториями.os

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
ВсеШаги.Добавить("ЯПолучаюСписокВнешнихРепозиториев");
1515
ВсеШаги.Добавить("СписокВнешнихРепозиториевСодержитСАдресом");
1616
ВсеШаги.Добавить("ЯУдаляюВнешнийРепозиторий");
17-
ВсеШаги.Добавить("ВыводКомандыНеСодержит");
1817
ВсеШаги.Добавить("ЯСохраняюЗначениеВременногоКаталогаВПеременной");
1918
ВсеШаги.Добавить("ЯДобавляюВнешнийРепозиторийПоСохраненномуАдресуВнешнегоРепозитория");
2019

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

42-
//Вывод команды не содержит "test"
43-
Процедура ВыводКомандыНеСодержит(Знач ОжидаемыйВыводКоманды) Экспорт
44-
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");
45-
46-
ВыводКоманды = ГитРепозиторий.ПолучитьВыводКоманды();
47-
Ожидаем.Что(ВыводКоманды).Не_().Содержит(ОжидаемыйВыводКоманды);
48-
КонецПроцедуры
49-
5041
//Я добавляю внешний репозиторий "test" по адресу "http://fake.com"
5142
Процедура ЯДобавляюВнешнийРепозиторийПоАдресу(Знач ИмяРепозитория,Знач АдресРепозитория) Экспорт
5243
ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий");

packagedef

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Описание.Имя("gitrunner")
2-
.Версия("1.7.0")
2+
.Версия("1.7.1")
33
.ЗависитОт("1bdd")
44
.ВерсияСреды("1.7.0")
55
.ЗависитОт("1commands", "1.3.1")

src/ГитРепозиторий.os

Lines changed: 61 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@
9999
Знач Коммитер = "",
100100
Знач ДатаКоммита = '00010101') Экспорт
101101

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

133132
Если Не ПустаяСтрока(Коммитер) Тогда
134-
135-
УстановитьКоммитера(Коммитер, НадоВосстановитьКоммитера);
136-
133+
УстановитьКоммитера(Коммитер);
137134
КонецЕсли;
138135

139136
Если ЗначениеЗаполнено(ДатаКоммита) Тогда
@@ -161,10 +158,8 @@
161158
Если НадоОчиститьУстановленныеПеременные Тогда
162159
ОчиститьУстановленныеПеременныеГит();
163160
КонецЕсли;
164-
Если НадоВосстановитьКоммитера Тогда
165-
ВосстановитьКоммитера();
166-
КонецЕсли;
167-
161+
ВосстановитьКоммитера();
162+
168163
Если НадоУдалитьВременныйФайлКомментария Тогда
169164
Попытка
170165
УдалитьФайлы(ИмяВременногоФайлаКомментария);
@@ -733,17 +728,17 @@
733728
Функция ПолучитьНастройку(Знач ИмяНастройки, Знач РежимУстановкиНастроекGit = Неопределено) Экспорт
734729

735730
ПараметрыЗапуска = Новый Массив;
736-
ПараметрыЗапуска.Добавить("config");
737-
ПараметрыЗапуска.Добавить(ИмяНастройки);
738-
731+
ПараметрыЗапуска.Добавить("config");
739732

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

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

739+
// если настройка не установлена - возвращает код 1
740+
ВыполнитьКоманду(ПараметрыЗапуска, 1);
741+
747742
ВыводКоманды = СокрЛП(ПолучитьВыводКоманды());
748743

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

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

777+
// Удалить настройку git
778+
// git config --unset
779+
//
780+
// Параметры:
781+
// ИмяНастройки - Строка - Имя настройки
782+
// РежимУстановкиНастроекGit - РежимУстановкиНастроекGit - Режим установки настройки.
783+
// Значения параметра содержатся в перечислении РежимУстановкиНастроекGit
784+
//
785+
Процедура УдалитьНастройку(Знач ИмяНастройки, Знач РежимУстановкиНастроекGit = Неопределено) Экспорт
786+
787+
ПараметрыЗапуска = Новый Массив;
788+
ПараметрыЗапуска.Добавить("config");
789+
790+
Если Найти(ИмяНастройки, " ") > 0 Тогда
791+
ИмяНастройки = ОбернутьВКавычки(ИмяНастройки);
792+
КонецЕсли;
793+
794+
Если РежимУстановкиНастроекGit <> Неопределено Тогда
795+
ПараметрыЗапуска.Добавить(РежимУстановкиНастроекGit);
796+
КонецЕсли;
797+
798+
ПараметрыЗапуска.Добавить("--unset");
799+
ПараметрыЗапуска.Добавить(ИмяНастройки);
800+
801+
ВыполнитьКоманду(ПараметрыЗапуска);
802+
803+
КонецПроцедуры
804+
782805
// Удаление секции настроек git
783806
//
784807
// Параметры:
@@ -797,7 +820,8 @@
797820
ПараметрыЗапуска.Добавить("--remove-section");
798821
ПараметрыЗапуска.Добавить(ИмяСекции);
799822

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

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

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

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

@@ -884,7 +908,9 @@
884908

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

887-
Если КодВозврата <> 0 Тогда
911+
Если КодВозврата <> 0
912+
И КодВозврата <> ДопустимыйКодВозврата Тогда
913+
888914
ВыводКоманды = ПолучитьВыводКоманды();
889915
Если ТихийРежимРаботы Тогда
890916
Лог.Ошибка("Получен ненулевой код возврата %1. Сообщение: `%2`", КодВозврата, ВыводКоманды);
@@ -893,7 +919,7 @@
893919
ВызватьИсключение ВыводКоманды;
894920
КонецЕсли;
895921
Иначе
896-
Лог.Отладка("Код возврата равен 0");
922+
Лог.Отладка("Код возврата равен %1", КодВозврата);
897923
КонецЕсли;
898924

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

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

10981123
// Сохранение в отдельную секцию "bak"
1099-
1100-
ТребуетсяСохранениеВСекцию_bak = НЕ (ПустаяСтрока(ТекущееНаименование) И ПустаяСтрока(ТекущаяПочта));
1101-
Если ТребуетсяСохранениеВСекцию_bak Тогда
1102-
1103-
// Установка новых значений в секцию bak
1104-
УстановитьНастройку("bak."+ НастройкаНаименования, ТекущееНаименование);
1105-
УстановитьНастройку("bak."+ НастройкаПочты, ТекущаяПочта);
1106-
1107-
ТребуетсяВосстановлениеНастроек = Истина;
1108-
1124+
Если ЗначениеЗаполнено(ТекущееНаименование) Тогда
1125+
УстановитьНастройку("bak."+ НастройкаНаименования, ТекущееНаименование, РежимУстановкиНастроекGit.Локально);
1126+
КонецЕсли;
1127+
Если ЗначениеЗаполнено(ТекущаяПочта) Тогда
1128+
УстановитьНастройку("bak."+ НастройкаПочты, ТекущаяПочта, РежимУстановкиНастроекGit.Локально);
11091129
КонецЕсли;
11101130

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

11301150
// Установим новые значения
1131-
Если ТекущееНаименование <> Наименование_bak Тогда
1132-
УстановитьНастройку(НастройкаНаименования, Наименование_bak, РежимУстановкиНастроекGit.Локально);
1151+
Если ТекущееНаименование <> Наименование_bak Тогда
1152+
Если ЗначениеЗаполнено(Наименование_bak) Тогда
1153+
УстановитьНастройку(НастройкаНаименования, Наименование_bak, РежимУстановкиНастроекGit.Локально);
1154+
Иначе
1155+
УдалитьНастройку(НастройкаНаименования, РежимУстановкиНастроекGit.Локально);
1156+
КонецЕсли;
11331157
КонецЕсли;
11341158

1135-
Если ТекущаяПочта <> Почта_bak Тогда
1136-
УстановитьНастройку(НастройкаПочты, Почта_bak, РежимУстановкиНастроекGit.Локально);
1159+
Если ТекущаяПочта <> Почта_bak Тогда
1160+
Если ЗначениеЗаполнено(Почта_bak) Тогда
1161+
УстановитьНастройку(НастройкаПочты, Почта_bak, РежимУстановкиНастроекGit.Локально);
1162+
Иначе
1163+
УдалитьНастройку(НастройкаПочты, РежимУстановкиНастроекGit.Локально);
1164+
КонецЕсли;
11371165
КонецЕсли;
11381166

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

0 commit comments

Comments
 (0)