From 2cffe7adfd6114932827841e3cb1c4da00c157ec Mon Sep 17 00:00:00 2001 From: Vladislav Moroz Date: Thu, 18 Jan 2018 10:57:02 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=9E=D0=B1=D1=85=D0=BE=D0=B4=20=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=B3=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Предотвращение остановки при неудачном создании тегов --- .../smart-tags.os" | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" index 820e51a..a712adf 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" @@ -48,7 +48,12 @@ ПараметрыКоманды.Добавить("tag"); ПараметрыКоманды.Добавить(Строка(ТекущаяВерсияКонфигурации)); - ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); + Попытка + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); + Исключение + Лог.Ошибка(ОписаниеОшибки()); + КонецПопытки; + ПоследняяВерсияКонфигурации = ТекущаяВерсияКонфигурации; КонецЕсли; From a2bc963367a59dea77c425403fc4f7b05d77b39c Mon Sep 17 00:00:00 2001 From: Vladislav Moroz Date: Thu, 18 Jan 2018 11:32:41 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=BF=D1=83=D1=81=D0=BA?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=BD=D0=B5=D1=81=D1=83=D1=89=D0=B5=D1=81=D1=82=D0=B2=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= =?UTF-8?q?,=20=D0=BA=D0=BE=D0=B3=D0=B4=D0=B0=20=D1=82=D0=B5=D0=B3=20?= =?UTF-8?q?=D1=81=D1=83=D1=89=D0=B5=D1=81=D1=82=D0=B2=D1=83=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../smart-tags.os" | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" index a712adf..f261448 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" @@ -51,7 +51,12 @@ Попытка ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); Исключение - Лог.Ошибка(ОписаниеОшибки()); + ТекстОшибки = ОписаниеОшибки(); + Если ЭтоНесущественнаяОшибкаТегУжеСуществует(ТекстОшибки, ТекущаяВерсияКонфигурации) Тогда + Лог.Ошибка(ТекстОшибки); + Иначе + ВызватьИсключение ТекстОшибки; + КонецЕсли; КонецПопытки; ПоследняяВерсияКонфигурации = ТекущаяВерсияКонфигурации; @@ -73,6 +78,14 @@ КонецФункции // ПрочитатьВерсиюИзИсходников() +Функция ЭтоНесущественнаяОшибкаТегУжеСуществует(ТекстОшибки, ТекущаяВерсияКонфигурации) + + Возврат СтрНайти( + ТекстОшибки, + СтрШаблон("fatal: tag '%1' already exists", ТекущаяВерсияКонфигурации)) > 0; + +КонецФункции + // Функция читает параметры конфигурации из каталога исходников // Функция ПолучитьПараметрыКонфигурацииИзИсходников(КаталогИсходныхФайлов) From 2a58ff2dfc64c4a5afcb72d7f45c9a45a6421d49 Mon Sep 17 00:00:00 2001 From: Vladislav Moroz Date: Thu, 18 Jan 2018 12:56:51 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D1=84=D0=BB=D0=B0=D0=B3=20=D0=BF=D1=80=D0=BE=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20?= =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=81=D1=83?= =?UTF-8?q?=D1=89=D0=B5=D1=81=D1=82=D0=B2=D1=83=D1=8E=D1=89=D0=B8=D1=85=20?= =?UTF-8?q?=D1=82=D0=B5=D0=B3=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../smart-tags.os" | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" index f261448..7348cea 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/smart-tags.os" @@ -3,6 +3,8 @@ Перем ВерсияПлагина; Перем Лог; Перем Обработчик; +Перем КомандыПлагина; +Перем ПропускатьСуществующиеТеги; Перем ПоследняяВерсияКонфигурации; Перем ТекущаяВерсияКонфигурации; @@ -20,6 +22,29 @@ КонецПроцедуры +Процедура ПриРегистрацииКомандыПриложения(ИмяКоманды, КлассРеализации, Парсер) Экспорт + + Лог.Отладка("Ищю команду <%1> в списке поддерживаемых", ИмяКоманды); + Если КомандыПлагина.Найти(ИмяКоманды) = Неопределено Тогда + Возврат; + КонецЕсли; + + Лог.Отладка("Устанавливаю дополнительные параметры для команды %1", ИмяКоманды); + + ПропускатьСуществующиеТеги = КлассРеализации.Опция("S skip-exists-tags", Ложь, "[*skip-exists-tags] флаг пропуска ошибок создания существующих тегов").Флаговый(); + +КонецПроцедуры + +Процедура ПриПолученииПараметров(ПараметрыКоманды, ДополнительныеПараметры) Экспорт + + ПропускатьСуществующиеТеги = ПараметрыКоманды["--skip-exists-tags"]; + + Если ПропускатьСуществующиеТеги = Неопределено Тогда + ПропускатьСуществующиеТеги = Ложь; + КонецЕсли; + +КонецПроцедуры + Процедура ПередНачаломВыполнения(ПутьКХранилищу, КаталогРабочейКопии, URLРепозитория, ИмяВетки) Экспорт ПоследняяВерсияКонфигурации = ПрочитатьВерсиюИзИсходников(КаталогРабочейКопии); @@ -52,7 +77,8 @@ ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); Исключение ТекстОшибки = ОписаниеОшибки(); - Если ЭтоНесущественнаяОшибкаТегУжеСуществует(ТекстОшибки, ТекущаяВерсияКонфигурации) Тогда + Если ПропускатьСуществующиеТеги + И ЭтоОшибкаТегУжеСуществует(ТекстОшибки, ТекущаяВерсияКонфигурации) Тогда Лог.Ошибка(ТекстОшибки); Иначе ВызватьИсключение ТекстОшибки; @@ -78,7 +104,7 @@ КонецФункции // ПрочитатьВерсиюИзИсходников() -Функция ЭтоНесущественнаяОшибкаТегУжеСуществует(ТекстОшибки, ТекущаяВерсияКонфигурации) +Функция ЭтоОшибкаТегУжеСуществует(ТекстОшибки, ТекущаяВерсияКонфигурации) Возврат СтрНайти( ТекстОшибки,