Skip to content

Commit ffc2f96

Browse files
committed
Добавлена функциональность остановки (прерывания) синхронизации с хранилищем, если не заполнен комментарий к версии
1 parent f4aeb1d commit ffc2f96

File tree

5 files changed

+48
-7
lines changed

5 files changed

+48
-7
lines changed

src/core/Классы/КомандаExport.os

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@
2727
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-limit", "<выгрузить неболее limit версий от текущей выгруженной>");
2828
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-tempdir", "<Путь к каталогу временных файлов>");
2929
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl");
30-
30+
3131
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-amount-look-for-license", "<число> количество повторов получения лицензии (попытка подключения каждые 10 сек), 0 - без ограничений");
32+
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой");
33+
3234

3335
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3436

@@ -42,6 +44,7 @@
4244
МаксВерсия = ПараметрыКоманды["-maxversion"];
4345
Лимит = ПараметрыКоманды["-limit"];
4446
ПереименовыватьФайлМодуляОбычнойФормы = ПараметрыКоманды["-process-fatform-modules"];
47+
ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"];
4548

4649
Если ЛокальныйКаталогГит = Неопределено Тогда
4750

@@ -73,6 +76,12 @@
7376

7477
КонецЕсли;
7578

79+
Если ПрерватьВыполнениеБезКомментарияКВерсии = Неопределено Тогда
80+
81+
ПрерватьВыполнениеБезКомментарияКВерсии = Ложь;
82+
83+
КонецЕсли;
84+
7685
МаксВерсия = Число(МаксВерсия);
7786
МинВерсия = Число(МинВерсия);
7887
Лимит = Число(Лимит);
@@ -82,7 +91,16 @@
8291
Распаковщик.ДоменПочтыДляGitПоУмолчанию = ПараметрыКоманды["-email"];
8392
Распаковщик.ПереименовыватьФайлМодуляОбычнойФормы = ПереименовыватьФайлМодуляОбычнойФормы;
8493
ДополнительныеПараметры.Лог.Информация("Начинаю выгрузку исходников");
85-
РаспаковщикКонфигурации.ВыполнитьЭкспортИсходников(Распаковщик, ПараметрыКоманды["ПутьКХранилищу"], ЛокальныйКаталогГит, МинВерсия, МаксВерсия, Формат,,, Лимит);
94+
РаспаковщикКонфигурации.ВыполнитьЭкспортИсходников(Распаковщик,
95+
ПараметрыКоманды["ПутьКХранилищу"],
96+
ЛокальныйКаталогГит,
97+
МинВерсия,
98+
МаксВерсия,
99+
Формат,
100+
,
101+
,
102+
Лимит,
103+
ПрерватьВыполнениеБезКомментарияКВерсии);
86104
ДополнительныеПараметры.Лог.Информация("Выгрузка завершена");
87105

88106
Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех;

src/core/Классы/КомандаSync.os

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-push-every-n-commits", "<число> количество коммитов до промежуточной отправки на удаленный сервер");
3131
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-amount-look-for-license", "<число> количество повторов получения лицензии (попытка подключения каждые 10 сек), 0 - без ограничений");
3232
Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl");
33+
Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой");
3334

3435
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3536

@@ -47,6 +48,7 @@
4748
Парсер.ДобавитьИменованныйПараметр("-tempdir", "<Путь к каталогу временных файлов>");
4849
Парсер.ДобавитьИменованныйПараметр("-push-every-n-commits", "<число> количество коммитов до промежуточной отправки на удаленный сервер");
4950
Парсер.ДобавитьПараметрФлаг ("-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl");
51+
Парсер.ДобавитьПараметрФлагКоманды("-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой");
5052

5153
КонецПроцедуры // ЗарегистрироватьКоманду
5254

@@ -67,6 +69,7 @@
6769
Лимит = ПараметрыКоманды["-limit"];
6870
КоличествоКоммитовДоPush = ПараметрыКоманды["-push-every-n-commits"];
6971
ПереименовыватьФайлМодуляОбычнойФормы = ПараметрыКоманды["-process-fatform-modules"];
72+
ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"];
7073

7174
Если НачальнаяВерсия = Неопределено Тогда
7275

@@ -92,6 +95,12 @@
9295

9396
КонецЕсли;
9497

