Skip to content

Commit 51697db

Browse files
author
komarovps
committed
feat: добавил параметр push-options
1 parent 76deb20 commit 51697db

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

src/Классы/syncRemote.os

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
Перем КоличествоКоммитовДоPush;
1717
Перем СчетчикКоммитов;
1818
Перем ОтправлятьТеги;
19+
Перем PushOptions;
1920

2021
Перем ГитРепозиторий;
2122

@@ -88,6 +89,7 @@
8889
ПолучитьИзменения = Ложь;
8990
ОтправитьИзменения = Ложь;
9091
ОтправлятьТеги = Ложь;
92+
PushOptions = "";
9193

9294
КоличествоКоммитовДоPush = 0;
9395
СчетчикКоммитов = 0;
@@ -116,7 +118,10 @@
116118
КлассРеализации.Опция("n push-n-commits", 0, "[*sync-remote] <число> количество коммитов до промежуточной отправки на удаленный сервер")
117119
.ТЧисло()
118120
.ВОкружении("GITSYNC_REMOTE_PUSH_N_COMMITS");
119-
121+
КлассРеализации.Опция("O push-options", "", "[*sync-remote] Дополнительные параметры для команды push, разделенные ;")
122+
.ТСтрока()
123+
.ВОкружении("GITSYNC_PUSH_OPTIONS");
124+
120125
КлассРеализации.Аргумент("URL", "", "[*sync-remote] Адрес удаленного репозитория GIT.")
121126
.ВОкружении("GITSYNC_REPO_URL")
122127
.Обязательный(Ложь);
@@ -131,13 +136,15 @@
131136
ПолучитьИзменения = ПараметрыКоманды.Параметр("pull", Ложь);
132137
ОтправитьИзменения = ПараметрыКоманды.Параметр("push", Ложь);
133138
ОтправлятьТеги = ПараметрыКоманды.Параметр("push-tags", Ложь);
139+
PushOptions = СтрРазделить(ПараметрыКоманды.Параметр("push-options", ""), ";");
134140

135141
КоличествоКоммитовДоPush = ПараметрыКоманды.Параметр("push-n-commits", 0);
136142

137143
Лог.Отладка("Установлена отправка изменений <%1> ", ОтправитьИзменения);
138144
Лог.Отладка("Установлено получение изменений <%1> ", ПолучитьИзменения);
139145
Лог.Отладка("Установлено количество коммитов <%1>, после которых осуществляется отправка", КоличествоКоммитовДоPush);
140146
Лог.Отладка("Установлен флаг отправки меток в значение <%1> выгрузки версий", ОтправлятьТеги);
147+
Лог.Отладка("Установлены дополнительные параметры команды push: <%1>", СтрСоединить(PushOptions, ", "));
141148

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

@@ -198,6 +205,12 @@
198205
ПараметрыКомандыPush.Добавить(СтрЗаменить(URLРепозитория, "%", "%%"));
199206
ПараметрыКомандыPush.Добавить("-v");
200207

208+
Для Каждого Опция Из PushOptions Цикл
209+
Если Не ПустаяСтрока(Опция) Тогда
210+
ПараметрыКомандыPush.Добавить("-o " + Опция);
211+
КонецЕсли;
212+
КонецЦикла;
213+
201214
ГитРепозиторий.ВыполнитьКоманду(ПараметрыКомандыPush);
202215

203216
Если ОтправлятьТеги Тогда
@@ -207,6 +220,12 @@
207220
ПараметрыКомандыPush.Добавить(СтрЗаменить(URLРепозитория, "%", "%%"));
208221
ПараметрыКомандыPush.Добавить("--tags");
209222

223+
Для Каждого Опция Из PushOptions Цикл
224+
Если Не ПустаяСтрока(Опция) Тогда
225+
ПараметрыКомандыPush.Добавить("-o " + Опция);
226+
КонецЕсли;
227+
КонецЦикла;
228+
210229
ГитРепозиторий.ВыполнитьКоманду(ПараметрыКомандыPush);
211230

212231
КонецЕсли;

0 commit comments

Comments
 (0)