From 56b9c98476349a6f93eaf54413240c401a990dd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Fri, 9 Nov 2018 16:45:53 +0500 Subject: [PATCH 1/6] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B8=D1=81=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=B1=D0=B0=D0=B7=D0=B0=20=D0=B2=20=D1=85=D1=83?= =?UTF-8?q?=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Тесты --- ...1\202\320\276\321\200\320\270\320\271Git.feature" | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" index ca059ae..7268fc5 100644 --- "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" +++ "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" @@ -33,3 +33,15 @@ И В рабочем каталоге существует файл ".git/hooks/pre-commit" И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" + +Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы + Когда Я выполняю команду "git" с параметрами "config --local core.quotepath false" + И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********" + Тогда В рабочем каталоге существует каталог ".git/hooks" + И В рабочем каталоге существует каталог ".git/hooks/v8Reader" + И В рабочем каталоге существует каталог ".git/hooks/tools" + И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf" + И В рабочем каталоге существует файл ".git/hooks/pre-commit" + И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" + И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" + И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********" From 89fbbebd28ceb31c43ea8cf1b6127e87400b6458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Fri, 9 Nov 2018 16:46:16 +0500 Subject: [PATCH 2/6] =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B2=D0=B8=D1=81=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=B1=D0=B0=D0=B7=D0=B0=20=D0=B2=20=D1=85=D1=83?= =?UTF-8?q?=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавил установку пути к ИБ в хук и распаковку cfe в сервисной базе --- v8files-extractor.os | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index 9907fff..f1274c7 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -329,8 +329,12 @@ Лог.Отладка("Запускаем распаковку файла расширения"); Конфигуратор = Новый УправлениеКонфигуратором(); - КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); - Конфигуратор.КаталогСборки(КаталогВременнойИБ); + Если КонтекстКонфигуратора = Неопределено Тогда + КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); + Конфигуратор.КаталогСборки(КаталогВременнойИБ); + Иначе + Конфигуратор.ИспользоватьКонтекст(КонтекстКонфигуратора); + КонецЕсли; УстановитьУровеньЛогаКонфигуратораРавнымУровнюПродукта(); @@ -422,6 +426,10 @@ КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "v8Reader"); КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "v8files-extractor.os"); КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "tools"); + + Если НЕ КонтекстКонфигуратора = Неопределено Тогда + ДополнитьФайлХукаДаннымиПодключения(КаталогХуков); + КонецЕсли; ЗапуститьПриложение("git config --local core.quotepath false", Каталог, Истина); ЗапуститьПриложение("git config --local core.longpaths true", Каталог, Истина); @@ -430,6 +438,29 @@ КонецПроцедуры +Процедура ДополнитьФайлХукаДаннымиПодключения(КаталогХуков) + СтрокаПараметровПодключения = СтрШаблон("--ib-connection-string %1", КонтекстКонфигуратора.КлючСоединенияСБазой); + Если ЗначениеЗаполнено(КонтекстКонфигуратора.ИмяПользователя) Тогда + СтрокаПараметровПодключения = СтрШаблон("%1 --ib-user %2", СтрокаПараметровПодключения, КонтекстКонфигуратора.ИмяПользователя); + КонецЕсли; + Если ЗначениеЗаполнено(КонтекстКонфигуратора.Пароль) Тогда + СтрокаПараметровПодключения = СтрШаблон("%1 --ib-pwd %2", СтрокаПараметровПодключения, КонтекстКонфигуратора.Пароль); + КонецЕсли; + СтрокаПоиска = "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src"; + СтрокаЗамены = СтрШаблон("%1 %2", СтрокаПоиска, СтрокаПараметровПодключения); + ЗаменитьСтрокуВФайле(ОбъединитьПути(КаталогХуков, "pre-commit"), СтрокаПоиска, СтрокаЗамены) +КонецПроцедуры + +Процедура ЗаменитьСтрокуВФайле(Знач ПутьФайла, Знач СтрокаПоиска, Знач СтрокаЗамены) Экспорт + Чтение = Новый ЧтениеТекста(ПутьФайла, КодировкаТекста.UTF8NoBOM); + Текст = Чтение.Прочитать(); + Текст = СтрЗаменить(Текст, СтрокаПоиска, СтрокаЗамены); + Чтение.Закрыть(); + Запись = Новый ЗаписьТекста(ПутьФайла, КодировкаТекста.UTF8NoBOM); + Запись.Записать(Текст); + Запись.Закрыть(); +КонецПроцедуры + Процедура КопироватьВКаталог(Знач КаталогИсточник, Знач КаталогПриемник, Знач ОбъектКопирования) Лог.Информация("Копирую: " + ОбъектКопирования); From 7ed182d6a0bad1b660a0fa7666f3e062f454d8a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Fri, 9 Nov 2018 16:48:19 +0500 Subject: [PATCH 3/6] =?UTF-8?q?=D0=9F=D1=80=D0=B8=D0=B1=D1=80=D0=B0=D0=BB?= =?UTF-8?q?=D1=81=D1=8F=20=D0=B2=20=D1=81=D0=B0=D0=BC=D0=BE=D0=BC=20=D1=85?= =?UTF-8?q?=D1=83=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pre-commit | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pre-commit b/pre-commit index 8bb2bd3..3bd0f7f 100644 --- a/pre-commit +++ b/pre-commit @@ -1,4 +1,3 @@ #!/bin/sh -echo "Start hooks before commit for v8unpack erf and epf" -#python.exe .git/hooks/pyv8unpack.py --g --index +echo "Start hooks before commit to unpack erf, epf and cfe" oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src From d7ab644c1d17077176815085bdbe88e297c550d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Wed, 14 Nov 2018 09:56:15 +0500 Subject: [PATCH 4/6] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83=20=D1=81?= =?UTF-8?q?=D1=83=D1=89=D0=B5=D1=81=D1=82=D0=B2=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index f1274c7..22159cc 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -454,11 +454,15 @@ Процедура ЗаменитьСтрокуВФайле(Знач ПутьФайла, Знач СтрокаПоиска, Знач СтрокаЗамены) Экспорт Чтение = Новый ЧтениеТекста(ПутьФайла, КодировкаТекста.UTF8NoBOM); Текст = Чтение.Прочитать(); - Текст = СтрЗаменить(Текст, СтрокаПоиска, СтрокаЗамены); Чтение.Закрыть(); - Запись = Новый ЗаписьТекста(ПутьФайла, КодировкаТекста.UTF8NoBOM); - Запись.Записать(Текст); - Запись.Закрыть(); + Если СтрНайти(Текст, "--ib-connection-string") = 0 Тогда + Текст = СтрЗаменить(Текст, СтрокаПоиска, СтрокаЗамены); + Запись = Новый ЗаписьТекста(ПутьФайла, КодировкаТекста.UTF8NoBOM); + Запись.Записать(Текст); + Запись.Закрыть(); + Иначе + Лог.Информация("В хуке уже прописана сервисная база!"); + КонецЕсли; КонецПроцедуры Процедура КопироватьВКаталог(Знач КаталогИсточник, Знач КаталогПриемник, Знач ОбъектКопирования) From b8de552a1fdbe585ae32feeb08de7662bbc12ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Wed, 14 Nov 2018 10:43:31 +0500 Subject: [PATCH 5/6] =?UTF-8?q?=D0=9F=D1=80=D0=B5=D0=B4=D1=83=D0=BF=D1=80?= =?UTF-8?q?=D0=B5=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=BC=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=BE=20=D0=98=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index 22159cc..eaf0dd9 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -461,7 +461,7 @@ Запись.Записать(Текст); Запись.Закрыть(); Иначе - Лог.Информация("В хуке уже прописана сервисная база!"); + Лог.Предупреждение("В хуке уже прописана сервисная база!"); КонецЕсли; КонецПроцедуры From 213b20d5122811557cd06eeeb1dc2de27df9bbad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Fri, 16 Nov 2018 16:38:16 +0500 Subject: [PATCH 6/6] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8C=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D1=82=D1=8C=20--use-des?= =?UTF-8?q?igner=20=D0=BF=D1=80=D0=B8=20=D1=83=D1=81=D1=82=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\276\321\200\320\270\320\271Git.feature" | 12 +++++++++++ v8files-extractor.os | 21 +++++++++++-------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" index 7268fc5..e6faa96 100644 --- "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" +++ "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" @@ -45,3 +45,15 @@ И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********" + +Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы и использованием конфигуратора + Когда Я выполняю команду "git" с параметрами "config --local core.quotepath false" + И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********" + Тогда В рабочем каталоге существует каталог ".git/hooks" + И В рабочем каталоге существует каталог ".git/hooks/v8Reader" + И В рабочем каталоге существует каталог ".git/hooks/tools" + И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf" + И В рабочем каталоге существует файл ".git/hooks/pre-commit" + И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" + И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" + И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********" diff --git a/v8files-extractor.os b/v8files-extractor.os index eaf0dd9..679b108 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -427,7 +427,7 @@ КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "v8files-extractor.os"); КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "tools"); - Если НЕ КонтекстКонфигуратора = Неопределено Тогда + Если ИспользоватьКонфигуратор Или НЕ КонтекстКонфигуратора = Неопределено Тогда ДополнитьФайлХукаДаннымиПодключения(КаталогХуков); КонецЕсли; @@ -439,18 +439,21 @@ КонецПроцедуры Процедура ДополнитьФайлХукаДаннымиПодключения(КаталогХуков) - СтрокаПараметровПодключения = СтрШаблон("--ib-connection-string %1", КонтекстКонфигуратора.КлючСоединенияСБазой); - Если ЗначениеЗаполнено(КонтекстКонфигуратора.ИмяПользователя) Тогда - СтрокаПараметровПодключения = СтрШаблон("%1 --ib-user %2", СтрокаПараметровПодключения, КонтекстКонфигуратора.ИмяПользователя); - КонецЕсли; - Если ЗначениеЗаполнено(КонтекстКонфигуратора.Пароль) Тогда - СтрокаПараметровПодключения = СтрШаблон("%1 --ib-pwd %2", СтрокаПараметровПодключения, КонтекстКонфигуратора.Пароль); - КонецЕсли; + СтрокаПараметровПодключения = ?(ИспользоватьКонфигуратор, " --use-designer", ""); + ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.КлючСоединенияСБазой, "--ib-connection-string"); + ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.ИмяПользователя, "--ib-user"); + ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.Пароль, "--ib-pwd"); СтрокаПоиска = "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src"; - СтрокаЗамены = СтрШаблон("%1 %2", СтрокаПоиска, СтрокаПараметровПодключения); + СтрокаЗамены = СтрШаблон("%1%2", СтрокаПоиска, СтрокаПараметровПодключения); ЗаменитьСтрокуВФайле(ОбъединитьПути(КаталогХуков, "pre-commit"), СтрокаПоиска, СтрокаЗамены) КонецПроцедуры +Процедура ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, Знач ЗначениеПараметра, Знач ИмяПараметра) + Если ЗначениеЗаполнено(ЗначениеПараметра) Тогда + СтрокаПараметровПодключения = СтрШаблон("%1 %2 %3", СтрокаПараметровПодключения, ИмяПараметра, ЗначениеПараметра); + КонецЕсли; +КонецПроцедуры + Процедура ЗаменитьСтрокуВФайле(Знач ПутьФайла, Знач СтрокаПоиска, Знач СтрокаЗамены) Экспорт Чтение = Новый ЧтениеТекста(ПутьФайла, КодировкаТекста.UTF8NoBOM); Текст = Чтение.Прочитать();