98+
Если ПрерватьВыполнениеБезКомментарияКВерсии = Неопределено Тогда
99+
100+
ПрерватьВыполнениеБезКомментарияКВерсии = Ложь;
101+
102+
КонецЕсли;
103+
95104
НачальнаяВерсия = Число(НачальнаяВерсия);
96105
КонечнаяВерсия = Число(КонечнаяВерсия);
97106
Лимит = Число(Лимит);
@@ -149,7 +158,8 @@
149158
Формат,
150159
КоличествоКоммитовДоPush,
151160
URLРепозитория,
152-
Лимит);
161+
Лимит,
162+
ПрерватьВыполнениеБезКомментарияКВерсии);
153163

154164
Лог.Информация("Отправка изменений на удаленный узел");
155165
КодВозврата = Распаковщик.ВыполнитьGitPush(ЛокальныйКаталогГит, URLРепозитория, ИмяВетки);

src/core/Классы/МенеджерСинхронизации.os

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -918,8 +918,8 @@
918918
Знач Формат = Неопределено,
919919
Знач КоличествоКоммитовДоPush = 0,
920920
Знач URLРепозитория = Неопределено,
921-
Знач Лимит = 0
922-
) Экспорт
921+
Знач Лимит = 0,
922+
Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь) Экспорт
923923

924924
Лог.Информация("Начало синхронизации с git");
925925
ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ФайлХранилища);
@@ -952,6 +952,10 @@
952952
Формат = РежимВыгрузкиФайлов.Авто;
953953
КонецЕсли;
954954

955+
если ПрерватьВыполнениеБезКомментарияКВерсии = Неопределено Тогда
956+
ПрерватьВыполнениеБезКомментарияКВерсии = Ложь;
957+
КонецЕсли;
958+
955959
Лог.Отладка("Используется формат выгрузки " + Формат);
956960

957961
МаксимальнаяВерсияДляРазбора = ОпределитьМаксимальнуюВерсиюСУчетомОграниченияСверху(ТаблицаИсторииХранилища, ТекущаяВерсия, КонечнаяВерсия);
@@ -969,6 +973,11 @@
969973
ВызватьИсключение "Нашли следующую версию, а автор не прописан "+СледующаяВерсия + " автор "+СтрокаВерсии.Автор;
970974
КонецЕсли;
971975

976+
Если ПустаяСтрока(СтрокаВерсии.Комментарий)
977+
И ПрерватьВыполнениеБезКомментарияКВерсии Тогда
978+
ВызватьИсключение "Нашли следующую версию, а комментарий не задан "+СледующаяВерсия + " автор "+СтрокаВерсии.Автор;
979+
КонецЕсли;
980+
972981
Попытка
973982
Лог.Информация("Получаем исходники для версии " + СледующаяВерсия + ", " + ТекущаяДата());
974983

src/core/Модули/РаспаковщикКонфигурации.os

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@
7878
Знач Формат = Неопределено,
7979
Знач КоличествоКоммитовДоPush = 0,
8080
Знач URLРепозитория = Неопределено,
81-
Знач Лимит = 0) Экспорт
81+
Знач Лимит = 0,
82+
Знач ПрерватьВыполнениеБезКомментарияКВерсии) Экспорт
8283

8384
ФайлБазыДанныхХранилища = ПолучитьПутьКБазеДанныхХранилища(ПутьКХранилищу);
8485
Распаковщик.СинхронизироватьХранилищеКонфигурацийСГит(ЛокальныйКаталогГит,
@@ -88,7 +89,8 @@
8889
Формат,
8990
КоличествоКоммитовДоPush,
9091
URLРепозитория,
91-
Лимит);
92+
Лимит,
93+
ПрерватьВыполнениеБезКомментарияКВерсии);
9294

9395
КонецПроцедуры // ВыполнитьЭкспортИсходников
9496

src/xml-config.os

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@
9696
Ключ = "ПутьGit";
9797
ИначеЕсли КлючИЗначение.Ключ = "push-every-n-commits" Тогда
9898
Ключ = "КоличествоКоммитовДоPush";
99+
ИначеЕсли КлючИЗначение.Ключ = "stop-if-empty-comment" Тогда
100+
Ключ = "КоличествоКоммитовДоPush";
99101
Иначе
100102
ВызватьИсключение НекорректнаяСтруктураНастроек();
101103
КонецЕсли;

0 commit comments

Comments
 (0)