Skip to content

Commit 1642423

Browse files
authored
Merge pull request #86 from komarovps/feature/add-push-options
Feature/add push options
2 parents c245439 + 2eda466 commit 1642423

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

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

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

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

@@ -27,7 +28,7 @@
2728
// Строка - текущая версия плагина
2829
//
2930
Функция Версия() Экспорт
30-
Возврат "1.6.1";
31+
Возврат "1.7.0";
3132
КонецФункции
3233

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

9294
КоличествоКоммитовДоPush = 0;
9395
СчетчикКоммитов = 0;
@@ -118,7 +120,10 @@
118120
КлассРеализации.Опция("n push-n-commits", 0, "[*sync-remote] <число> количество коммитов до промежуточной отправки на удаленный сервер")
119121
.ТЧисло()
120122
.ВОкружении("GITSYNC_REMOTE_PUSH_N_COMMITS");
121-
123+
КлассРеализации.Опция("O push-options", "", "[*sync-remote] Дополнительные параметры для команды push, разделенные ;")
124+
.ТСтрока()
125+
.ВОкружении("GITSYNC_PUSH_OPTIONS");
126+
122127
КлассРеализации.Аргумент("URL", "", "[*sync-remote] Адрес удаленного репозитория GIT.")
123128
.ВОкружении("GITSYNC_REPO_URL")
124129
.Обязательный(Ложь);
@@ -133,6 +138,7 @@
133138
ПолучитьИзменения = ПараметрыКоманды.Параметр("pull", Ложь);
134139
ОтправитьИзменения = ПараметрыКоманды.Параметр("push", Ложь);
135140
ОтправлятьТеги = ПараметрыКоманды.Параметр("push-tags", Ложь);
141+
PushOptions = СтрРазделить(ПараметрыКоманды.Параметр("push-options", ""), ";");
136142

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

@@ -141,6 +147,7 @@
141147
Лог.Отладка("Установлена отправка изменений <%1> ", ОтправитьИзменения);
142148
Лог.Отладка("Установлено количество коммитов <%1>, после которых осуществляется отправка", КоличествоКоммитовДоPush);
143149
Лог.Отладка("Установлен флаг отправки меток в значение <%1> выгрузки версий", ОтправлятьТеги);
150+
Лог.Отладка("Установлены дополнительные параметры команды push: <%1>", СтрСоединить(PushOptions, ", "));
144151

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

@@ -201,6 +208,12 @@
201208
ПараметрыКомандыPush.Добавить(СтрЗаменить(URLРепозитория, "%", "%%"));
202209
ПараметрыКомандыPush.Добавить("-v");
203210

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

206219
Если ОтправлятьТеги Тогда
@@ -210,6 +223,12 @@
210223
ПараметрыКомандыPush.Добавить(СтрЗаменить(URLРепозитория, "%", "%%"));
211224
ПараметрыКомандыPush.Добавить("--tags");
212225

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

215234
КонецЕсли;

0 commit comments

Comments
 (0)