Skip to content

Commit 2e71a62

Browse files
authored
Merge pull request #67 from Khorevaa/feature/stop-sync-if-empty-comment
Функциональность остановки (прерывания) синхронизации при незаполненном комментарии к версии хранилища
2 parents 68c8ecc + f5a3461 commit 2e71a62

File tree

5 files changed

+46
-6
lines changed

5 files changed

+46
-6
lines changed

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

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl");
3030

3131
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-amount-look-for-license", "<число> количество повторов получения лицензии (попытка подключения каждые 10 сек), 0 - без ограничений");
32+
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой");
3233

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

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

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

@@ -73,6 +75,12 @@
7375

7476
КонецЕсли;
7577

78+
Если ПрерватьВыполнениеБезКомментарияКВерсии = Неопределено Тогда
79+
80+
ПрерватьВыполнениеБезКомментарияКВерсии = Ложь;
81+
82+
КонецЕсли;
83+
7684
МаксВерсия = Число(МаксВерсия);
7785
МинВерсия = Число(МинВерсия);
7886
Лимит = Число(Лимит);
@@ -82,7 +90,16 @@
8290
Распаковщик.ДоменПочтыДляGitПоУмолчанию = ПараметрыКоманды["-email"];
8391
Распаковщик.ПереименовыватьФайлМодуляОбычнойФормы = ПереименовыватьФайлМодуляОбычнойФормы;
8492
ДополнительныеПараметры.Лог.Информация("Начинаю выгрузку исходников");
85-
РаспаковщикКонфигурации.ВыполнитьЭкспортИсходников(Распаковщик, ПараметрыКоманды["ПутьКХранилищу"], ЛокальныйКаталогГит, МинВерсия, МаксВерсия, Формат,,, Лимит);
93+
РаспаковщикКонфигурации.ВыполнитьЭкспортИсходников(Распаковщик,
94+
ПараметрыКоманды["ПутьКХранилищу"],
95+
ЛокальныйКаталогГит,
96+
МинВерсия,
97+
МаксВерсия,
98+
Формат,
99+
,
100+
,
101+
Лимит,
102+
ПрерватьВыполнениеБезКомментарияКВерсии);
86103
ДополнительныеПараметры.Лог.Информация("Выгрузка завершена");
87104

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

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
@@ -860,8 +860,8 @@
860860
Знач Формат = Неопределено,
861861
Знач КоличествоКоммитовДоPush = 0,
862862
Знач URLРепозитория = Неопределено,
863-
Знач Лимит = 0
864-
) Экспорт
863+
Знач Лимит = 0,
864+
Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь) Экспорт
865865

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

897+
Если ПрерватьВыполнениеБезКомментарияКВерсии = Неопределено Тогда
898+
ПрерватьВыполнениеБезКомментарияКВерсии = Ложь;
899+
КонецЕсли;
900+
897901
Лог.Отладка("Используется формат выгрузки " + Формат);
898902

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

918+
Если ПустаяСтрока(СтрокаВерсии.Комментарий)
919+
И ПрерватьВыполнениеБезКомментарияКВерсии Тогда
920+
ВызватьИсключение СтрШаблон("Нашли следующую версию %1, а комментарий не задан! Автор %2.", СледующаяВерсия, СтрокаВерсии.Автор);;
921+
КонецЕсли;
922+
914923
Попытка
915924
Лог.Информация("Получаем исходники для версии " + СледующаяВерсия + ", " + ТекущаяДата());
916925

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+
Ключ = "ПрерватьВыполнениеБезКомментарияКВерсии";
99101
Иначе
100102
ВызватьИсключение НекорректнаяСтруктураНастроек();
101103
КонецЕсли;

0 commit comments

Comments
 (0)