From de099eeffc3fd66512cc5f702bcd3f25b4fc3094 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 16 Nov 2017 14:07:45 +0300 Subject: [PATCH 1/7] fix for linux --- features/step_definitions/gitsync-init.os | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/step_definitions/gitsync-init.os b/features/step_definitions/gitsync-init.os index ffccaa2a..66d07ff4 100644 --- a/features/step_definitions/gitsync-init.os +++ b/features/step_definitions/gitsync-init.os @@ -121,7 +121,7 @@ ОжидаемыйКодВозврата = 0; - СтрокаКоманды = СтрШаблон("oscript.exe %1 %2 %3 %4", "-encoding=utf-8", ПутьГитсинк, Команда, БДД.ПолучитьИзКонтекста("ПараметрыГитсинк")); + СтрокаКоманды = СтрШаблон("oscript %1 %2 %3 %4", "-encoding=utf-8", ПутьГитсинк, Команда, БДД.ПолучитьИзКонтекста("ПараметрыГитсинк")); ТекстФайла = ""; КодВозврата = ВыполнитьПроцесс(СтрокаКоманды, ТекстФайла); From f02c7b74ca1a087cae3758a0ceca952ff6ed5450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 16 Nov 2017 17:27:30 +0300 Subject: [PATCH 2/7] =?UTF-8?q?=D0=9E=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE=D0=B0=D0=BD?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D1=8B=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=201=D0=A1?= =?UTF-8?q?=20=D0=9F=D1=80=D0=B5=D0=B4=D0=BF=D1=80=D0=B8=D1=8F=D1=82=D0=B8?= =?UTF-8?q?=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\260\320\275\320\264\320\260Export.os" | 25 ++- ...74\320\260\320\275\320\264\320\260Sync.os" | 30 ++- ...20\267\320\260\321\206\320\270\320\270.os" | 185 +++++++++++++++--- ...21\200\320\260\321\206\320\270\320\270.os" | 12 +- 4 files changed, 221 insertions(+), 31 deletions(-) diff --git "a/src/core/\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\260Export.os" "b/src/core/\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\260Export.os" index 395a112c..ee136a2d 100644 --- "a/src/core/\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\260Export.os" +++ "b/src/core/\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\260Export.os" @@ -34,6 +34,9 @@ Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-increment", "Частичная выгрузка конфигурации"); + Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-dontUseTool1cd", "Получение версии хранилища средствами tool1cd или типовыми средствами платформы>"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-userRep", "<пользователь хранилища конфигурации>"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-passRep", "<пароль пользователя хранилища конфигурации>"); Парсер.ДобавитьКоманду(ОписаниеКоманды); @@ -51,7 +54,8 @@ ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"]; АвтоматическаяУстановкаТэговПоВерсиям = ПараметрыКоманды["-auto-set-tags"]; ВыгружатьТолькоИзменения = ПараметрыКоманды["-increment"]; - + НеИспользоватьTool1CD = ПараметрыКоманды["-dontUseTool1cd"]; + Если ЛокальныйКаталогГит = Неопределено Тогда ЛокальныйКаталогГит = ТекущийКаталог(); @@ -110,11 +114,25 @@ МинВерсия = Число(МинВерсия); Лимит = Число(Лимит); + Если НеИспользоватьTool1CD = Неопределено Тогда + + НеИспользоватьTool1CD = Ложь; // по умолчанию используем tool1cd + + КонецЕсли; + Распаковщик = РаспаковщикКонфигурации.ПолучитьИНастроитьРаспаковщик(ПараметрыКоманды, ДополнительныеПараметры); Распаковщик.ВерсияПлатформы = ПараметрыКоманды["-v8version"]; Распаковщик.ДоменПочтыДляGitПоУмолчанию = ПараметрыКоманды["-email"]; Распаковщик.ПереименовыватьФайлМодуляОбычнойФормы = ПереименовыватьФайлМодуляОбычнойФормы; - Распаковщик.ТолькоИзменения = ВыгружатьТолькоИзменения; + + Если НеИспользоватьTool1CD Тогда + + ПараметрыДоступаКХранилищу = Новый Структура("ПользовательХранилища, ПарольХранилища", ПараметрыКоманды["-userRep"], ПараметрыКоманды["-passRep"]); + Распаковщик.ПроверитьПараметрыДоступаКХранилищу(ПараметрыДоступаКХранилищу); + Распаковщик.ИспользоватьTool1CD = Не НеИспользоватьTool1CD; + + КонецЕсли; + ДополнительныеПараметры.Лог.Информация("Начинаю выгрузку исходников"); РаспаковщикКонфигурации.ВыполнитьЭкспортИсходников(Распаковщик, ПараметрыКоманды["ПутьКХранилищу"], @@ -128,7 +146,8 @@ ПрерватьВыполнениеБезКомментарияКВерсии, , АвтоматическаяУстановкаТэговПоВерсиям, - ПроверитьАвторовХранилища); + ПроверитьАвторовХранилища, + ПараметрыДоступаКХранилищу); ДополнительныеПараметры.Лог.Информация("Выгрузка завершена"); Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; diff --git "a/src/core/\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\260Sync.os" "b/src/core/\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\260Sync.os" index a03ee13e..658131fb 100644 --- "a/src/core/\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\260Sync.os" +++ "b/src/core/\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\260Sync.os" @@ -33,6 +33,10 @@ Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-check-authors", "Проверка файла AUTHORS, на наличие всех авторов коммитов "); Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); + Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-increment", "Частичная выгрузка конфигурации"); + Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-dontUseTool1cd", "Получение версии хранилища средствами tool1cd или типовыми средствами платформы>"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-userRep", "<пользователь хранилища конфигурации>"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-passRep", "<пароль пользователя хранилища конфигурации>"); Парсер.ДобавитьКоманду(ОписаниеКоманды); @@ -54,6 +58,11 @@ Парсер.ДобавитьПараметрФлаг("-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); Парсер.ДобавитьПараметрФлаг("-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); + + Парсер.ДобавитьПараметрФлаг ("-increment", "Частичная выгрузка конфигурации"); + Парсер.ДобавитьПараметрФлаг ("-dontUseTool1cd", "Получение версии хранилища средствами tool1cd или типовыми средствами платформы>"); + Парсер.ДобавитьИменованныйПараметр("-userRep", "<пользователь хранилища конфигурации>"); + Парсер.ДобавитьИменованныйПараметр("-passRep", "<пароль пользователя хранилища конфигурации>"); КонецПроцедуры // ЗарегистрироватьКоманду @@ -77,6 +86,8 @@ ПроверитьАвторовХранилища = ПараметрыКоманды["-check-authors"]; ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"]; АвтоматическаяУстановкаТэговПоВерсиям = ПараметрыКоманды["-auto-set-tags"]; + ВыгружатьТолькоИзменения = ПараметрыКоманды["-increment"]; + НеИспользоватьTool1CD = ПараметрыКоманды["-dontUseTool1cd"]; Если НачальнаяВерсия = Неопределено Тогда @@ -150,6 +161,12 @@ КонецЕсли; + Если НеИспользоватьTool1CD = Неопределено Тогда + + НеИспользоватьTool1CD = Ложь; // по умолчанию используем tool1cd + + КонецЕсли; + Лог.Отладка("ПутьКХранилищу = " + ПутьКХранилищу); Лог.Отладка("URLРепозитория = " + URLРепозитория); Лог.Отладка("ЛокальныйКаталогГит = " + ЛокальныйКаталогГит); @@ -167,6 +184,16 @@ Распаковщик.ВерсияПлатформы = ВерсияПлатформы; Распаковщик.ДоменПочтыДляGitПоУмолчанию = ДоменПочты; Распаковщик.ПереименовыватьФайлМодуляОбычнойФормы = ПереименовыватьФайлМодуляОбычнойФормы; + Распаковщик.ТолькоИзменения = ВыгружатьТолькоИзменения; + + Если НеИспользоватьTool1CD Тогда + + ПараметрыДоступаКХранилищу = Новый Структура("ПользовательХранилища, ПарольХранилища", ПараметрыКоманды["-userRep"], ПараметрыКоманды["-passRep"]); + Распаковщик.ПроверитьПараметрыДоступаКХранилищу(ПараметрыДоступаКХранилищу); + Распаковщик.ИспользоватьTool1CD = Не НеИспользоватьTool1CD; + + КонецЕсли; + Лог.Информация("Получение изменений с удаленного узла (pull)"); КодВозврата = Распаковщик.ВыполнитьGitPull(ЛокальныйКаталогГит, URLРепозитория, ИмяВетки); @@ -189,7 +216,8 @@ ПрерватьВыполнениеБезКомментарияКВерсии, ИмяВетки, АвтоматическаяУстановкаТэговПоВерсиям, - ПроверитьАвторовХранилища); + ПроверитьАвторовХранилища, + ПараметрыДоступаКХранилищу); Лог.Информация("Отправка изменений на удаленный узел"); КодВозврата = Распаковщик.ВыполнитьGitPush(ЛокальныйКаталогГит, URLРепозитория, ИмяВетки, АвтоматическаяУстановкаТэговПоВерсиям); 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 babb1152..8c42df64 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" @@ -38,6 +38,7 @@ Перем ВерсияПлатформы Экспорт; Перем ПереименовыватьФайлМодуляОбычнойФормы Экспорт; Перем ТолькоИзменения Экспорт; +Перем ИспользоватьTool1CD Экспорт; // Выполняет выгрузку конфигурации в файлы // и распределение файлов по каталогам согласно иерархии метаданных. @@ -948,7 +949,7 @@ // Основная функция синхронизации. Перемещает в git набор коммитов хранилища 1С // Процедура СинхронизироватьХранилищеКонфигурацийСГит(Знач КаталогРабочейКопии, - Знач ФайлХранилища, + Знач ПутьКХранилищу, Знач НачальнаяВерсия = 0, Знач КонечнаяВерсия = 0, Знач Формат = Неопределено, @@ -959,9 +960,16 @@ Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь, Знач ИмяВетки = Неопределено, Знач АвтоматическаяУстановкаТэговПоВерсиям = Ложь, - Знач ПроверитьАвторовХранилища = Ложь) Экспорт + Знач ПроверитьАвторовХранилища = Ложь, + Знач ПараметрыДоступаКХранилищу = Неопределено) Экспорт + + Лог.Информация("Начало синхронизации с git"); + + ФайлХранилища = РаспаковщикКонфигурации.ПолучитьПутьКБазеДанныхХранилища(ПутьКХранилищу); + Лог.Отладка("Файл хранилища конфигурации: " + ФайлХранилища); + ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ФайлХранилища); ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(ТаблицаИсторииХранилища, КаталогРабочейКопии, ПроверитьАвторовХранилища); ТекущаяВерсия = НомерСинхронизированнойВерсии(КаталогРабочейКопии); @@ -1005,6 +1013,7 @@ СчетчикКоммитов = 0; СтрокаТекущейВерсии = ТаблицаИсторииХранилища.Найти(СледующаяВерсия, "НомерВерсии"); + ОтправитьНовыеМетки = Ложь; Если СтрокаТекущейВерсии <> Неопределено Тогда ПоследнняяВерсияКонфигурации = СтрокаТекущейВерсии.Тэг; КонецЕсли; @@ -1017,32 +1026,38 @@ ВызватьИсключение СтрШаблон("Версия git %1 больше версии хранилища %2 на %3", ТекущаяВерсия, МаксимальнаяВерсияДляРазбора, СледующаяВерсия - МаксимальнаяВерсияДляРазбора); КонецЕсли; - + Пока СледующаяВерсия <= МаксимальнаяВерсияДляРазбора Цикл СтрокаВерсии = ТаблицаИсторииХранилища.Найти(СледующаяВерсия, "НомерВерсии"); Если СтрокаВерсии <> Неопределено Тогда Если ПустаяСтрока(СтрокаВерсии.ПредставлениеАвтора) Тогда - ВызватьИсключение "Нашли следующую версию, а автор не прописан "+СледующаяВерсия + " автор "+СтрокаВерсии.Автор; + СтрокаОшибки = СтрШаблон("Нашли следующую версию <%1>, а автор <%2> не прописан", СледующаяВерсия, СтрокаВерсии.Автор); + Лог.КритичнаяОшибка(СтрокаОшибки); + ВызватьИсключение СтрокаОшибки; КонецЕсли; Если ПустаяСтрока(СтрокаВерсии.Комментарий) И ПрерватьВыполнениеБезКомментарияКВерсии Тогда - ВызватьИсключение СтрШаблон("Нашли следующую версию %1, а комментарий не задан! Автор %2.", СледующаяВерсия, СтрокаВерсии.Автор);; + СтрокаОшибки = СтрШаблон("Нашли следующую версию <%1> от автора <%2>, а комментарий не задан!", СледующаяВерсия, СтрокаВерсии.Автор); + Лог.КритичнаяОшибка(СтрокаОшибки); + ВызватьИсключение СтрокаОшибки; КонецЕсли; НоваяМетка = ""; Если ПоследнняяВерсияКонфигурации <> СтрокаВерсии.Тэг И АвтоматическаяУстановкаТэговПоВерсиям Тогда ОтправитьНовыеМетки = Истина; + Лог.Информация("Определена новая версия конфигурации: %1 будет установлен новый тэг", СтрокаВерсии.Тэг); НоваяМетка = СтрокаВерсии.Тэг; + ПоследнняяВерсияКонфигурации = НоваяМетка; КонецЕсли; Попытка Лог.Информация("Получаем исходники для версии " + СледующаяВерсия + ", " + ТекущаяДата()); - РазложитьМодулиПоНомеруВерсииХранилища1С(КаталогРабочейКопии, ФайлХранилища, СледующаяВерсия, Формат); + РазложитьМодулиПоНомеруВерсииХранилища1С(КаталогРабочейКопии, ПутьКХранилищу, СледующаяВерсия, Формат, ПараметрыДоступаКХранилищу); Лог.Отладка("Фиксируем в файле VERSION версию " + СледующаяВерсия); ЗаписатьФайлВерсийГит(КаталогРабочейКопии, СледующаяВерсия); ВыполнитьКоммитГит(КаталогРабочейКопии, СтрокаВерсии.Комментарий, СтрокаВерсии.ПредставлениеАвтора, СтрокаВерсии.Дата, НоваяМетка); @@ -1135,25 +1150,33 @@ КонецФункции -Процедура РазложитьМодулиПоНомеруВерсииХранилища1С(Знач КаталогРабочейКопии, Знач ФайлХранилища, Знач НомерВерсии, Знач Формат) Экспорт +Процедура РазложитьМодулиПоНомеруВерсииХранилища1С(Знач КаталогРабочейКопии, Знач ПутьКХранилищу, Знач НомерВерсии, Знач Формат, Знач ПараметрыДоступаКХранилищу) Экспорт - ФайлХранилища = Новый Файл(ФайлХранилища); - Если ФайлХранилища.Существует() И ФайлХранилища.ЭтоФайл() И ВРег(ФайлХранилища.Расширение) = ".1CD" Тогда - ВремКаталог = ВременныеФайлы.СоздатьКаталог(); - ФайлВерсии = ИмяФайлаВыгрузкиВерсииХранилища(ВремКаталог, НомерВерсии); - Лог.Отладка("Выгружаем версию хранилища в файл " + ФайлВерсии); - Попытка - ПоНомеруВерсииСохранитьКонфигурациюСредствамиTool1CD(ФайлХранилища.ПолноеИмя, ФайлВерсии, НомерВерсии); - РазобратьФайлКонфигурации(ФайлВерсии, КаталогРабочейКопии, Формат); - Исключение - УдалитьВременныеФайлыПриНеобходимости(ВремКаталог); - ВызватьИсключение; - КонецПопытки; + + Если ИспользоватьTool1CD Тогда + + ФайлХранилища = Новый Файл(РаспаковщикКонфигурации.ПолучитьПутьКБазеДанныхХранилища(ПутьКХранилищу)); + + Если ФайлХранилища.Существует() И ФайлХранилища.ЭтоФайл() И ВРег(ФайлХранилища.Расширение) = ".1CD" Тогда + ВремКаталог = ВременныеФайлы.СоздатьКаталог(); + ФайлВерсии = ИмяФайлаВыгрузкиВерсииХранилища(ВремКаталог, НомерВерсии); + Лог.Отладка("Выгружаем версию хранилища в файл " + ФайлВерсии); + Попытка + ПоНомеруВерсииСохранитьКонфигурациюСредствамиTool1CD(ФайлХранилища.ПолноеИмя, ФайлВерсии, НомерВерсии); + РазобратьФайлКонфигурации(ФайлВерсии, КаталогРабочейКопии, Формат); + Исключение + УдалитьВременныеФайлыПриНеобходимости(ВремКаталог); + ВызватьИсключение; + КонецПопытки; - УдалитьВременныеФайлыПриНеобходимости(ВремКаталог); + УдалитьВременныеФайлыПриНеобходимости(ВремКаталог); + Иначе + ВызватьИсключение "Что-то пошло не так " + КонецЕсли Иначе - // TODO: предусмотреть выгрузку версии штатным запуском команды Конфигуратора - ВызватьИсключение "Некорректное имя файла хранилища: " + ФайлХранилища.ПолноеИмя; + + РазобратьФайлКонфигурацииШтатнымиСредствами(ПутьКХранилищу, НомерВерсии, ПараметрыДоступаКХранилищу, КаталогРабочейКопии, Формат); + КонецЕсли; КонецПроцедуры @@ -1376,6 +1399,123 @@ УдалятьВременныеФайлы = ПарамУдалятьВременныеФайлы; КонецПроцедуры +Процедура ПроверитьПараметрыДоступаКХранилищу(ПараметрыДоступаКХранилищу) Экспорт + + Если ПараметрыДоступаКХранилищу.ПользовательХранилища = Неопределено Тогда + + ВызватьИсключение "Не задан пользователь хранилища конфигурации."; + + КонецЕсли; + + Если ПараметрыДоступаКХранилищу.ПарольХранилища = Неопределено Тогда + + ПарольХранилища = ""; + + КонецЕсли; + +КонецПроцедуры // ПроверитьПараметрыДоступаКХранилищу + +// Выполняет обновление конфигурации из хранилища, выгрузку конфигурации в файлы +// и распределение файлов по каталогам согласно иерархии метаданных. +// +Процедура РазобратьФайлКонфигурацииШтатнымиСредствами(Знач ПутьКХранилищу, Знач НомерВерсии, Знач ПараметрыДоступаКХранилищу, Знач ВыходнойКаталог, Знач Формат) Экспорт + + КаталогПлоскойВыгрузки = ВременныеФайлы.СоздатьКаталог(); + + Если Не (Новый Файл(ВыходнойКаталог).Существует()) Тогда + СоздатьКаталог(ВыходнойКаталог); + КонецЕсли; + + КаталогВыгрузки = ?(ТолькоИзменения, ВыходнойКаталог, КаталогПлоскойВыгрузки); + Попытка + ВыгрузитьМодулиКонфигурацииОбновлениеИзХранилища(ПутьКХранилищу, НомерВерсии, ПараметрыДоступаКХранилищу, КаталогПлоскойВыгрузки, Формат); + Если НЕ ТолькоИзменения Тогда + РазложитьМодули1СПоПапкамСогласноИерархииМетаданных(КаталогПлоскойВыгрузки, ВыходнойКаталог, Формат); + Иначе + МассивФайлов = НайтиФайлы(КаталогВыгрузки, "*.bin", Истина); + Для каждого Файл из МассивФайлов Цикл + Если Нрег(Файл.Имя) = "form.bin" Тогда + КаталогФормы = ОбъединитьПути(Файл.Путь, Файл.ИмяБезРасширения); + СоздатьКаталог(КаталогФормы); + ФС.ОбеспечитьПустойКаталог(КаталогФормы); + РаспаковатьКонтейнерМетаданных(Файл.ПолноеИмя, КаталогФормы); + КонецЕсли; + КонецЦикла; + + Если Новый Файл(ОбъединитьПути(КаталогВыгрузки, "renames.txt")).Существует() Тогда + УдалитьВременныеФайлыПриНеобходимости(ОбъединитьПути(КаталогВыгрузки, "renames.txt")); + КонецЕсли; + + КонецЕсли; + Исключение + УдалитьВременныеФайлыПриНеобходимости(КаталогПлоскойВыгрузки); + ВызватьИсключение; + КонецПопытки; + +КонецПроцедуры + + +// Выполняет штатную выгрузку конфигурации в файлы (средствами платформы 8.3) без загрузки конфигурации, но с обновлением на версию хранилища +// +Процедура ВыгрузитьМодулиКонфигурацииОбновлениеИзХранилища(Знач ПутьКХранилищу, Знач НомерВерсии, Знач ПараметрыДоступаКХранилищу, Знач КаталогПлоскойВыгрузки, Знач Формат) Экспорт + + Конфигуратор = ПолучитьМенеджерКонфигуратора(); + Если ВерсияПлатформы <> Неопределено Тогда + Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); + Иначе + Конфигуратор.ИспользоватьВерсиюПлатформы("8.3"); + КонецЕсли; + + ЛогКонфигуратора = Логирование.ПолучитьЛог("oscript.lib.v8runner"); + ЛогКонфигуратора.УстановитьУровень(Лог.Уровень()); + + ПользовательХранилища = ПараметрыДоступаКХранилищу.ПользовательХранилища; + ПарольХранилища = ПараметрыДоступаКХранилищу.ПарольХранилища; + + Попытка + + ПараметрыЗапуска = Конфигуратор.ПолучитьПараметрыЗапуска(); + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryUpdateCfg"); + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryF """+ПутьКХранилищу+""""); + + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+""""); + + Если Не ПустаяСтрока(ПарольХранилища) Тогда + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+""""); + КонецЕсли; + + ПараметрыЗапуска.Добавить("-v "+НомерВерсии); + + ПараметрыЗапуска.Добавить("-force"); + + ВыполнитьКомандуКонфигуратора(Конфигуратор, ПараметрыЗапуска); + + //Конфигуратор.ОбновитьКонфигурациюБазыДанныхИзХранилищаНаВерсию(ПутьКХранилищу, ПользовательХранилища, ПарольХранилища, НомерВерсии); + + Исключение + + ТекстОшибки = Конфигуратор.ВыводКоманды(); + ВызватьИсключение ТекстОшибки; + + КонецПопытки; + + Если Не (Новый Файл(КаталогПлоскойВыгрузки).Существует()) Тогда + СоздатьКаталог(КаталогПлоскойВыгрузки); + КонецЕсли; + + МассивФайлов = НайтиФайлы(КаталогПлоскойВыгрузки, ПолучитьМаскуВсеФайлы()); + Если МассивФайлов.Количество() <> 0 Тогда + ВызватьИсключение "В каталоге <"+КаталогПлоскойВыгрузки+"> не должно быть файлов"; + КонецЕсли; + + ПараметрыЗапуска = Конфигуратор.ПолучитьПараметрыЗапуска(); + ПараметрДампаКонфигурации = СтрШаблон("/DumpConfigToFiles ""%1"" -format %2", КаталогПлоскойВыгрузки, ТРег(Формат)); + ПараметрыЗапуска.Добавить(ПараметрДампаКонфигурации); + + ВыполнитьКомандуКонфигуратора(Конфигуратор, ПараметрыЗапуска); + +КонецПроцедуры + /////////////////////////////////////////////////////////////////////////////////////////////// // Вспомогательные функции @@ -1489,3 +1629,4 @@ КоличествоЦикловОжиданияЛицензииПоУмолчанию = 1; ТолькоИзменения = Ложь; МинимальнаяРазницаМеждуКоммитамиНовогоХранилища = 10; +ИспользоватьTool1CD = Истина; diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" index 39592cb5..790fae6e 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" @@ -81,12 +81,13 @@ Знач Лимит = 0, Знач ПрерватьВыполнениеБезКомментарияКВерсии, Знач ИмяВетки = Неопределено, - Знач АвтоматическаяУстановкаТэговПоВерсиям, - Знач ПроверитьАвторовХранилища = Ложь) Экспорт + Знач АвтоматическаяУстановкаТэговПоВерсиям = Ложь, + Знач ПроверитьАвторовХранилища = Ложь, + Знач ПараметрыДоступаКХранилищу = Неопределено) Экспорт ФайлБазыДанныхХранилища = ПолучитьПутьКБазеДанныхХранилища(ПутьКХранилищу); Распаковщик.СинхронизироватьХранилищеКонфигурацийСГит(ЛокальныйКаталогГит, - ФайлБазыДанныхХранилища, + ПутьКХранилищу, НачальнаяВерсия, КонечнаяВерсия, Формат, @@ -96,7 +97,8 @@ ПрерватьВыполнениеБезКомментарияКВерсии, ИмяВетки, АвтоматическаяУстановкаТэговПоВерсиям, - ПроверитьАвторовХранилища); + ПроверитьАвторовХранилища, + ПараметрыДоступаКХранилищу); КонецПроцедуры // ВыполнитьЭкспортИсходников @@ -109,7 +111,7 @@ /////////////////////////////////////////////////////////////////// -Функция ПолучитьПутьКБазеДанныхХранилища(Знач ПутьКХранилищу) +Функция ПолучитьПутьКБазеДанныхХранилища(Знач ПутьКХранилищу) Экспорт ФайлПутиКХранилищу = Новый Файл(ПутьКХранилищу); Если ФайлПутиКХранилищу.Существует() и ФайлПутиКХранилищу.ЭтоКаталог() Тогда From 21d04f72fdb6244ef6976d027bdf8afaf536b97d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 16 Nov 2017 17:27:44 +0300 Subject: [PATCH 3/7] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D0=B2=20?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D0=BB=D0=B5=20BDD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/gitsync-sync.feature | 93 ++++++++ features/step_definitions/gitsync-sync.os | 249 ++++++++++++++++++++++ 2 files changed, 342 insertions(+) create mode 100644 features/gitsync-sync.feature create mode 100644 features/step_definitions/gitsync-sync.os diff --git a/features/gitsync-sync.feature b/features/gitsync-sync.feature new file mode 100644 index 00000000..fe40fe77 --- /dev/null +++ b/features/gitsync-sync.feature @@ -0,0 +1,93 @@ +# language: ru + +Функционал: Инициализация каталога исходников конфигурации + Как Пользователь + Я хочу выполнять автоматическую синхронизацию конфигурации из хранилища + Чтобы автоматизировать свою работы с хранилищем с git + +Контекст: Тестовый контекст + Когда Я очищаю параметры команды "gitsync" в контексте + И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке + И Я добавляю параметр "sync" для команды "gitsync" + И Я создаю временный каталог и сохраняю его в контекст + И я скопировал каталог тестового хранилища конфигурации во временный каталог + И Я сохраняю значение временного каталога в переменной "КаталогХранилища1С" + И Я создаю временный каталог и сохраняю его в контекст + И Я сохраняю значение временного каталога в переменной "ПутьКаталогаИсходников" + И Я создаю тестовой файл AUTHORS + И Я записываю "0" в файл VERSION + И Я создаю временный каталог и сохраняю его в контекст + И Я инициализирую bare репозиторий во временном каталоге + И Я сохраняю значение временного каталога в переменной "URLРепозитория" + И я инициализирую связь "ПутьКаталогаИсходников" с внешним репозиторием "URLРепозитория" + И я включаю отладку лога с именем "oscript.app.gitsync" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "URLРепозитория" + И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников" + +Сценарий: Простая синхронизация хранилища с git-репозиторием + Допустим Я создаю временный каталог и сохраняю его в контекст + И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория" + И Я добавляю параметр "-tempdir" для команды "gitsync" из переменной "ВременнаяДиректория" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена" + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 + +Сценарий: Синхронизация хранилища с git-репозиторием без tool1CD + Допустим Я добавляю параметр "-dontUseTool1cd" для команды "gitsync" + И Я создаю временный каталог и сохраняю его в контекст + И Я добавляю параметр "-userRep" для команды "gitsync" со значением "Администратор" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена" + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 + +Сценарий: Синхронизация хранилища с git-репозиторием с дополнительными параметрами без tool1CD + Допустим Я добавляю параметр "-dontUseTool1cd" для команды "gitsync" + И Я создаю временный каталог и сохраняю его в контекст + И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория" + И Я добавляю параметр "-tempdir" для команды "gitsync" из переменной "ВременнаяДиректория" + И Я добавляю параметр "-userRep" для команды "gitsync" со значением "Администратор" + И Я добавляю параметр "-push-every-n-commits" для команды "gitsync" со значением "5" + И Я добавляю параметр "-dontUseTool1cd" для команды "gitsync" + И Я добавляю параметр "-process-fatform-modules" для команды "gitsync" + И Я добавляю параметр "-check-authors" для команды "gitsync" + И Я добавляю параметр "-auto-set-tags" для команды "gitsync" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена" + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 + +Сценарий: Синхронизация хранилища с git-репозиторием с выгрузкой только изменений + Допустим Я создаю временный каталог и сохраняю его в контекст + И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория" + И Я добавляю параметр "-increment" для команды "gitsync" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена" + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 + +Сценарий: Синхронизация хранилища с git-репозиторием с выгрузкой только изменений без tool1CD + Допустим Я добавляю параметр "-increment" для команды "gitsync" + И Я добавляю параметр "-dontUseTool1cd" для команды "gitsync" + И Я добавляю параметр "-userRep" для команды "gitsync" со значением "Администратор" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена" + И Вывод команды "gitsync" не содержит "Внешнее исключение" + И Код возврата команды "gitsync" равен 0 + + +Сценарий: Синхронизация хранилища с git-репозиторием с проверкой заполненности комментария + Допустим Я добавляю параметр "-stop-if-empty-comment" для команды "gitsync" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "КРИТИЧНАЯОШИБКА - Нашли следующую версию <4> от автора <Администратор>, а комментарий не задан!" + И Код возврата команды "gitsync" равен 1 + +Сценарий: Синхронизация хранилища с git-репозиторием с проверкой авторов версий в хранилище + Допустим Я добавляю параметр "-check-authors" для команды "gitsync" + И Я создаю неполный тестовой файл AUTHORS + И Я инициализирую связь "ПутьКаталогаИсходников" с внешним репозиторием "URLРепозитория" + Когда Я выполняю команду "gitsync" + Тогда Вывод команды "gitsync" содержит "КРИТИЧНАЯОШИБКА - Пользователю хранилища <Администратор> не сопоставлен пользователь git." + И Код возврата команды "gitsync" равен 1 diff --git a/features/step_definitions/gitsync-sync.os b/features/step_definitions/gitsync-sync.os new file mode 100644 index 00000000..f5f5605f --- /dev/null +++ b/features/step_definitions/gitsync-sync.os @@ -0,0 +1,249 @@ +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd +#Использовать gitrunner +#Использовать asserts +#Использовать tempfiles + +Перем БДД; //контекст фреймворка 1bdd + +// Метод выдает список шагов, реализованных в данном файле-шагов +Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт + БДД = КонтекстФреймворкаBDD; + + ВсеШаги = Новый Массив; + + ВсеШаги.Добавить("ЯУстанавливаюПутьВыполненияКомандыКТекущейБиблиотеке"); + ВсеШаги.Добавить("ЯСкопировалКаталогТестовогоХранилищаКонфигурацииВоВременныйКаталог"); + ВсеШаги.Добавить("ЯСохраняюЗначениеВременногоКаталогаВПеременной"); + ВсеШаги.Добавить("ЯСоздаюТестовойФайлAuthors"); + ВсеШаги.Добавить("ЯЗаписываюВФайлVersion"); + ВсеШаги.Добавить("ЯИнициализируюBareРепозиторийВоВременномКаталоге"); + ВсеШаги.Добавить("ЯИнициализируюСвязьСВнешнимРепозиторием"); + ВсеШаги.Добавить("ЯДобавляюПозиционныйПараметрДляКомандыИзПеременной"); + ВсеШаги.Добавить("ЯДобавляюПараметрДляКомандыСоЗначением"); + ВсеШаги.Добавить("ЯДобавляюПараметрДляКомандыИзПеременной"); + ВсеШаги.Добавить("ЯСоздаюНеполныйТестовойФайлAuthors"); + + Возврат ВсеШаги; +КонецФункции + +Функция ИмяЛога() Экспорт + Возврат "bdd.gitsync.feature"; +КонецФункции + + +// Реализация шагов + +// Процедура выполняется перед запуском каждого сценария +Процедура ПередЗапускомСценария(Знач Узел) Экспорт + ЯСоздаюНовыйОбъектГитрепозиторий() +КонецПроцедуры + +// Процедура выполняется после завершения каждого сценария +Процедура ПослеЗапускаСценария(Знач Узел) Экспорт + ВременныеФайлы.Удалить(); +КонецПроцедуры + +//Я инициализирую bare репозиторий во временном каталоге +Процедура ЯИнициализируюBareРепозиторийВоВременномКаталоге() Экспорт + ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий"); + ВременныйКаталог = БДД.ПолучитьИзКонтекста("ВременныйКаталог"); + ГитРепозиторий.УстановитьРабочийКаталог(ВременныйКаталог); + ПараметрыКоманды = Новый Массив; + ПараметрыКоманды.Добавить("init"); + ПараметрыКоманды.Добавить("--bare"); + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); + +КонецПроцедуры + +//Я создаю новый объект ГитРепозиторий +Процедура ЯСоздаюНовыйОбъектГитрепозиторий() Экспорт + ГитРепозиторий = Новый ГитРепозиторий; + БДД.СохранитьВКонтекст("ГитРепозиторий", ГитРепозиторий); +КонецПроцедуры + +//Я сохраняю значение временного каталога в переменной "URLРепозитория" +Процедура ЯСохраняюЗначениеВременногоКаталогаВПеременной(Знач ИмяПеременной) Экспорт + ВременныйКаталог = БДД.ПолучитьИзКонтекста("ВременныйКаталог"); + БДД.СохранитьВКонтекст(ИмяПеременной, ВременныйКаталог); +КонецПроцедуры + +//я инициализирую каталог исходников +Процедура ЯИнициализируюКаталогИсходников() Экспорт + + ВременныйКаталог = БДД.ПолучитьИзКонтекста("ВременныйКаталог"); + + ПутьКаталогаИсходников = ВременныйКаталог; + + СоздатьКаталог(ПутьКаталогаИсходников); + + БДД.СохранитьВКонтекст("ПутьКаталогаИсходников",Новый Файл(ПутьКаталогаИсходников)); + +КонецПроцедуры + +//Я создаю тестовой файл AUTHORS +Процедура ЯСоздаюТестовойФайлAuthors() Экспорт + + ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников"); + ФайлАвторов = Новый ЗаписьТекста; + ФайлАвторов.Открыть(ОбъединитьПути(ПутьКаталогаИсходников, "AUTHORS"), "utf-8"); + ФайлАвторов.ЗаписатьСтроку("Администратор=Администратор "); + ФайлАвторов.ЗаписатьСтроку("Отладка=Отладка "); + ФайлАвторов.Закрыть(); + +КонецПроцедуры + +//Я записываю "0" в файл VERSION +Процедура ЯЗаписываюВФайлVersion(Знач НомерВерсии) Экспорт + + ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников"); + + ПутьКФайлуВерсий = ОбъединитьПути(ПутьКаталогаИсходников,"VERSION"); + Попытка + Запись = Новый ЗаписьТекста(ПутьКФайлуВерсий, "utf-8"); + Запись.ЗаписатьСтроку(""); + Запись.ЗаписатьСтроку("" + НомерВерсии + ""); + Запись.Закрыть(); + Исключение + Если Запись <> Неопределено Тогда + ОсвободитьОбъект(Запись); + КонецЕсли; + ВызватьИсключение; + КонецПопытки; + +КонецПроцедуры + +//я инициализрую связь с внешним репозиторием +Процедура ЯИнициализруюСвязьСВнешнимРепозиторием() Экспорт + ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий"); + URLРепозитория = БДД.ПолучитьИзКонтекста("URLРепозитория"); + ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников"); + + ГитРепозиторий.УстановитьРабочийКаталог(ПутьКаталогаИсходников); + ГитРепозиторий.Инициализировать(); + ПараметрыКоманды = Новый Массив; + ПараметрыКоманды.Добавить("add"); + ПараметрыКоманды.Добавить("--all"); + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); + ГитРепозиторий.Закоммитить("тест"); + + НастройкаОтправить = Новый НастройкаКомандыОтправить; + НастройкаОтправить.УстановитьURLРепозиторияОтправки(URLРепозитория); + НастройкаОтправить.ОтображатьПрогресс(); + НастройкаОтправить.ПерезаписатьИсторию(); + НастройкаОтправить.Отслеживать(); + НастройкаОтправить.ПолнаяОтправка(); + + ГитРепозиторий.УстановитьНастройкуКомандыОтправить(НастройкаОтправить); + + ГитРепозиторий.Отправить(); +КонецПроцедуры + +//я инициализирую связь "ПутьКаталогаИсходников" с внешним репозиторием "URLРепозитория" +Процедура ЯИнициализируюСвязьСВнешнимРепозиторием(Знач ПарамСтрока1, Знач ПарамСтрока2) Экспорт + + ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий"); + URLРепозитория = БДД.ПолучитьИзКонтекста(ПарамСтрока2); + ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста(ПарамСтрока1); + + ГитРепозиторий.УстановитьРабочийКаталог(ПутьКаталогаИсходников); + ГитРепозиторий.Инициализировать(); + ПараметрыКоманды = Новый Массив; + ПараметрыКоманды.Добавить("add"); + ПараметрыКоманды.Добавить("--all"); + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); + ГитРепозиторий.Закоммитить("тест"); + + НастройкаОтправить = Новый НастройкаКомандыОтправить; + НастройкаОтправить.УстановитьURLРепозиторияОтправки(URLРепозитория); + НастройкаОтправить.ОтображатьПрогресс(); + НастройкаОтправить.ПерезаписатьИсторию(); + НастройкаОтправить.Отслеживать(); + НастройкаОтправить.ПолнаяОтправка(); + + ГитРепозиторий.УстановитьНастройкуКомандыОтправить(НастройкаОтправить); + + ГитРепозиторий.Отправить(); + +КонецПроцедуры + +//Я добавляю позиционный параметр для команды "gitsync" из переменной "URLРепозитория" +Процедура ЯДобавляюПозиционныйПараметрДляКомандыИзПеременной(Знач ИмяКоманды, Знач ИмяПеременной) Экспорт + + Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); + ЗначениеПеременной = БДД.ПолучитьИзКонтекста(ИмяПеременной); + + Команда.ДобавитьПараметр(ЗначениеПеременной); + +КонецПроцедуры + +//Я добавляю параметр "-debug" для команды "gitsync" со значением "on" +Процедура ЯДобавляюПараметрДляКомандыСоЗначением(Знач Параметр, Знач ИмяКоманды, Знач Значение) Экспорт + Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); + Команда.ДобавитьПараметр(СтрШаблон("%1 %2", Параметр, Значение)) +КонецПроцедуры + +//Я добавляю параметр "-tmpdir" для команды "gitsync" из переменной "ВременнаяДиректория" +Процедура ЯДобавляюПараметрДляКомандыИзПеременной(Знач Параметр, Знач ИмяКоманды, Знач ИмяПеременной) Экспорт + Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); + ЗначениеПеременной = БДД.ПолучитьИзКонтекста(ИмяПеременной); + Команда.ДобавитьПараметр(СтрШаблон("%1 %2", Параметр, ЗначениеПеременной)) +КонецПроцедуры + +//Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке +Процедура ЯУстанавливаюПутьВыполненияКомандыКТекущейБиблиотеке(Знач ИмяКоманды) Экспорт + + ПутьГитсинк = ОбъединитьПути(КаталогГитсинк(), "src", "gitsync.os"); + СтрокаКоманды = СтрШаблон("oscript %1 %2", "-encoding=utf-8", ПутьГитсинк); + + Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); + СтрокаКоманды = ОбернутьВКавычки(СтрокаКоманды); + Команда.УстановитьКоманду(ОбернутьВКавычки(СтрокаКоманды)); + +КонецПроцедуры + +//я скопировал каталог тестового хранилища конфигурации во временный каталог +Процедура ЯСкопировалКаталогТестовогоХранилищаКонфигурацииВоВременныйКаталог() Экспорт + + ВременныйКаталог = БДД.ПолучитьИзКонтекста("ВременныйКаталог"); + КопироватьФайл(ПутьКВременномуФайлуХранилища1С(), ОбъединитьПути(ВременныйКаталог, "1cv8ddb.1CD")) + +КонецПроцедуры + +//Я создаю неполный тестовой файл AUTHORS +Процедура ЯСоздаюНеполныйТестовойФайлAuthors() Экспорт + + ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников"); + ФайлАвторов = Новый ЗаписьТекста; + ФайлАвторов.Открыть(ОбъединитьПути(ПутьКаталогаИсходников, "AUTHORS"), "utf-8"); + ФайлАвторов.ЗаписатьСтроку("Отладка=Отладка "); + ФайлАвторов.Закрыть(); + +КонецПроцедуры + + + +Функция ПутьКВременномуФайлуХранилища1С() + + Возврат ОбъединитьПути(КаталогFixtures(), "ТестовыйФайлХранилища1С.1CD"); + +КонецФункции + +Функция КаталогFixtures() + Возврат ОбъединитьПути(КаталогГитсинк(), "tests", "fixtures"); +КонецФункции + +Функция КаталогГитсинк() + Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "..", ".."); +КонецФункции + +Функция ОбернутьВКавычки(Знач Строка); + Возврат """" + Строка + """"; +КонецФункции + +Функция КлючКоманды(Знач ИмяКоманды) + Возврат "Команда-" + ИмяКоманды; +КонецФункции + +Лог = Логирование.ПолучитьЛог(ИмяЛога()); +//Лог.УстановитьУровень(Логирование.ПолучитьЛог("bdd").Уровень()); +Лог.УстановитьУровень(УровниЛога.Отладка); From dcd551bcb1d15e5e046134e8a7e70d047e2b271f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 16 Nov 2017 17:51:33 +0300 Subject: [PATCH 4/7] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D1=83?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20gitsync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/step_definitions/gitsync-sync.os | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/features/step_definitions/gitsync-sync.os b/features/step_definitions/gitsync-sync.os index f5f5605f..92b3ebfd 100644 --- a/features/step_definitions/gitsync-sync.os +++ b/features/step_definitions/gitsync-sync.os @@ -193,12 +193,11 @@ Процедура ЯУстанавливаюПутьВыполненияКомандыКТекущейБиблиотеке(Знач ИмяКоманды) Экспорт ПутьГитсинк = ОбъединитьПути(КаталогГитсинк(), "src", "gitsync.os"); - СтрокаКоманды = СтрШаблон("oscript %1 %2", "-encoding=utf-8", ПутьГитсинк); - Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); - СтрокаКоманды = ОбернутьВКавычки(СтрокаКоманды); - Команда.УстановитьКоманду(ОбернутьВКавычки(СтрокаКоманды)); - + Команда.УстановитьКоманду("oscript"); + Команда.ДобавитьПараметр("-encoding=utf-8"); + Команда.ДобавитьПараметр(ОбернутьВКавычки(ПутьГитсинк)); + КонецПроцедуры //я скопировал каталог тестового хранилища конфигурации во временный каталог From 6a2f4596f7f50706a3d9ebb68215c3ca4eefa4e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Fri, 17 Nov 2017 12:28:05 +0300 Subject: [PATCH 5/7] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=D0=BC.=20=D0=9F=D0=B5=D1=80=D0=B5=D0=B8=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D1=81=D0=BE=D0=B5=D0=B4?= =?UTF-8?q?=D0=B8=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=20=D1=85=D1=80?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/gitsync-sync.feature | 27 ++++++++++--------- features/step_definitions/gitsync-sync.os | 19 ++++++++----- ...\320\260\320\275\320\264\320\260Export.os" | 10 +++---- ...74\320\260\320\275\320\264\320\260Sync.os" | 16 +++++------ 4 files changed, 39 insertions(+), 33 deletions(-) diff --git a/features/gitsync-sync.feature b/features/gitsync-sync.feature index fe40fe77..482b9aad 100644 --- a/features/gitsync-sync.feature +++ b/features/gitsync-sync.feature @@ -35,25 +35,25 @@ И Код возврата команды "gitsync" равен 0 Сценарий: Синхронизация хранилища с git-репозиторием без tool1CD - Допустим Я добавляю параметр "-dontUseTool1cd" для команды "gitsync" - И Я создаю временный каталог и сохраняю его в контекст - И Я добавляю параметр "-userRep" для команды "gitsync" со значением "Администратор" + Допустим Я добавляю параметры для команды "gitsync" + |--storage-user Администратор| + |-useVendorUnload| Когда Я выполняю команду "gitsync" Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена" И Вывод команды "gitsync" не содержит "Внешнее исключение" И Код возврата команды "gitsync" равен 0 Сценарий: Синхронизация хранилища с git-репозиторием с дополнительными параметрами без tool1CD - Допустим Я добавляю параметр "-dontUseTool1cd" для команды "gitsync" + Допустим Я добавляю параметр "-useVendorUnload" для команды "gitsync" И Я создаю временный каталог и сохраняю его в контекст И Я сохраняю значение временного каталога в переменной "ВременнаяДиректория" И Я добавляю параметр "-tempdir" для команды "gitsync" из переменной "ВременнаяДиректория" - И Я добавляю параметр "-userRep" для команды "gitsync" со значением "Администратор" - И Я добавляю параметр "-push-every-n-commits" для команды "gitsync" со значением "5" - И Я добавляю параметр "-dontUseTool1cd" для команды "gitsync" - И Я добавляю параметр "-process-fatform-modules" для команды "gitsync" - И Я добавляю параметр "-check-authors" для команды "gitsync" - И Я добавляю параметр "-auto-set-tags" для команды "gitsync" + И Я добавляю параметры для команды "gitsync" + |--storage-user Администратор| + |-useVendorUnload| + |-check-authors| + |-auto-set-tags| + И Я добавляю параметр "-push-every-n-commits 5" для команды "gitsync" Когда Я выполняю команду "gitsync" Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена" И Вывод команды "gitsync" не содержит "Внешнее исключение" @@ -69,9 +69,10 @@ И Код возврата команды "gitsync" равен 0 Сценарий: Синхронизация хранилища с git-репозиторием с выгрузкой только изменений без tool1CD - Допустим Я добавляю параметр "-increment" для команды "gitsync" - И Я добавляю параметр "-dontUseTool1cd" для команды "gitsync" - И Я добавляю параметр "-userRep" для команды "gitsync" со значением "Администратор" + Допустим Я добавляю параметры для команды "gitsync" + |--storage-user Администратор| + |-increment| + |-useVendorUnload| Когда Я выполняю команду "gitsync" Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена" И Вывод команды "gitsync" не содержит "Внешнее исключение" diff --git a/features/step_definitions/gitsync-sync.os b/features/step_definitions/gitsync-sync.os index 92b3ebfd..14397a9a 100644 --- a/features/step_definitions/gitsync-sync.os +++ b/features/step_definitions/gitsync-sync.os @@ -19,8 +19,8 @@ ВсеШаги.Добавить("ЯИнициализируюBareРепозиторийВоВременномКаталоге"); ВсеШаги.Добавить("ЯИнициализируюСвязьСВнешнимРепозиторием"); ВсеШаги.Добавить("ЯДобавляюПозиционныйПараметрДляКомандыИзПеременной"); - ВсеШаги.Добавить("ЯДобавляюПараметрДляКомандыСоЗначением"); ВсеШаги.Добавить("ЯДобавляюПараметрДляКомандыИзПеременной"); + ВсеШаги.Добавить("ЯДобавляюПараметрыДляКоманды"); ВсеШаги.Добавить("ЯСоздаюНеполныйТестовойФайлAuthors"); Возврат ВсеШаги; @@ -176,12 +176,6 @@ КонецПроцедуры -//Я добавляю параметр "-debug" для команды "gitsync" со значением "on" -Процедура ЯДобавляюПараметрДляКомандыСоЗначением(Знач Параметр, Знач ИмяКоманды, Знач Значение) Экспорт - Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); - Команда.ДобавитьПараметр(СтрШаблон("%1 %2", Параметр, Значение)) -КонецПроцедуры - //Я добавляю параметр "-tmpdir" для команды "gitsync" из переменной "ВременнаяДиректория" Процедура ЯДобавляюПараметрДляКомандыИзПеременной(Знач Параметр, Знач ИмяКоманды, Знач ИмяПеременной) Экспорт Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); @@ -219,6 +213,17 @@ КонецПроцедуры +//Я добавляю параметры для команды "gitsync" +//|--storage-user Администратор| +//|-useVendorUnload| +Процедура ЯДобавляюПараметрыДляКоманды(Знач ИмяКоманды, Знач ТаблицаПараметров) Экспорт + + Команда = БДД.ПолучитьИзКонтекста(КлючКоманды(ИмяКоманды)); + Для Каждого Параметр из ТаблицаПараметров Цикл + Команда.ДобавитьПараметр(Параметр[0]) + КонецЦикла + +КонецПроцедуры Функция ПутьКВременномуФайлуХранилища1С() diff --git "a/src/core/\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\260Export.os" "b/src/core/\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\260Export.os" index ee136a2d..30b53113 100644 --- "a/src/core/\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\260Export.os" +++ "b/src/core/\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\260Export.os" @@ -34,9 +34,9 @@ Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-increment", "Частичная выгрузка конфигурации"); - Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-dontUseTool1cd", "Получение версии хранилища средствами tool1cd или типовыми средствами платформы>"); - Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-userRep", "<пользователь хранилища конфигурации>"); - Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-passRep", "<пароль пользователя хранилища конфигурации>"); + Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-useVendorUnload", "Получение версии хранилища средствами tool1cd или типовыми средствами платформы>"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-user", "<пользователь хранилища конфигурации>"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-pwd", "<пароль пользователя хранилища конфигурации>"); Парсер.ДобавитьКоманду(ОписаниеКоманды); @@ -54,7 +54,7 @@ ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"]; АвтоматическаяУстановкаТэговПоВерсиям = ПараметрыКоманды["-auto-set-tags"]; ВыгружатьТолькоИзменения = ПараметрыКоманды["-increment"]; - НеИспользоватьTool1CD = ПараметрыКоманды["-dontUseTool1cd"]; + НеИспользоватьTool1CD = ПараметрыКоманды["-useVendorUnload"]; Если ЛокальныйКаталогГит = Неопределено Тогда @@ -127,7 +127,7 @@ Если НеИспользоватьTool1CD Тогда - ПараметрыДоступаКХранилищу = Новый Структура("ПользовательХранилища, ПарольХранилища", ПараметрыКоманды["-userRep"], ПараметрыКоманды["-passRep"]); + ПараметрыДоступаКХранилищу = Новый Структура("ПользовательХранилища, ПарольХранилища", ПараметрыКоманды["--storage-user"], ПараметрыКоманды["--storage-pwd"]); Распаковщик.ПроверитьПараметрыДоступаКХранилищу(ПараметрыДоступаКХранилищу); Распаковщик.ИспользоватьTool1CD = Не НеИспользоватьTool1CD; diff --git "a/src/core/\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\260Sync.os" "b/src/core/\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\260Sync.os" index 658131fb..1b6c3628 100644 --- "a/src/core/\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\260Sync.os" +++ "b/src/core/\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\260Sync.os" @@ -34,9 +34,9 @@ Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-increment", "Частичная выгрузка конфигурации"); - Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-dontUseTool1cd", "Получение версии хранилища средствами tool1cd или типовыми средствами платформы>"); - Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-userRep", "<пользователь хранилища конфигурации>"); - Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-passRep", "<пароль пользователя хранилища конфигурации>"); + Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-useVendorUnload", "Получение версии хранилища средствами tool1cd или типовыми средствами платформы>"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-user", "<пользователь хранилища конфигурации>"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--storage-pwd", "<пароль пользователя хранилища конфигурации>"); Парсер.ДобавитьКоманду(ОписаниеКоманды); @@ -60,9 +60,9 @@ Парсер.ДобавитьПараметрФлаг("-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); Парсер.ДобавитьПараметрФлаг ("-increment", "Частичная выгрузка конфигурации"); - Парсер.ДобавитьПараметрФлаг ("-dontUseTool1cd", "Получение версии хранилища средствами tool1cd или типовыми средствами платформы>"); - Парсер.ДобавитьИменованныйПараметр("-userRep", "<пользователь хранилища конфигурации>"); - Парсер.ДобавитьИменованныйПараметр("-passRep", "<пароль пользователя хранилища конфигурации>"); + Парсер.ДобавитьПараметрФлаг ("-useVendorUnload", "Получение версии хранилища средствами tool1cd или типовыми средствами платформы>"); + Парсер.ДобавитьИменованныйПараметр("--storage-user", "<пользователь хранилища конфигурации>"); + Парсер.ДобавитьИменованныйПараметр("--storage-pwd", "<пароль пользователя хранилища конфигурации>"); КонецПроцедуры // ЗарегистрироватьКоманду @@ -87,7 +87,7 @@ ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"]; АвтоматическаяУстановкаТэговПоВерсиям = ПараметрыКоманды["-auto-set-tags"]; ВыгружатьТолькоИзменения = ПараметрыКоманды["-increment"]; - НеИспользоватьTool1CD = ПараметрыКоманды["-dontUseTool1cd"]; + НеИспользоватьTool1CD = ПараметрыКоманды["-useVendorUnload"]; Если НачальнаяВерсия = Неопределено Тогда @@ -188,7 +188,7 @@ Если НеИспользоватьTool1CD Тогда - ПараметрыДоступаКХранилищу = Новый Структура("ПользовательХранилища, ПарольХранилища", ПараметрыКоманды["-userRep"], ПараметрыКоманды["-passRep"]); + ПараметрыДоступаКХранилищу = Новый Структура("ПользовательХранилища, ПарольХранилища", ПараметрыКоманды["--storage-user"], ПараметрыКоманды["--storage-pwd"]); Распаковщик.ПроверитьПараметрыДоступаКХранилищу(ПараметрыДоступаКХранилищу); Распаковщик.ИспользоватьTool1CD = Не НеИспользоватьTool1CD; From ccf7ea22dd546e2f0ebf4d0853a6dcafa95917db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Fri, 17 Nov 2017 12:54:47 +0300 Subject: [PATCH 6/7] =?UTF-8?q?=D0=92=D0=B5=D1=80=D0=BD=D1=83=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=82=D0=B5=D1=80=D1=8F=D0=BD=D0=BD=D1=8B=D0=B9=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=20-process-fat?= =?UTF-8?q?form-modules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/gitsync-sync.feature | 1 + 1 file changed, 1 insertion(+) diff --git a/features/gitsync-sync.feature b/features/gitsync-sync.feature index 482b9aad..9cd0ae4a 100644 --- a/features/gitsync-sync.feature +++ b/features/gitsync-sync.feature @@ -53,6 +53,7 @@ |-useVendorUnload| |-check-authors| |-auto-set-tags| + |-process-fatform-modules| И Я добавляю параметр "-push-every-n-commits 5" для команды "gitsync" Когда Я выполняю команду "gitsync" Тогда Вывод команды "gitsync" содержит "ИНФОРМАЦИЯ - Синхронизация завершена" From 3111765cab1866b64ff80cbdf5cfac8de2ff30df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Fri, 17 Nov 2017 13:50:28 +0300 Subject: [PATCH 7/7] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BC=D0=B8=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D0=BF=D1=80=D0=BE=D1=86?= =?UTF-8?q?=D0=B5=D0=B4=D1=83=D1=80=D1=8B=20=D0=B2=20=D0=BD=D0=B0=D0=B8?= =?UTF-8?q?=D0=B1=D0=BE=D0=BB=D0=B5=D0=B5=20=D0=B0=D0=B4=D0=B5=D0=BA=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D0=BD=D1=8B=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/step_definitions/gitsync-sync.os | 32 +++-------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/features/step_definitions/gitsync-sync.os b/features/step_definitions/gitsync-sync.os index 14397a9a..3e68b3d5 100644 --- a/features/step_definitions/gitsync-sync.os +++ b/features/step_definitions/gitsync-sync.os @@ -112,38 +112,12 @@ КонецПроцедуры -//я инициализрую связь с внешним репозиторием -Процедура ЯИнициализруюСвязьСВнешнимРепозиторием() Экспорт - ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий"); - URLРепозитория = БДД.ПолучитьИзКонтекста("URLРепозитория"); - ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста("ПутьКаталогаИсходников"); - - ГитРепозиторий.УстановитьРабочийКаталог(ПутьКаталогаИсходников); - ГитРепозиторий.Инициализировать(); - ПараметрыКоманды = Новый Массив; - ПараметрыКоманды.Добавить("add"); - ПараметрыКоманды.Добавить("--all"); - ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); - ГитРепозиторий.Закоммитить("тест"); - - НастройкаОтправить = Новый НастройкаКомандыОтправить; - НастройкаОтправить.УстановитьURLРепозиторияОтправки(URLРепозитория); - НастройкаОтправить.ОтображатьПрогресс(); - НастройкаОтправить.ПерезаписатьИсторию(); - НастройкаОтправить.Отслеживать(); - НастройкаОтправить.ПолнаяОтправка(); - - ГитРепозиторий.УстановитьНастройкуКомандыОтправить(НастройкаОтправить); - - ГитРепозиторий.Отправить(); -КонецПроцедуры - //я инициализирую связь "ПутьКаталогаИсходников" с внешним репозиторием "URLРепозитория" -Процедура ЯИнициализируюСвязьСВнешнимРепозиторием(Знач ПарамСтрока1, Знач ПарамСтрока2) Экспорт +Процедура ЯИнициализируюСвязьСВнешнимРепозиторием(Знач ПеременнаяПутьКаталогаИсходников, Знач ПеременнаяURLРепозитория) Экспорт ГитРепозиторий = БДД.ПолучитьИзКонтекста("ГитРепозиторий"); - URLРепозитория = БДД.ПолучитьИзКонтекста(ПарамСтрока2); - ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста(ПарамСтрока1); + URLРепозитория = БДД.ПолучитьИзКонтекста(ПеременнаяURLРепозитория); + ПутьКаталогаИсходников = БДД.ПолучитьИзКонтекста(ПеременнаяПутьКаталогаИсходников); ГитРепозиторий.УстановитьРабочийКаталог(ПутьКаталогаИсходников); ГитРепозиторий.Инициализировать();