From 7038df02b7df9708ff1c60a28e636368550b3a98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=84=D0=B2=D0=B3=D0=B5=D0=BD=20=D0=A1=D0=BE=D1=81=D0=BD?= =?UTF-8?q?=D0=B0?= Date: Wed, 8 Nov 2017 20:27:40 +0200 Subject: [PATCH 1/8] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=B2=D1=8B=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D1=83=20=D1=81=20?= =?UTF-8?q?=D1=83=D1=87=D0=B5=D1=82=D0=BE=D0=BC=20increment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + packagedef | 2 +- ...\320\260\320\275\320\264\320\260Export.os" | 5 +- ...20\267\320\260\321\206\320\270\320\270.os" | 80 ++++++++++++++----- 4 files changed, 68 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index 3a02f906..30a04000 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ exec\.log bdd-log\.xml *.ospx +oscript_modules/ diff --git a/packagedef b/packagedef index f922905a..31ad7f14 100644 --- a/packagedef +++ b/packagedef @@ -8,7 +8,7 @@ .ЗависитОт("cmdline", "0.4.1") .ЗависитОт("tempfiles") .ЗависитОт("tool1cd", "0.4") - .ЗависитОт("v8runner", "0.7.0") + .ЗависитОт("v8runner") .ЗависитОт("gitrunner", "1.1.0") .ЗависитОт("strings") .ЗависитОт("1commands", "1.1.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 2bb48b9c..da426712 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" @@ -32,6 +32,7 @@ Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-amount-look-for-license", "<число> количество повторов получения лицензии (попытка подключения каждые 10 сек), 0 - без ограничений"); Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); + Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-increment", "Частичная выгрузка конфигурации"); Парсер.ДобавитьКоманду(ОписаниеКоманды); @@ -49,6 +50,7 @@ ПроверитьАвторовХранилища = ПараметрыКоманды["-check-authors"]; ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"]; АвтоматическаяУстановкаТэговПоВерсиям = ПараметрыКоманды["-auto-set-tags"]; + ТолькоИзменения = ПараметрыКоманды["-increment"]; Если ЛокальныйКаталогГит = Неопределено Тогда @@ -119,7 +121,8 @@ ПрерватьВыполнениеБезКомментарияКВерсии, , АвтоматическаяУстановкаТэговПоВерсиям, - ПроверитьАвторовХранилища); + ПроверитьАвторовХранилища, + ТолькоИзменения); ДополнительныеПараметры.Лог.Информация("Выгрузка завершена"); Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 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 7b2dba51..8dbbe7f1 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" @@ -32,6 +32,7 @@ Перем ДоменПочтыДляGitПоУмолчанию Экспорт; Перем ВерсияПлатформы Экспорт; Перем ПереименовыватьФайлМодуляОбычнойФормы Экспорт; +Перем ТолькоИзменения Экспорт; // Выполняет выгрузку конфигурации в файлы // и распределение файлов по каталогам согласно иерархии метаданных. @@ -49,9 +50,26 @@ СоздатьКаталог(ВыходнойКаталог); КонецЕсли; + КаталогВыгрузки = ?(ТолькоИзменения, ВыходнойКаталог, КаталогПлоскойВыгрузки); Попытка - ВыгрузитьМодулиКонфигурации(ФайлКонфигурации, КаталогПлоскойВыгрузки, Формат); - РазложитьМодули1СПоПапкамСогласноИерархииМетаданных(КаталогПлоскойВыгрузки, ВыходнойКаталог, Формат); + ВыгрузитьМодулиКонфигурации(ФайлКонфигурации, КаталогВыгрузки, Формат); + Если НЕ ТолькоИзменения Тогда + РазложитьМодули1СПоПапкамСогласноИерархииМетаданных(КаталогПлоскойВыгрузки, ВыходнойКаталог, Формат); + Иначе + МассивФайлов = НайтиФайлы(КаталогВыгрузки, "*.bin", Истина); + Для каждого Файл из МассивФайлов Цикл + Если Нрег(Прав(Файл.ПолноеИмя, 5)) = ".form" Или Нрег(Файл.Имя) = "form.bin" Тогда + КаталогФормы = ОбъединитьПути(Файл.Путь, Файл.ИмяБезРасширения); + СоздатьКаталог(КаталогФормы); + РаспаковатьКонтейнерМетаданных(Файл.ПолноеИмя, КаталогФормы); + КонецЕсли; + КонецЦикла; + + Если Новый Файл(ОбъединитьПути(КаталогВыгрузки, "renames.txt")).Существует() Тогда + УдалитьВременныеФайлыПриНеобходимости(ОбъединитьПути(КаталогВыгрузки, "renames.txt")); + КонецЕсли; + + КонецЕсли; Исключение УдалитьВременныеФайлыПриНеобходимости(КаталогПлоскойВыгрузки); ВызватьИсключение; @@ -63,7 +81,7 @@ // Выполняет штатную выгрузку конфигурации в файлы (средствами платформы 8.3) // -Процедура ВыгрузитьМодулиКонфигурации(Знач ФайлКонфигурации, Знач КаталогПлоскойВыгрузки, Знач Формат) Экспорт +Процедура ВыгрузитьМодулиКонфигурации(Знач ФайлКонфигурации, Знач КаталогПлоскойВыгрузки, Знач Формат, Знач ТолькоИзменения) Экспорт Конфигуратор = ПолучитьМенеджерКонфигуратора(); Если ВерсияПлатформы <> Неопределено Тогда @@ -115,18 +133,36 @@ СоздатьКаталог(КаталогПлоскойВыгрузки); КонецЕсли; - МассивФайлов = НайтиФайлы(КаталогПлоскойВыгрузки, ПолучитьМаскуВсеФайлы()); - Если МассивФайлов.Количество() <> 0 Тогда - ВызватьИсключение "В каталоге <"+КаталогПлоскойВыгрузки+"> не должно быть файлов"; - КонецЕсли; + Если НЕ ТолькоИзменения Тогда + МассивФайлов = НайтиФайлы(КаталогПлоскойВыгрузки, ПолучитьМаскуВсеФайлы()); + Если МассивФайлов.Количество() <> 0 Тогда + ВызватьИсключение "В каталоге <"+КаталогПлоскойВыгрузки+"> не должно быть файлов"; + КонецЕсли; - ПараметрыЗапуска = Конфигуратор.ПолучитьПараметрыЗапуска(); - ПараметрыЗапуска.Добавить("/Visible"); - ПараметрДампаКонфигурации = СтрШаблон("/DumpConfigToFiles ""%1"" -format %2", КаталогПлоскойВыгрузки, ТРег(Формат)); - ПараметрыЗапуска.Добавить(ПараметрДампаКонфигурации); + ПараметрыЗапуска = Конфигуратор.ПолучитьПараметрыЗапуска(); + ПараметрыЗапуска.Добавить("/Visible"); + ПараметрДампаКонфигурации = СтрШаблон("/DumpConfigToFiles ""%1"" -format %2", КаталогПлоскойВыгрузки, ТРег(Формат)); + ПараметрыЗапуска.Добавить(ПараметрДампаКонфигурации); + + ВыполнитьКомандуКонфигуратора(Конфигуратор, ПараметрыЗапуска); - ВыполнитьКомандуКонфигуратора(Конфигуратор, ПараметрыЗапуска); + Иначе + Попытка + Конфигуратор.ВыгрузитьКонфигурациюВФайлы(КаталогПлоскойВыгрузки, , ТолькоИзменения); + Исключение + + ОписаниеОшибки = ОписаниеОшибки(); + Если ПроверитьОписаниеОшибкиНаКритичность(ОписаниеОшибки) Тогда + УдалитьВременныеФайлыПриНеобходимости(Конфигуратор.КаталогСборки()); + ВызватьИсключение; + КонецЕсли; + КонецПопытки; + + УдалитьВременныеФайлыПриНеобходимости(Конфигуратор.КаталогСборки()); + + КонецЕсли; + КонецПроцедуры Функция ПолучитьМенеджерКонфигуратора() @@ -403,7 +439,7 @@ КонецПроцедуры -Процедура РаспаковатьКонтейнерМетаданных(Знач ФайлРаспаковки, Знач КаталогРаспаковки, Знач Переименования, Знач КорневойКаталог) +Процедура РаспаковатьКонтейнерМетаданных(Знач ФайлРаспаковки, Знач КаталогРаспаковки, Знач Переименования = Неопределено, Знач КорневойКаталог = Неопределено) dllРаспаковать(ФайлРаспаковки, КаталогРаспаковки); ВыполнитьСборкуМусора(); // см. камент к процедуре dllРаспаковать @@ -415,10 +451,11 @@ СтароеИмяФайла = ФайлМодуля.ПолноеИмя; НовоеИмяФайла = ОбъединитьПути(ФайлМодуля.Путь, "Module.bsl"); ПереместитьФайл(СтароеИмяФайла, НовоеИмяФайла); - ДобавитьПереименование(Переименования, - СтрЗаменить(СтароеИмяФайла, КорневойКаталог, ""), - СтрЗаменить(НовоеИмяФайла, КорневойКаталог, "")); - + Если Переименования <> Неопределено Тогда + ДобавитьПереименование(Переименования, + СтрЗаменить(СтароеИмяФайла, КорневойКаталог, ""), + СтрЗаменить(НовоеИмяФайла, КорневойКаталог, "")); + КонецЕсли; КонецЦикла; КонецЕсли; @@ -911,7 +948,8 @@ Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь, Знач ИмяВетки = Неопределено, Знач АвтоматическаяУстановкаТэговПоВерсиям = Ложь, - Знач ПроверитьАвторовХранилища = Ложь) Экспорт + Знач ПроверитьАвторовХранилища = Ложь, + Знач ТолькоИзменения = Ложь) Экспорт Лог.Информация("Начало синхронизации с git"); ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ФайлХранилища); @@ -921,6 +959,7 @@ Лог.Информация("Номер синхронизированной версии: " + ТекущаяВерсия); СледующаяВерсия = ТекущаяВерсия + 1; + УстановитьРежимТолькоОбновленияФайлов(ТолькоИзменения) Если НачальнаяВерсия > 0 Тогда СледующаяВерсия = Макс(НачальнаяВерсия, СледующаяВерсия); КонецЕсли; @@ -1421,6 +1460,10 @@ Возврат КоличествоЦикловОжиданияЛицензииПоУмолчанию; КонецФункции +Функция УстановитьРежимТолькоОбновленияФайлов(Значение) Экспорт + ТолькоИзменения = Значение; +КонецФункции + ////////////////////////////////////////////////////////////////////////////////////////////// СистемнаяИнформация = Новый СистемнаяИнформация; @@ -1431,3 +1474,4 @@ ДоменПочтыДляGitПоУмолчанию = "localhost"; УдалятьВременныеФайлы = Ложь; КоличествоЦикловОжиданияЛицензииПоУмолчанию = 1; +ТолькоИзменения = Ложь; \ No newline at end of file From 01b9e8ea207a95c9d7126494d4fe64a2f978375a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=84=D0=B2=D0=B3=D0=B5=D0=BD=20=D0=A1=D0=BE=D1=81=D0=BD?= =?UTF-8?q?=D0=B0?= Date: Wed, 8 Nov 2017 20:41:47 +0200 Subject: [PATCH 2/8] fix tests --- ...20\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 8dbbe7f1..fa063ef2 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" @@ -81,7 +81,7 @@ // Выполняет штатную выгрузку конфигурации в файлы (средствами платформы 8.3) // -Процедура ВыгрузитьМодулиКонфигурации(Знач ФайлКонфигурации, Знач КаталогПлоскойВыгрузки, Знач Формат, Знач ТолькоИзменения) Экспорт +Процедура ВыгрузитьМодулиКонфигурации(Знач ФайлКонфигурации, Знач КаталогПлоскойВыгрузки, Знач Формат) Экспорт Конфигуратор = ПолучитьМенеджерКонфигуратора(); Если ВерсияПлатформы <> Неопределено Тогда @@ -959,7 +959,7 @@ Лог.Информация("Номер синхронизированной версии: " + ТекущаяВерсия); СледующаяВерсия = ТекущаяВерсия + 1; - УстановитьРежимТолькоОбновленияФайлов(ТолькоИзменения) + УстановитьРежимТолькоОбновленияФайлов(ТолькоИзменения); Если НачальнаяВерсия > 0 Тогда СледующаяВерсия = Макс(НачальнаяВерсия, СледующаяВерсия); КонецЕсли; From 0a90b0a996984028ba544732acfa2c86b4b7e904 Mon Sep 17 00:00:00 2001 From: Evhen Sosna Date: Wed, 8 Nov 2017 15:04:03 -0500 Subject: [PATCH 3/8] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BD=D0=B0=D0=BB=D0=B8=D1=87=D0=B8=D0=B5=20Con?= =?UTF-8?q?figDumpInfo=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 5 +++-- ...\263\321\203\321\200\320\260\321\206\320\270\320\270.os" | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) 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 fa063ef2..c4e6d24e 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" @@ -147,9 +147,10 @@ ВыполнитьКомандуКонфигуратора(Конфигуратор, ПараметрыЗапуска); Иначе - + ТекущийФайлВерсийМетаданных = Новый Файл(ОбъединитьПути(КаталогПлоскойВыгрузки,"ConfigDumpInfo.xml")); + ТолькоИзмененияЕслиФайлЕсть = ?(ТекущийФайлВерсийМетаданных.Существует(), ТолькоИзменения, Ложь); Попытка - Конфигуратор.ВыгрузитьКонфигурациюВФайлы(КаталогПлоскойВыгрузки, , ТолькоИзменения); + Конфигуратор.ВыгрузитьКонфигурациюВФайлы(КаталогПлоскойВыгрузки, , ТолькоИзмененияЕслиФайлЕсть); Исключение ОписаниеОшибки = ОписаниеОшибки(); 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..5d321633 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" @@ -82,7 +82,8 @@ Знач ПрерватьВыполнениеБезКомментарияКВерсии, Знач ИмяВетки = Неопределено, Знач АвтоматическаяУстановкаТэговПоВерсиям, - Знач ПроверитьАвторовХранилища = Ложь) Экспорт + Знач ПроверитьАвторовХранилища = Ложь, + Знач ТолькоИзменения = Ложь) Экспорт ФайлБазыДанныхХранилища = ПолучитьПутьКБазеДанныхХранилища(ПутьКХранилищу); Распаковщик.СинхронизироватьХранилищеКонфигурацийСГит(ЛокальныйКаталогГит, @@ -96,7 +97,8 @@ ПрерватьВыполнениеБезКомментарияКВерсии, ИмяВетки, АвтоматическаяУстановкаТэговПоВерсиям, - ПроверитьАвторовХранилища); + ПроверитьАвторовХранилища, + ТолькоИзменения); КонецПроцедуры // ВыполнитьЭкспортИсходников From 2a107a3284475923e09aef86759dc3c14235651b Mon Sep 17 00:00:00 2001 From: Evhen Sosna Date: Wed, 8 Nov 2017 15:54:13 -0500 Subject: [PATCH 4/8] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 8 ++++---- ...4\320\260\320\275\320\264\320\260Export.os" | 4 ++-- ...320\267\320\260\321\206\320\270\320\270.os" | 18 +++++++++++------- ...321\200\320\260\321\206\320\270\320\270.os" | 4 ++-- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/packagedef b/packagedef index 31ad7f14..7976f66e 100644 --- a/packagedef +++ b/packagedef @@ -5,13 +5,13 @@ .Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта()) .ВерсияСреды("1.0.16") .ЗависитОт("logos") - .ЗависитОт("cmdline", "0.4.1") + .ЗависитОт("cmdline", "0.5.1") .ЗависитОт("tempfiles") .ЗависитОт("tool1cd", "0.4") - .ЗависитОт("v8runner") - .ЗависитОт("gitrunner", "1.1.0") + .ЗависитОт("v8runner", "0.11.2") + .ЗависитОт("gitrunner", "1.5.0") .ЗависитОт("strings") - .ЗависитОт("1commands", "1.1.1") + .ЗависитОт("1commands", "1.2.1") .ЗависитОт("v8unpack") .ВключитьФайл("src") .ВключитьФайл("tests") 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 da426712..f638fb01 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" @@ -50,7 +50,7 @@ ПроверитьАвторовХранилища = ПараметрыКоманды["-check-authors"]; ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"]; АвтоматическаяУстановкаТэговПоВерсиям = ПараметрыКоманды["-auto-set-tags"]; - ТолькоИзменения = ПараметрыКоманды["-increment"]; + ВыгружатьТолькоИзменения = ПараметрыКоманды["-increment"]; Если ЛокальныйКаталогГит = Неопределено Тогда @@ -122,7 +122,7 @@ , АвтоматическаяУстановкаТэговПоВерсиям, ПроверитьАвторовХранилища, - ТолькоИзменения); + ВыгружатьТолькоИзменения); ДополнительныеПараметры.Лог.Информация("Выгрузка завершена"); Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 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 c4e6d24e..4f76dbe1 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" @@ -58,7 +58,7 @@ Иначе МассивФайлов = НайтиФайлы(КаталогВыгрузки, "*.bin", Истина); Для каждого Файл из МассивФайлов Цикл - Если Нрег(Прав(Файл.ПолноеИмя, 5)) = ".form" Или Нрег(Файл.Имя) = "form.bin" Тогда + Если Нрег(Файл.Имя) = "form.bin" Тогда КаталогФормы = ОбъединитьПути(Файл.Путь, Файл.ИмяБезРасширения); СоздатьКаталог(КаталогФормы); РаспаковатьКонтейнерМетаданных(Файл.ПолноеИмя, КаталогФормы); @@ -288,7 +288,7 @@ КопироватьФайл(Файл.ПолноеИмя, НовыйФайл.ПолноеИмя); - Если Нрег(Прав(Файл.ПолноеИмя, 5)) = ".form" Или Нрег(Файл.Имя) = "form.bin" Тогда + Если Нрег(Файл.Имя) = "form.bin" Тогда КаталогФормы = ОбъединитьПути(НовыйКаталог.ПолноеИмя, НовыйФайл.ИмяБезРасширения); СоздатьКаталог(КаталогФормы); РаспаковатьКонтейнерМетаданных(НовыйФайл.ПолноеИмя, КаталогФормы, Переименования, ФайлВыгрузкиКаталог.ПолноеИмя + ПолучитьРазделительПути()); @@ -440,7 +440,7 @@ КонецПроцедуры -Процедура РаспаковатьКонтейнерМетаданных(Знач ФайлРаспаковки, Знач КаталогРаспаковки, Знач Переименования = Неопределено, Знач КорневойКаталог = Неопределено) +Процедура РаспаковатьКонтейнерМетаданных(Знач ФайлРаспаковки, Знач КаталогРаспаковки, Знач Переименования = "", Знач КорневойКаталог = "") dllРаспаковать(ФайлРаспаковки, КаталогРаспаковки); ВыполнитьСборкуМусора(); // см. камент к процедуре dllРаспаковать @@ -452,7 +452,11 @@ СтароеИмяФайла = ФайлМодуля.ПолноеИмя; НовоеИмяФайла = ОбъединитьПути(ФайлМодуля.Путь, "Module.bsl"); ПереместитьФайл(СтароеИмяФайла, НовоеИмяФайла); - Если Переименования <> Неопределено Тогда + Если НЕ ПустаяСтрока(Переименования) Тогда + Если ПустаяСтрока(КорневойКаталог) Тогда + ВызватьИсключение + "РаспаковатьКонтейнерМетаданных при заполненном Переименования ожидали и не пустое КорневойКаталог"; + КонецЕсли; ДобавитьПереименование(Переименования, СтрЗаменить(СтароеИмяФайла, КорневойКаталог, ""), СтрЗаменить(НовоеИмяФайла, КорневойКаталог, "")); @@ -950,7 +954,7 @@ Знач ИмяВетки = Неопределено, Знач АвтоматическаяУстановкаТэговПоВерсиям = Ложь, Знач ПроверитьАвторовХранилища = Ложь, - Знач ТолькоИзменения = Ложь) Экспорт + Знач ВыгружатьТолькоИзменения = Ложь) Экспорт Лог.Информация("Начало синхронизации с git"); ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ФайлХранилища); @@ -960,7 +964,7 @@ Лог.Информация("Номер синхронизированной версии: " + ТекущаяВерсия); СледующаяВерсия = ТекущаяВерсия + 1; - УстановитьРежимТолькоОбновленияФайлов(ТолькоИзменения); + УстановитьРежимТолькоОбновленияФайлов(ВыгружатьТолькоИзменения); Если НачальнаяВерсия > 0 Тогда СледующаяВерсия = Макс(НачальнаяВерсия, СледующаяВерсия); КонецЕсли; @@ -1475,4 +1479,4 @@ ДоменПочтыДляGitПоУмолчанию = "localhost"; УдалятьВременныеФайлы = Ложь; КоличествоЦикловОжиданияЛицензииПоУмолчанию = 1; -ТолькоИзменения = Ложь; \ No newline at end of file +ТолькоИзменения = Ложь; 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 5d321633..255e473f 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" @@ -83,7 +83,7 @@ Знач ИмяВетки = Неопределено, Знач АвтоматическаяУстановкаТэговПоВерсиям, Знач ПроверитьАвторовХранилища = Ложь, - Знач ТолькоИзменения = Ложь) Экспорт + Знач ВыгружатьТолькоИзменения = Ложь) Экспорт ФайлБазыДанныхХранилища = ПолучитьПутьКБазеДанныхХранилища(ПутьКХранилищу); Распаковщик.СинхронизироватьХранилищеКонфигурацийСГит(ЛокальныйКаталогГит, @@ -98,7 +98,7 @@ ИмяВетки, АвтоматическаяУстановкаТэговПоВерсиям, ПроверитьАвторовХранилища, - ТолькоИзменения); + ВыгружатьТолькоИзменения); КонецПроцедуры // ВыполнитьЭкспортИсходников From 680b551bfaf39357ca7fb647b68d64f2d38826d2 Mon Sep 17 00:00:00 2001 From: Evhen Sosna Date: Wed, 8 Nov 2017 15:55:36 -0500 Subject: [PATCH 5/8] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) 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 4f76dbe1..abd8f90a 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" @@ -964,7 +964,7 @@ Лог.Информация("Номер синхронизированной версии: " + ТекущаяВерсия); СледующаяВерсия = ТекущаяВерсия + 1; - УстановитьРежимТолькоОбновленияФайлов(ВыгружатьТолькоИзменения); + ТолькоИзменения = ВыгружатьТолькоИзменения; Если НачальнаяВерсия > 0 Тогда СледующаяВерсия = Макс(НачальнаяВерсия, СледующаяВерсия); КонецЕсли; @@ -1465,11 +1465,6 @@ Возврат КоличествоЦикловОжиданияЛицензииПоУмолчанию; КонецФункции -Функция УстановитьРежимТолькоОбновленияФайлов(Значение) Экспорт - ТолькоИзменения = Значение; -КонецФункции - - ////////////////////////////////////////////////////////////////////////////////////////////// СистемнаяИнформация = Новый СистемнаяИнформация; ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; From 6675f4bd516023720e2742795caca32118ed3825 Mon Sep 17 00:00:00 2001 From: Evhen Sosna Date: Wed, 8 Nov 2017 16:07:10 -0500 Subject: [PATCH 6/8] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=2013=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\276\320\274\320\260\320\275\320\264\320\260Export.os" | 4 ++-- ...20\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 4 +--- 2 files changed, 3 insertions(+), 5 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 f638fb01..15e7eca5 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" @@ -108,6 +108,7 @@ Распаковщик.ВерсияПлатформы = ПараметрыКоманды["-v8version"]; Распаковщик.ДоменПочтыДляGitПоУмолчанию = ПараметрыКоманды["-email"]; Распаковщик.ПереименовыватьФайлМодуляОбычнойФормы = ПереименовыватьФайлМодуляОбычнойФормы; + Распаковщик.ТолькоИзменения = ВыгружатьТолькоИзменения; ДополнительныеПараметры.Лог.Информация("Начинаю выгрузку исходников"); РаспаковщикКонфигурации.ВыполнитьЭкспортИсходников(Распаковщик, ПараметрыКоманды["ПутьКХранилищу"], @@ -121,8 +122,7 @@ ПрерватьВыполнениеБезКомментарияКВерсии, , АвтоматическаяУстановкаТэговПоВерсиям, - ПроверитьАвторовХранилища, - ВыгружатьТолькоИзменения); + ПроверитьАвторовХранилища); ДополнительныеПараметры.Лог.Информация("Выгрузка завершена"); Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; 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 abd8f90a..83c441c7 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" @@ -953,8 +953,7 @@ Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь, Знач ИмяВетки = Неопределено, Знач АвтоматическаяУстановкаТэговПоВерсиям = Ложь, - Знач ПроверитьАвторовХранилища = Ложь, - Знач ВыгружатьТолькоИзменения = Ложь) Экспорт + Знач ПроверитьАвторовХранилища = Ложь) Экспорт Лог.Информация("Начало синхронизации с git"); ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ФайлХранилища); @@ -964,7 +963,6 @@ Лог.Информация("Номер синхронизированной версии: " + ТекущаяВерсия); СледующаяВерсия = ТекущаяВерсия + 1; - ТолькоИзменения = ВыгружатьТолькоИзменения; Если НачальнаяВерсия > 0 Тогда СледующаяВерсия = Макс(НачальнаяВерсия, СледующаяВерсия); КонецЕсли; From 3b4b4f375ddccf5dadd0242f2878a6e55d23bc80 Mon Sep 17 00:00:00 2001 From: Evhen Sosna Date: Wed, 8 Nov 2017 16:10:50 -0500 Subject: [PATCH 7/8] =?UTF-8?q?=D0=A3=D0=B1=D0=B0=D0=BB=2013=20=D0=BF?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\263\321\203\321\200\320\260\321\206\320\270\320\270.os" | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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 255e473f..39592cb5 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" @@ -82,8 +82,7 @@ Знач ПрерватьВыполнениеБезКомментарияКВерсии, Знач ИмяВетки = Неопределено, Знач АвтоматическаяУстановкаТэговПоВерсиям, - Знач ПроверитьАвторовХранилища = Ложь, - Знач ВыгружатьТолькоИзменения = Ложь) Экспорт + Знач ПроверитьАвторовХранилища = Ложь) Экспорт ФайлБазыДанныхХранилища = ПолучитьПутьКБазеДанныхХранилища(ПутьКХранилищу); Распаковщик.СинхронизироватьХранилищеКонфигурацийСГит(ЛокальныйКаталогГит, @@ -97,8 +96,7 @@ ПрерватьВыполнениеБезКомментарияКВерсии, ИмяВетки, АвтоматическаяУстановкаТэговПоВерсиям, - ПроверитьАвторовХранилища, - ВыгружатьТолькоИзменения); + ПроверитьАвторовХранилища); КонецПроцедуры // ВыполнитьЭкспортИсходников From a8f64c07bedc3801117902f93baf4eb93547a245 Mon Sep 17 00:00:00 2001 From: Evhen Sosna Date: Wed, 8 Nov 2017 16:40:38 -0500 Subject: [PATCH 8/8] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8?= =?UTF-8?q?=D0=BC=D0=BE=D1=81=D1=82=D0=B5=D0=B9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 3 ++- ...320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packagedef b/packagedef index 7976f66e..b7cfd7a8 100644 --- a/packagedef +++ b/packagedef @@ -5,7 +5,7 @@ .Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта()) .ВерсияСреды("1.0.16") .ЗависитОт("logos") - .ЗависитОт("cmdline", "0.5.1") + .ЗависитОт("cmdline", "0.6.1") .ЗависитОт("tempfiles") .ЗависитОт("tool1cd", "0.4") .ЗависитОт("v8runner", "0.11.2") @@ -13,6 +13,7 @@ .ЗависитОт("strings") .ЗависитОт("1commands", "1.2.1") .ЗависитОт("v8unpack") + .ЗависитОт("fs") .ВключитьФайл("src") .ВключитьФайл("tests") .ВключитьФайл("features") 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 83c441c7..7fd8af64 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" @@ -15,6 +15,7 @@ #Использовать 1commands #Использовать v8unpack #Использовать gitrunner +#Использовать fs Перем Лог; Перем мФайлПрограммыРаспаковки; @@ -61,6 +62,7 @@ Если Нрег(Файл.Имя) = "form.bin" Тогда КаталогФормы = ОбъединитьПути(Файл.Путь, Файл.ИмяБезРасширения); СоздатьКаталог(КаталогФормы); + ФС.ОбеспечитьПустойКаталог(КаталогФормы); РаспаковатьКонтейнерМетаданных(Файл.ПолноеИмя, КаталогФормы); КонецЕсли; КонецЦикла;