diff --git a/packagedef b/packagedef index ef99330..4bc5c27 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@ Описание.Имя("gitsync") - .Версия("3.4.1") + .Версия("3.5.0") .ВерсияСреды("1.7.0") .ЗависитОт("logos", "1.2.1") .ЗависитОт("tempfiles", "1.0.0") @@ -11,10 +11,11 @@ .ЗависитОт("json", "1.1.1") .ЗависитОт("fs", "1.0.0") .ЗависитОт("delegate", "0.2.0") - .ЗависитОт("v8storage", "0.9.3") + .ЗависитОт("v8storage", "0.9.4") .ЗависитОт("reflector", "0.4.0") .ЗависитОт("opm", "0.15.3") .ЗависитОт("cli", "0.9.10") + .ЗависитОт("cli-selector", "0.3.0") .ЗависитОт("configor", "0.7.0") .РазработкаЗависитОт("1bdd") .РазработкаЗависитОт("1testrunner") diff --git a/readme.md b/readme.md index 2cf338b..db756a9 100644 --- a/readme.md +++ b/readme.md @@ -10,32 +10,34 @@ -- [Введение](#введение) -- [Установка](#установка) - - [Через пакетный менеджер opm](#через-пакетный-менеджер-opm) - - [Вручную](#вручную) -- [Требования](#требования) -- [Особенности](#особенности) - - [Отличия от `gitsync` версий 2.x](#отличия-от-gitsync-версий-2x) - - [Описание функциональности](#описание-функциональности) -- [Использование приложения `gitsync`](#использование-приложения-gitsync) - - [Подготовка](#подготовка) - - [Подготовка нового репозитория (локального)](#подготовка-нового-репозитория-локального) - - [Установка соответствия пользователей](#установка-соответствия-пользователей) - - [Установка номера начальной версии хранилища 1С для синхронизации](#установка-номера-начальной-версии-хранилища-1с-для-синхронизации) - - [Синхронизация](#синхронизация) - - [Справка по использованию команды](#справка-по-использованию-команды) - - [Глобальные переменные окружения](#глобальные-переменные-окружения) - - [Переменные окружения команды](#переменные-окружения-команды) - - [Значения по умолчанию](#значения-по-умолчанию) - - [Примеры использования](#примеры-использования) - - [Настройка плагинов синхронизации](#настройка-плагинов-синхронизации) -- [Использование библиотеки `gitsync`](#использование-библиотеки-gitsync) -- [Доработка и разработка плагинов](#доработка-и-разработка-плагинов) -- [Механизм подписок на события](#механизм-подписок-на-события) -- [Сборка проекта](#сборка-проекта) -- [Доработка](#доработка) -- [Лицензия](#лицензия) +- [Синхронизация хранилища 1С с репозиторием git](#синхронизация-хранилища-1с-с-репозиторием-git) +- [Оглавление](#оглавление) + - [Введение](#введение) + - [Установка](#установка) + - [Через пакетный менеджер opm](#через-пакетный-менеджер-opm) + - [Вручную](#вручную) + - [Требования](#требования) + - [Особенности](#особенности) + - [Отличия от `gitsync` версий 2.x](#отличия-от-gitsync-версий-2x) + - [Описание функциональности](#описание-функциональности) + - [Использование приложения `gitsync`](#использование-приложения-gitsync) + - [Подготовка](#подготовка) + - [Подготовка нового репозитория (локального)](#подготовка-нового-репозитория-локального) + - [Установка соответствия пользователей](#установка-соответствия-пользователей) + - [Установка номера начальной версии хранилища 1С для синхронизации](#установка-номера-начальной-версии-хранилища-1с-для-синхронизации) + - [Синхронизация](#синхронизация) + - [Справка по использованию команды](#справка-по-использованию-команды) + - [Глобальные переменные окружения](#глобальные-переменные-окружения) + - [Переменные окружения команды](#переменные-окружения-команды) + - [Значения по умолчанию](#значения-по-умолчанию) + - [Примеры использования](#примеры-использования) + - [Настройка плагинов синхронизации](#настройка-плагинов-синхронизации) + - [Использование библиотеки `gitsync`](#использование-библиотеки-gitsync) + - [Доработка и разработка плагинов](#доработка-и-разработка-плагинов) + - [Механизм подписок на события](#механизм-подписок-на-события) + - [Сборка проекта](#сборка-проекта) + - [Доработка](#доработка) + - [Лицензия](#лицензия) @@ -335,6 +337,7 @@ * `gitsync plugins enable limit` - будет активирован плагин `limit` * `gitsync plugins enable -a` - будут активированы все предустановленные плагины +* `gitsync plugins enable` - будет выведен список всех установленных плагинов для интерактивного выбора и активации выбранных * `gitsync plugins list` - будет выведен список всех *активированных* плагинов * `gitsync plugins list -a` - будет выведен список всех *установленных* плагинов diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginDisable.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginDisable.os" index a0c9872..a6da8c2 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginDisable.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginDisable.os" @@ -1,14 +1,16 @@ #Использовать "../../core" +#Использовать cli-selector Процедура ОписаниеКоманды(Команда) Экспорт Команда.Опция("a all", Ложь, "Отключить все включенные плагины") .ВОкружении("GITSYNC_DISABLE_ALL_PLUGINS"); + Команда.Аргумент("PLUGIN", "", "Имя плагина") .ТМассивСтрок() .ВОкружении("GITSYNC_PLUGINS"); - Команда.Спек = "(-a | --all) | PLUGIN..."; + Команда.Спек = "[-a | --all] | [PLUGIN...]"; КонецПроцедуры @@ -23,11 +25,33 @@ Лог.Отладка("Отключение всех плагинов <%1>", ВсеВключенные); Если ВсеВключенные Тогда + МенеджерПлагинов.ОтключитьВсеПлагины(); + Иначе + + Если НЕ ЗначениеЗаполнено(ИменаПлагинов) Тогда + ВсеПлагины = МенеджерПлагинов.ПолучитьИндексПлагинов(); + ВыборВКонсоли = Новый ВыборВКонсоли("Выберите плагины к отключению:"); + Для каждого Плагин Из ВсеПлагины Цикл + Если Плагин.Значение.Включен() Тогда + Представление = Плагин.Ключ; + Иначе + Представление = СтроковыеФункции.ДополнитьСтроку(Плагин.Ключ, 15, " ", "Справа") + " - отключен"; + КонецЕсли; + ВыборВКонсоли.ДобавитьЗначениеВыбора(Плагин.Ключ, Представление, , Плагин.Значение.Включен()); + КонецЦикла; + ИменаПлагинов = ВыборВКонсоли.Выбрать(); + КонецЕсли; + МенеджерПлагинов.ОтключитьПлагины(ИменаПлагинов); + + Если ЗначениеЗаполнено(ИменаПлагинов) Тогда + Сообщить("Выключены плагины: " + СтрСоединить(ИменаПлагинов, ", ")); + КонецЕсли; + КонецЕсли; - + ПараметрыПриложения.ЗаписатьВключенныеПлагины(); КонецПроцедуры diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginEnable.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginEnable.os" index 5be60ff..9ca2aca 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginEnable.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260PluginEnable.os" @@ -1,4 +1,5 @@ #Использовать "../../core" +#Использовать cli-selector Перем Лог; @@ -6,16 +7,17 @@ Команда.Опция("a all", Ложь, "включить все установленные плагинов") .ВОкружении("GITSYNC_ENABLE_ALL_PLUGINS"); + Команда.Аргумент("PLUGIN", "", "Имя установленного плагина") .ТМассивСтрок() .ВОкружении("GITSYNC_PLUGINS"); - Команда.Спек = "(-a | --all) | PLUGIN..."; + Команда.Спек = "[-a | --all] | [PLUGIN...]"; КонецПроцедуры Процедура ВыполнитьКоманду(Знач Команда) Экспорт - + ИменаПлагинов = Команда.ЗначениеАргумента("PLUGIN"); ВсеУстановленные = Команда.ЗначениеОпции("all"); @@ -27,6 +29,19 @@ ВсеПлагины = МенеджерПлагинов.ПолучитьИндексПлагинов(); + Если НЕ ЗначениеЗаполнено(ИменаПлагинов) Тогда + ВыборВКонсоли = Новый ВыборВКонсоли("Выберите плагины к включению:"); + Для каждого Плагин Из ВсеПлагины Цикл + Если Плагин.Значение.Включен() Тогда + Представление = СтроковыеФункции.ДополнитьСтроку(Плагин.Ключ, 15, " ", "Справа") + " - включен"; + Иначе + Представление = Плагин.Ключ; + КонецЕсли; + ВыборВКонсоли.ДобавитьЗначениеВыбора(Плагин.Ключ, Представление, , НЕ Плагин.Значение.Включен()); + КонецЦикла; + ИменаПлагинов = ВыборВКонсоли.Выбрать(); + КонецЕсли; + Для каждого Плагин Из ИменаПлагинов Цикл ИмяПлагина = СокрЛ(Плагин); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 80a7e7d..978f386 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -1365,7 +1365,7 @@ | комментарий <%2>, ГУИД-у <%3> - ПолучитьТаблицуВерсийИзФайлаХранилища1С"; Лог.Ошибка(СтрШаблон(Сообщение, Строка.НомерВерсии, Строка.Комментарий, Строка.ГУИД_Автора)); Иначе - Строка.Автор = СтрокаПользователя.Автор; + Строка.Автор = СокрЛП(СтрокаПользователя.Автор); КонецЕсли; КонецЦикла;