|
3 | 3 | Перем ВерсияПлагина; |
4 | 4 | Перем Лог; |
5 | 5 | Перем Обработчик; |
| 6 | +Перем КомандыПлагина; |
| 7 | +Перем ПропускатьСуществующиеТеги; |
6 | 8 | Перем ПоследняяВерсияКонфигурации; |
7 | 9 | Перем ТекущаяВерсияКонфигурации; |
8 | 10 |
|
|
20 | 22 |
|
21 | 23 | КонецПроцедуры |
22 | 24 |
|
| 25 | +Процедура ПриРегистрацииКомандыПриложения(ИмяКоманды, КлассРеализации, Парсер) Экспорт |
| 26 | + |
| 27 | + Лог.Отладка("Ищю команду <%1> в списке поддерживаемых", ИмяКоманды); |
| 28 | + Если КомандыПлагина.Найти(ИмяКоманды) = Неопределено Тогда |
| 29 | + Возврат; |
| 30 | + КонецЕсли; |
| 31 | + |
| 32 | + Лог.Отладка("Устанавливаю дополнительные параметры для команды %1", ИмяКоманды); |
| 33 | + |
| 34 | + ПропускатьСуществующиеТеги = КлассРеализации.Опция("S skip-exists-tags", Ложь, "[*skip-exists-tags] флаг пропуска ошибок создания существующих тегов").Флаговый(); |
| 35 | + |
| 36 | +КонецПроцедуры |
| 37 | + |
| 38 | +Процедура ПриПолученииПараметров(ПараметрыКоманды, ДополнительныеПараметры) Экспорт |
| 39 | + |
| 40 | + ПропускатьСуществующиеТеги = ПараметрыКоманды["--skip-exists-tags"]; |
| 41 | + |
| 42 | + Если ПропускатьСуществующиеТеги = Неопределено Тогда |
| 43 | + ПропускатьСуществующиеТеги = Ложь; |
| 44 | + КонецЕсли; |
| 45 | + |
| 46 | +КонецПроцедуры |
| 47 | + |
23 | 48 | Процедура ПередНачаломВыполнения(ПутьКХранилищу, КаталогРабочейКопии, URLРепозитория, ИмяВетки) Экспорт |
24 | 49 |
|
25 | 50 | ПоследняяВерсияКонфигурации = ПрочитатьВерсиюИзИсходников(КаталогРабочейКопии); |
|
48 | 73 | ПараметрыКоманды.Добавить("tag"); |
49 | 74 | ПараметрыКоманды.Добавить(Строка(ТекущаяВерсияКонфигурации)); |
50 | 75 |
|
51 | | - ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); |
| 76 | + Попытка |
| 77 | + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); |
| 78 | + Исключение |
| 79 | + ТекстОшибки = ОписаниеОшибки(); |
| 80 | + Если ПропускатьСуществующиеТеги |
| 81 | + И ЭтоОшибкаТегУжеСуществует(ТекстОшибки, ТекущаяВерсияКонфигурации) Тогда |
| 82 | + Лог.Ошибка(ТекстОшибки); |
| 83 | + Иначе |
| 84 | + ВызватьИсключение ТекстОшибки; |
| 85 | + КонецЕсли; |
| 86 | + КонецПопытки; |
| 87 | + |
52 | 88 | ПоследняяВерсияКонфигурации = ТекущаяВерсияКонфигурации; |
53 | 89 |
|
54 | 90 | КонецЕсли; |
|
68 | 104 |
|
69 | 105 | КонецФункции // ПрочитатьВерсиюИзИсходников() |
70 | 106 |
|
| 107 | +Функция ЭтоОшибкаТегУжеСуществует(ТекстОшибки, ТекущаяВерсияКонфигурации) |
| 108 | + |
| 109 | + Возврат СтрНайти( |
| 110 | + ТекстОшибки, |
| 111 | + СтрШаблон("fatal: tag '%1' already exists", ТекущаяВерсияКонфигурации)) > 0; |
| 112 | + |
| 113 | +КонецФункции |
| 114 | + |
71 | 115 | // Функция читает параметры конфигурации из каталога исходников |
72 | 116 | // |
73 | 117 | Функция ПолучитьПараметрыКонфигурацииИзИсходников(КаталогИсходныхФайлов) |
|
0 commit comments