|
452 | 452 |
|
453 | 453 | // Выполняет фиксацию изменений в локальном каталоге git
|
454 | 454 | //
|
455 |
| -Процедура ВыполнитьКоммитГит(Знач КаталогРабочейКопии, Знач Комментарий, Знач Автор, Знач Дата = Неопределено) Экспорт |
| 455 | +Процедура ВыполнитьКоммитГит(Знач КаталогРабочейКопии, Знач Комментарий, Знач Автор, Знач Дата = Неопределено, Знач НоваяМетка = "") Экспорт |
456 | 456 |
|
457 | 457 | Если Дата = Неопределено Тогда
|
458 | 458 | Дата = ТекущаяДата();
|
|
477 | 477 | ДатаДляГит);
|
478 | 478 | Лог.Отладка(СтрШаблон("Вывод команды Commit: %1", СокрЛП(ГитРепозиторий.ПолучитьВыводКоманды())));
|
479 | 479 |
|
| 480 | + Если ЗначениеЗаполнено(НоваяМетка) Тогда |
| 481 | + ПараметрыКоманды = Новый Массив; |
| 482 | + ПараметрыКоманды.Добавить("tag"); |
| 483 | + ПараметрыКоманды.Добавить(Строка(НоваяМетка)); |
| 484 | + |
| 485 | + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); |
| 486 | + |
| 487 | + КонецЕсли; |
| 488 | + |
480 | 489 | ЗавершитьПроцесс_TGitCache_exe();
|
481 | 490 |
|
482 | 491 | КонецПроцедуры
|
483 | 492 |
|
484 | 493 | // Cтандартная процедура git push
|
485 | 494 | //
|
486 |
| -Функция ВыполнитьGitPush(Знач ЛокальныйРепозиторий, Знач УдаленныйРепозиторий, Знач ИмяВетки = Неопределено) Экспорт |
| 495 | +Функция ВыполнитьGitPush(Знач ЛокальныйРепозиторий, Знач УдаленныйРепозиторий, Знач ИмяВетки = Неопределено, Знач ОтправитьМетки = Ложь) Экспорт |
487 | 496 |
|
488 | 497 | ГитРепозиторий = ПолучитьГитРепозиторий(ЛокальныйРепозиторий);
|
489 | 498 | // Оптимизация git
|
|
861 | 870 | Знач КоличествоКоммитовДоPush = 0,
|
862 | 871 | Знач URLРепозитория = Неопределено,
|
863 | 872 | Знач Лимит = 0,
|
864 |
| - Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь) Экспорт |
| 873 | + Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь, |
| 874 | + Знач ИмяВетки = Неопределено, |
| 875 | + Знач АвтоматическаяУстановкаТэговПоВерсиям = Ложь) Экспорт |
865 | 876 |
|
866 | 877 | Лог.Информация("Начало синхронизации с git");
|
867 | 878 | ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ФайлХранилища);
|
|
906 | 917 | ИспользоватьПромежуточныйPUSH = КоличествоКоммитовДоPush > 0;
|
907 | 918 | СчетчикКоммитов = 0;
|
908 | 919 |
|
| 920 | + СтрокаТекущейВерсии = ТаблицаИсторииХранилища.Найти(СледующаяВерсия, "НомерВерсии"); |
| 921 | + Если СтрокаТекущейВерсии <> Неопределено Тогда |
| 922 | + ПоследнняяВерсияКонфигурации = СтрокаТекущейВерсии.Тэг; |
| 923 | + КонецЕсли; |
| 924 | + |
909 | 925 | Пока СледующаяВерсия <= МаксимальнаяВерсияДляРазбора Цикл
|
910 | 926 |
|
911 | 927 | СтрокаВерсии = ТаблицаИсторииХранилища.Найти(СледующаяВерсия, "НомерВерсии");
|
|
920 | 936 | ВызватьИсключение СтрШаблон("Нашли следующую версию %1, а комментарий не задан! Автор %2.", СледующаяВерсия, СтрокаВерсии.Автор);;
|
921 | 937 | КонецЕсли;
|
922 | 938 |
|
| 939 | + НоваяМетка = ""; |
| 940 | + Если ПоследнняяВерсияКонфигурации <> СтрокаВерсии.Тэг |
| 941 | + И АвтоматическаяУстановкаТэговПоВерсиям Тогда |
| 942 | + ОтправитьНовыеМетки = Истина; |
| 943 | + НоваяМетка = СтрокаВерсии.Тэг; |
| 944 | + КонецЕсли; |
| 945 | + |
923 | 946 | Попытка
|
924 | 947 | Лог.Информация("Получаем исходники для версии " + СледующаяВерсия + ", " + ТекущаяДата());
|
925 | 948 |
|
926 | 949 | РазложитьМодулиПоНомеруВерсииХранилища1С(КаталогРабочейКопии, ФайлХранилища, СледующаяВерсия, Формат);
|
927 | 950 | Лог.Отладка("Фиксируем в файле VERSION версию " + СледующаяВерсия);
|
928 | 951 | ЗаписатьФайлВерсийГит(КаталогРабочейКопии, СледующаяВерсия);
|
929 |
| - ВыполнитьКоммитГит(КаталогРабочейКопии, СтрокаВерсии.Комментарий, СтрокаВерсии.ПредставлениеАвтора, СтрокаВерсии.Дата); |
| 952 | + ВыполнитьКоммитГит(КаталогРабочейКопии, СтрокаВерсии.Комментарий, СтрокаВерсии.ПредставлениеАвтора, СтрокаВерсии.Дата, НоваяМетка); |
930 | 953 | СчетчикКоммитов = СчетчикКоммитов + 1;
|
931 | 954 |
|
932 | 955 | Если ИспользоватьПромежуточныйPUSH И
|
933 | 956 | СчетчикКоммитов = КоличествоКоммитовДоPush Тогда
|
934 |
| - ВыполнитьGitPush(КаталогРабочейКопии, URLРепозитория); |
| 957 | + ВыполнитьGitPush(КаталогРабочейКопии, URLРепозитория, ИмяВетки, ОтправитьНовыеМетки); |
935 | 958 | СчетчикКоммитов = 0;
|
| 959 | + ОтправитьНовыеМетки = Ложь; |
936 | 960 | КонецЕсли;
|
937 | 961 |
|
938 | 962 |
|
|
0 commit comments