From 8d495120d96e86c744f5834d4e9c3ea6655d565a Mon Sep 17 00:00:00 2001 From: artkor83 Date: Fri, 22 Jul 2022 13:55:33 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=98=D0=BD=D1=82=D0=B5=D1=80=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=B8=D0=B2=D0=BD=D0=B0=D1=8F=20=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=B2=D0=BD=D0=B5=D1=88=D0=BD?= =?UTF-8?q?=D0=B8=D1=85=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2,=20=D1=81?= =?UTF-8?q?=D0=BC.=20Readme.md=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=20"=D0=98?= =?UTF-8?q?=D0=BD=D1=82=D0=B5=D1=80=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D0=B0"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 ++++++++++- ...20\276\320\274\320\274\320\270\321\202.os" | 22 +++++++++++++++++-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9613a20..9eb111f 100644 --- a/README.md +++ b/README.md @@ -27,10 +27,21 @@ Перед использованием необходима установка precommit-hook'а в репозиторий: - для выполнения установки в конкретный репозиторий необходимо выполнить команду `precommit4onec install repo_name` + - для выполнения установки во все репозитории каталога необходимо выполнить команду `precommit4onec install folder_reps -r` + - если каталог исходных файлов в репозитории отличается от стандартного "src" (например, когда исходные файлы в формате EDT), необходимо явно указать его с помощью дополнительного параметра `-source-dir "configuration"` -После этого, при каждом коммите будет выполняться обработка файлов. + После этого, при каждом коммите будет выполняться обработка файлов. + +###### **Интерактивная обработка**. + + Для обработки **измененных, но неиндексированных файлов epf erf cfe** можно воспользоваться командой вида + `oscript "C:\`Program` Files\OneScript\lib\precommit4onec\src\main.os" precommit ./ -source-dir "src" -interactive` + +Для использования режима интерактивной обработки установка precommit-hook'а в репозиторий не нужна. + + В комплекте присутствуют следующие сценарии обработки файлов: diff --git "a/src/\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\260\320\237\321\200\320\265\320\272\320\276\320\274\320\274\320\270\321\202.os" "b/src/\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\260\320\237\321\200\320\265\320\272\320\276\320\274\320\274\320\270\321\202.os" index 67852de..c25eba3 100644 --- "a/src/\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\260\320\237\321\200\320\265\320\272\320\276\320\274\320\274\320\270\321\202.os" +++ "b/src/\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\260\320\237\321\200\320\265\320\272\320\276\320\274\320\274\320\270\321\202.os" @@ -10,6 +10,7 @@ Перем Лог; Перем РепозиторийGit; +Перем ЭтоИнтерактив; /////////////////////////////////////////////////////////////////////////////// @@ -19,6 +20,8 @@ Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "КаталогРепозитория", "Каталог анализируемого репозитория"); Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-source-dir", "Каталог расположения исходных файлов относительно корня репозитория. По умолчанию "); + Парсер.ДобавитьПараметрФлагКоманды(Команда, "-interactive", + "Признак интерактивного разбора неиндексированных файлов epf erf cfe"); КонецПроцедуры // НастроитьКоманду @@ -35,6 +38,7 @@ КаталогРепозитория = ПараметрыКоманды["КаталогРепозитория"]; КаталогИсходныхФайлов = ПараметрыКоманды["-source-dir"]; + ЭтоИнтерактив = ПараметрыКоманды["-interactive"]; Если НЕ ПроверитьПараметрыКоманды(КаталогРепозитория, Лог) Тогда @@ -185,7 +189,13 @@ Функция ПолучитьЖурналИзменений() ПараметрыКомандыGit = Новый Массив; - ПараметрыКомандыGit.Добавить("diff --name-status --staged --no-renames"); + + Если ЭтоИнтерактив Тогда + ПараметрыКомандыGit.Добавить("status -s -u "); + Иначе + ПараметрыКомандыGit.Добавить("diff --name-status --staged --no-renames"); + КонецЕсли; + РепозиторийGit.ВыполнитьКоманду(ПараметрыКомандыGit); РезультатВывода = РепозиторийGit.ПолучитьВыводКоманды(); СтрокиВывода = СтрРазделить(РезультатВывода, Символы.ПС); @@ -196,7 +206,15 @@ Лог.Отладка(" <%1>", СтрокаВывода); СтрокаВывода = СокрЛП(СтрокаВывода); - ПозицияПробела = СтрНайти(СтрокаВывода, Символы.Таб); + Если ЭтоИнтерактив Тогда + Если СтрНайти(СтрокаВывода, " -> ") = 0 Тогда + ПозицияПробела = 2; + Иначе + ПозицияПробела = СтрНайти(СтрокаВывода, " -> ") + 3; + КонецЕсли; + Иначе + ПозицияПробела = СтрНайти(СтрокаВывода, Символы.Таб); + КонецЕсли; СимволИзменения = Лев(СтрокаВывода, 1); ТипИзменения = ВариантИзмененийФайловGit.ОпределитьВариантИзменения(СимволИзменения); From 9c99a886ece06e982ab84f1f63197749d2ee3be6 Mon Sep 17 00:00:00 2001 From: artkor83 Date: Fri, 22 Jul 2022 14:57:07 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=BE=D0=BC=D0=B0=D1=80=D0=BE=D0=BA=20=D0=B2=20?= =?UTF-8?q?readme.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9eb111f..04874c9 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ ###### **Интерактивная обработка**. Для обработки **измененных, но неиндексированных файлов epf erf cfe** можно воспользоваться командой вида - `oscript "C:\`Program` Files\OneScript\lib\precommit4onec\src\main.os" precommit ./ -source-dir "src" -interactive` + `oscript "C:\Program Files\OneScript\lib\precommit4onec\src\main.os" precommit ./ -source-dir "src" -interactive` Для использования режима интерактивной обработки установка precommit-hook'а в репозиторий не нужна. From 60db77812ef66ff7112e63a017612f9828a51e27 Mon Sep 17 00:00:00 2001 From: artkor83 Date: Fri, 22 Jul 2022 16:17:28 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=203=20=D0=B0=D1=80=D0=B3=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=B0=D1=80=D1=81=D0=B5=D1=80=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2,?= =?UTF-8?q?=20=D0=B8=D0=BD=D0=B0=D1=87=D0=B5=20=D0=B2=D1=8B=D0=B4=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=BD=D0=BE=D0=B9=20=D0=91=D0=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\265\320\272\320\276\320\274\320\274\320\270\321\202.os" | 6 ++++++ 1 file changed, 6 insertions(+) diff --git "a/src/\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\260\320\237\321\200\320\265\320\272\320\276\320\274\320\274\320\270\321\202.os" "b/src/\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\260\320\237\321\200\320\265\320\272\320\276\320\274\320\274\320\270\321\202.os" index c25eba3..9fe7b73 100644 --- "a/src/\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\260\320\237\321\200\320\265\320\272\320\276\320\274\320\274\320\270\321\202.os" +++ "b/src/\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\260\320\237\321\200\320\265\320\272\320\276\320\274\320\274\320\270\321\202.os" @@ -20,6 +20,12 @@ Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "КаталогРепозитория", "Каталог анализируемого репозитория"); Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-source-dir", "Каталог расположения исходных файлов относительно корня репозитория. По умолчанию "); + Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-ibconnection", + "Опционально: соединение с базой данных 1С вида /SИмяСервера\ИмяБазы"); + Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-u", + "Опционально: логин базы данных 1С"); + Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-p", + "Опционально: пароль базы данных 1С"); Парсер.ДобавитьПараметрФлагКоманды(Команда, "-interactive", "Признак интерактивного разбора неиндексированных файлов epf erf cfe");