-
Notifications
You must be signed in to change notification settings - Fork 93
Функциональность установки меток (tags) при изменении версии конфигурации в хранилище #68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
6a515d2
918dbf2
8319599
3a22495
0d1f837
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,6 +31,7 @@ | |
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-amount-look-for-license", "<число> количество повторов получения лицензии (попытка подключения каждые 10 сек), 0 - без ограничений"); | ||
Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl"); | ||
Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); | ||
Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); | ||
|
||
Парсер.ДобавитьКоманду(ОписаниеКоманды); | ||
|
||
|
@@ -48,7 +49,9 @@ | |
Парсер.ДобавитьИменованныйПараметр("-tempdir", "<Путь к каталогу временных файлов>"); | ||
Парсер.ДобавитьИменованныйПараметр("-push-every-n-commits", "<число> количество коммитов до промежуточной отправки на удаленный сервер"); | ||
Парсер.ДобавитьПараметрФлаг ("-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl"); | ||
Парсер.ДобавитьПараметрФлаг ("-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); | ||
|
||
Парсер.ДобавитьПараметрФлагКоманды("-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); | ||
Парсер.ДобавитьПараметрФлагКоманды("-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); | ||
|
||
КонецПроцедуры // ЗарегистрироватьКоманду | ||
|
||
|
@@ -70,6 +73,7 @@ | |
КоличествоКоммитовДоPush = ПараметрыКоманды["-push-every-n-commits"]; | ||
ПереименовыватьФайлМодуляОбычнойФормы = ПараметрыКоманды["-process-fatform-modules"]; | ||
ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"]; | ||
АвтоматическаяУстановкаТэговПоВерсиям = ПараметрыКоманды["-auto-set-tags"]; | ||
|
||
Если НачальнаяВерсия = Неопределено Тогда | ||
|
||
|
@@ -101,6 +105,12 @@ | |
|
||
КонецЕсли; | ||
|
||
Если АвтоматическаяУстановкаТэговПоВерсиям = Неопределено Тогда | ||
|
||
АвтоматическаяУстановкаТэговПоВерсиям = Ложь; | ||
|
||
КонецЕсли; | ||
|
||
НачальнаяВерсия = Число(НачальнаяВерсия); | ||
КонечнаяВерсия = Число(КонечнаяВерсия); | ||
Лимит = Число(Лимит); | ||
|
@@ -159,10 +169,12 @@ | |
КоличествоКоммитовДоPush, | ||
URLРепозитория, | ||
Лимит, | ||
ПрерватьВыполнениеБезКомментарияКВерсии); | ||
ПрерватьВыполнениеБезКомментарияКВерсии, | ||
ИмяВетки, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. И здесь передается новый параметр ИмяВетки ! |
||
АвтоматическаяУстановкаТэговПоВерсиям); | ||
|
||
Лог.Информация("Отправка изменений на удаленный узел"); | ||
КодВозврата = Распаковщик.ВыполнитьGitPush(ЛокальныйКаталогГит, URLРепозитория, ИмяВетки); | ||
КодВозврата = Распаковщик.ВыполнитьGitPush(ЛокальныйКаталогГит, URLРепозитория, ИмяВетки, АвтоматическаяУстановкаТэговПоВерсиям); | ||
Если КодВозврата <> 0 Тогда | ||
ВызватьИсключение "Не удалось отправить изменения на удаленный узел (код: " + КодВозврата + ")"; | ||
КонецЕсли; | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -452,7 +452,7 @@ | |
|
||
// Выполняет фиксацию изменений в локальном каталоге git | ||
// | ||
Процедура ВыполнитьКоммитГит(Знач КаталогРабочейКопии, Знач Комментарий, Знач Автор, Знач Дата = Неопределено) Экспорт | ||
Процедура ВыполнитьКоммитГит(Знач КаталогРабочейКопии, Знач Комментарий, Знач Автор, Знач Дата = Неопределено, Знач НоваяМетка = "") Экспорт | ||
|
||
Если Дата = Неопределено Тогда | ||
Дата = ТекущаяДата(); | ||
|
@@ -477,13 +477,22 @@ | |
ДатаДляГит); | ||
Лог.Отладка(СтрШаблон("Вывод команды Commit: %1", СокрЛП(ГитРепозиторий.ПолучитьВыводКоманды()))); | ||
|
||
Если ЗначениеЗаполнено(НоваяМетка) Тогда | ||
ПараметрыКоманды = Новый Массив; | ||
ПараметрыКоманды.Добавить("tag"); | ||
ПараметрыКоманды.Добавить(Строка(НоваяМетка)); | ||
|
||
ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); | ||
|
||
КонецЕсли; | ||
|
||
ЗавершитьПроцесс_TGitCache_exe(); | ||
|
||
КонецПроцедуры | ||
|
||
// Cтандартная процедура git push | ||
// | ||
Функция ВыполнитьGitPush(Знач ЛокальныйРепозиторий, Знач УдаленныйРепозиторий, Знач ИмяВетки = Неопределено) Экспорт | ||
Функция ВыполнитьGitPush(Знач ЛокальныйРепозиторий, Знач УдаленныйРепозиторий, Знач ИмяВетки = Неопределено, Знач ОтправитьМетки = Ложь) Экспорт | ||
|
||
ГитРепозиторий = ПолучитьГитРепозиторий(ЛокальныйРепозиторий); | ||
// Оптимизация git | ||
|
@@ -861,7 +870,9 @@ | |
Знач КоличествоКоммитовДоPush = 0, | ||
Знач URLРепозитория = Неопределено, | ||
Знач Лимит = 0, | ||
Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь) Экспорт | ||
Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь, | ||
Знач ИмяВетки = Неопределено, | ||
Знач АвтоматическаяУстановкаТэговПоВерсиям = Ложь) Экспорт | ||
|
||
Лог.Информация("Начало синхронизации с git"); | ||
ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ФайлХранилища); | ||
|
@@ -906,6 +917,11 @@ | |
ИспользоватьПромежуточныйPUSH = КоличествоКоммитовДоPush > 0; | ||
СчетчикКоммитов = 0; | ||
|
||
СтрокаТекущейВерсии = ТаблицаИсторииХранилища.Найти(СледующаяВерсия, "НомерВерсии"); | ||
Если СтрокаТекущейВерсии <> Неопределено Тогда | ||
ПоследнняяВерсияКонфигурации = СтрокаТекущейВерсии.Тэг; | ||
КонецЕсли; | ||
|
||
Пока СледующаяВерсия <= МаксимальнаяВерсияДляРазбора Цикл | ||
|
||
СтрокаВерсии = ТаблицаИсторииХранилища.Найти(СледующаяВерсия, "НомерВерсии"); | ||
|
@@ -920,19 +936,27 @@ | |
ВызватьИсключение СтрШаблон("Нашли следующую версию %1, а комментарий не задан! Автор %2.", СледующаяВерсия, СтрокаВерсии.Автор);; | ||
КонецЕсли; | ||
|
||
НоваяМетка = ""; | ||
Если ПоследнняяВерсияКонфигурации <> СтрокаВерсии.Тэг | ||
И АвтоматическаяУстановкаТэговПоВерсиям Тогда | ||
ОтправитьНовыеМетки = Истина; | ||
НоваяМетка = СтрокаВерсии.Тэг; | ||
КонецЕсли; | ||
|
||
Попытка | ||
Лог.Информация("Получаем исходники для версии " + СледующаяВерсия + ", " + ТекущаяДата()); | ||
|
||
РазложитьМодулиПоНомеруВерсииХранилища1С(КаталогРабочейКопии, ФайлХранилища, СледующаяВерсия, Формат); | ||
Лог.Отладка("Фиксируем в файле VERSION версию " + СледующаяВерсия); | ||
ЗаписатьФайлВерсийГит(КаталогРабочейКопии, СледующаяВерсия); | ||
ВыполнитьКоммитГит(КаталогРабочейКопии, СтрокаВерсии.Комментарий, СтрокаВерсии.ПредставлениеАвтора, СтрокаВерсии.Дата); | ||
ВыполнитьКоммитГит(КаталогРабочейКопии, СтрокаВерсии.Комментарий, СтрокаВерсии.ПредставлениеАвтора, СтрокаВерсии.Дата, НоваяМетка); | ||
СчетчикКоммитов = СчетчикКоммитов + 1; | ||
|
||
Если ИспользоватьПромежуточныйPUSH И | ||
СчетчикКоммитов = КоличествоКоммитовДоPush Тогда | ||
ВыполнитьGitPush(КаталогРабочейКопии, URLРепозитория); | ||
ВыполнитьGitPush(КаталогРабочейКопии, URLРепозитория, ИмяВетки, ОтправитьНовыеМетки); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. И здесь передается новый параметр ИмяВетки ! |
||
СчетчикКоммитов = 0; | ||
ОтправитьНовыеМетки = Ложь; | ||
КонецЕсли; | ||
|
||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -79,7 +79,9 @@ | |
Знач КоличествоКоммитовДоPush = 0, | ||
Знач URLРепозитория = Неопределено, | ||
Знач Лимит = 0, | ||
Знач ПрерватьВыполнениеБезКомментарияКВерсии) Экспорт | ||
Знач ПрерватьВыполнениеБезКомментарияКВерсии, | ||
Знач ИмяВетки = Неопределено, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. И здесь передается новый параметр ИмяВетки ! |
||
Знач АвтоматическаяУстановкаТэговПоВерсиям) Экспорт | ||
|
||
ФайлБазыДанныхХранилища = ПолучитьПутьКБазеДанныхХранилища(ПутьКХранилищу); | ||
Распаковщик.СинхронизироватьХранилищеКонфигурацийСГит(ЛокальныйКаталогГит, | ||
|
@@ -90,7 +92,9 @@ | |
КоличествоКоммитовДоPush, | ||
URLРепозитория, | ||
Лимит, | ||
ПрерватьВыполнениеБезКомментарияКВерсии); | ||
ПрерватьВыполнениеБезКомментарияКВерсии, | ||
ИмяВетки, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. И здесь передается новый параметр ИмяВетки ! |
||
АвтоматическаяУстановкаТэговПоВерсиям); | ||
|
||
КонецПроцедуры // ВыполнитьЭкспортИсходников | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Что за новый параметр, передаваемый через запятую? Ветка?
в PR ничего об этом не сказано :(