diff --git a/README.md b/README.md index 9a24179..12e6dc5 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ # Встроенные плагины в gitsync -##Плагины для gitsync +## Плагины для gitsync 1. `increment` - обеспечивает инкрементальную выгрузку конфигурации в исходники -1. `sync-remote` - добавляет функциональность синхронизации с удаленным репозиторием git (команды `git pull` и `git push`) +1. `sync-remote` - добавляет функциональность синхронизации с удаленным репозиторием git (команды `git pull` и `git push`) 1. `limit` - добавляет возможность ограничения на минимальный, максимальный номер версии хранилища, а так же на лимит на количество выгружаемых версий за один запуск 1. `check-authors` - добавляет функциональность проверки автора версии в хранилище на наличие соответствия в файле `AUTHORS` 1. `check-comments` - добавляет функциональность проверки на заполненность комментариев в хранилище -1. `smart-tags` - добавляет функциональность автоматической расстановки меток в git (команда `git tag`) при изменении версии конфигурации +1. `smart-tags` - добавляет функциональность автоматической расстановки меток в git (команда `git tag`) при изменении версии конфигурации или при нумерации версий хранилища 1. `unpackForm` - добавляет функциональность распаковки обычных форм на исходники 1. `tool1CD` - заменяет использование штатных механизмов 1С на приложение `tool1CD` при синхронизации 1. `disable-support` - снимает конфигурацию с поддержки перед выгрузкой в исходники diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/smartTags.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/smartTags.os" index 8df9a53..a0413a3 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/smartTags.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/smartTags.os" @@ -8,6 +8,9 @@ Перем ПоследняяВерсияКонфигурации; Перем ТекущаяВерсияКонфигурации; +Перем НумероватьВерсии; +Перем ТекущаяВерсияХранилища1С; + #Область Интерфейс_плагина // Возвращает версию плагина @@ -16,7 +19,7 @@ // Строка - текущая версия плагина // Функция Версия() Экспорт - Возврат "1.0.5"; + Возврат "1.0.6"; КонецФункции // Возвращает приоритет выполнения плагина @@ -87,12 +90,17 @@ .Флаговый() .ВОкружении("GITSYNC_SKIP_EXISTS_TAGS"); + КлассРеализации.Опция("N numerator", Ложь, "[*smart-tags] флаг добавляет номер хранилища 1С как тег вида v.X") + .Флаговый(); + КонецПроцедуры Процедура ПриПолученииПараметров(ПараметрыКоманды) Экспорт ПропускатьСуществующиеТеги = ПараметрыКоманды.Параметр("skip-exists-tags", Ложь); + НумероватьВерсии = ПараметрыКоманды.Параметр("numerator", Ложь); + КонецПроцедуры Процедура ПередНачаломВыполнения(ПутьКХранилищу, КаталогРабочейКопии) Экспорт @@ -109,6 +117,8 @@ ТекущаяВерсияКонфигурации = ""; КонецЕсли; + ТекущаяВерсияХранилища1С = СледующаяВерсия; + КонецПроцедуры Процедура ПослеКоммита(ГитРепозиторий, КаталогРабочейКопии) Экспорт @@ -145,6 +155,32 @@ КонецЕсли; + Если НумероватьВерсии Тогда + Если ЗначениеЗаполнено(ТекущаяВерсияХранилища1С) Тогда + Лог.Информация("Устанавливаем тэг-нумератор версии хранилища 1С: 'v.%1'", ТекущаяВерсияХранилища1С); + + ПараметрыКоманды = Новый Массив; + ПараметрыКоманды.Добавить("tag"); + ПараметрыКоманды.Добавить("v." + Строка(ТекущаяВерсияХранилища1С)); + + Попытка + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); + Исключение + ТекстОшибки = ОписаниеОшибки(); + Если ПропускатьСуществующиеТеги + И ЭтоОшибкаТегУжеСуществует(ТекстОшибки, ТекущаяВерсияХранилища1С) Тогда + Лог.Ошибка(ТекстОшибки); + Иначе + ВызватьИсключение ТекстОшибки; + КонецЕсли; + КонецПопытки; + + ТекущаяВерсияХранилища1С = ""; + + КонецЕсли; + + КонецЕсли; + КонецПроцедуры #КонецОбласти @@ -252,6 +288,7 @@ КомандыПлагина.Добавить("export"); ПоследняяВерсияКонфигурации = ""; ТекущаяВерсияКонфигурации = ""; + ТекущаяВерсияХранилища1С = ""; КонецПроцедуры