diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" index 05076ad..43c154c 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" @@ -16,6 +16,7 @@ Перем КоличествоКоммитовДоPush; Перем СчетчикКоммитов; Перем ОтправлятьТеги; +Перем PushOptions; Перем ГитРепозиторий; @@ -27,7 +28,7 @@ // Строка - текущая версия плагина // Функция Версия() Экспорт - Возврат "1.6.1"; + Возврат "1.7.0"; КонецФункции // Возвращает приоритет выполнения плагина @@ -88,6 +89,7 @@ ПолучитьИзменения = Ложь; ОтправитьИзменения = Ложь; ОтправлятьТеги = Ложь; + PushOptions = ""; КоличествоКоммитовДоPush = 0; СчетчикКоммитов = 0; @@ -118,7 +120,10 @@ КлассРеализации.Опция("n push-n-commits", 0, "[*sync-remote] <число> количество коммитов до промежуточной отправки на удаленный сервер") .ТЧисло() .ВОкружении("GITSYNC_REMOTE_PUSH_N_COMMITS"); - + КлассРеализации.Опция("O push-options", "", "[*sync-remote] Дополнительные параметры для команды push, разделенные ;") + .ТСтрока() + .ВОкружении("GITSYNC_PUSH_OPTIONS"); + КлассРеализации.Аргумент("URL", "", "[*sync-remote] Адрес удаленного репозитория GIT.") .ВОкружении("GITSYNC_REPO_URL") .Обязательный(Ложь); @@ -133,6 +138,7 @@ ПолучитьИзменения = ПараметрыКоманды.Параметр("pull", Ложь); ОтправитьИзменения = ПараметрыКоманды.Параметр("push", Ложь); ОтправлятьТеги = ПараметрыКоманды.Параметр("push-tags", Ложь); + PushOptions = СтрРазделить(ПараметрыКоманды.Параметр("push-options", ""), ";"); КоличествоКоммитовДоPush = ПараметрыКоманды.Параметр("push-n-commits", 0); @@ -141,6 +147,7 @@ Лог.Отладка("Установлена отправка изменений <%1> ", ОтправитьИзменения); Лог.Отладка("Установлено количество коммитов <%1>, после которых осуществляется отправка", КоличествоКоммитовДоPush); Лог.Отладка("Установлен флаг отправки меток в значение <%1> выгрузки версий", ОтправлятьТеги); + Лог.Отладка("Установлены дополнительные параметры команды push: <%1>", СтрСоединить(PushOptions, ", ")); КонецПроцедуры @@ -201,6 +208,12 @@ ПараметрыКомандыPush.Добавить(СтрЗаменить(URLРепозитория, "%", "%%")); ПараметрыКомандыPush.Добавить("-v"); + Для Каждого Опция Из PushOptions Цикл + Если Не ПустаяСтрока(Опция) Тогда + ПараметрыКомандыPush.Добавить("-o " + Опция); + КонецЕсли; + КонецЦикла; + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКомандыPush); Если ОтправлятьТеги Тогда @@ -210,6 +223,12 @@ ПараметрыКомандыPush.Добавить(СтрЗаменить(URLРепозитория, "%", "%%")); ПараметрыКомандыPush.Добавить("--tags"); + Для Каждого Опция Из PushOptions Цикл + Если Не ПустаяСтрока(Опция) Тогда + ПараметрыКомандыPush.Добавить("-o " + Опция); + КонецЕсли; + КонецЦикла; + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКомандыPush); КонецЕсли;