|
661 | 661 |
|
662 | 662 | // Прописывает в таблицы пользователей и версий информацию о git auth вида user <user@email.com> |
663 | 663 | // |
664 | | -Процедура ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(Знач ТаблицаХранилища, Знач КаталогРепо) Экспорт |
| 664 | +Процедура ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(Знач ТаблицаХранилища, Знач КаталогРепо, Знач ПроверитьАвторовХранилища = Ложь) Экспорт |
665 | 665 |
|
666 | 666 | ПутьКФайлуСопоставления = ОбъединитьПути(КаталогРепо, ИмяФайлаАвторов()); |
667 | 667 | ТаблицаСопоставления = ПрочитатьФайлАвторовГитВТаблицуПользователей(ПутьКФайлуСопоставления); |
668 | | - |
| 668 | + МассивСообщенийОбОшибочныхАвторах = Новый Массив; |
669 | 669 | Для Каждого Строка Из ТаблицаХранилища Цикл |
670 | 670 |
|
671 | 671 | СтрокаПользователя = ТаблицаСопоставления.Найти(строка.Автор, "Автор"); |
672 | 672 | Если СтрокаПользователя = Неопределено Тогда |
673 | | - СтрокаСообщения = "Пользователю хранилища <%1> не сопоставлен пользователь git. Использую сопоставление по умолчанию"; |
674 | | - Лог.Отладка(СтроковыеФункции.ПодставитьПараметрыВСтроку(СтрокаСообщения, строка.Автор)); |
| 673 | + |
| 674 | + СтрокаСообщения = СтрШаблон("Пользователю хранилища <%1> не сопоставлен пользователь git.",строка.Автор); |
| 675 | + Если ПроверитьАвторовХранилища Тогда |
| 676 | + МассивСообщенийОбОшибочныхАвторах.Добавить(СтрокаСообщения); |
| 677 | + КонецЕсли; |
| 678 | + Лог.Отладка(СтрокаСообщения + " Использую сопоставление по умолчанию"); |
675 | 679 | ПредставлениеАвтора = СтроковыеФункции.ПодставитьПараметрыВСтроку("%1 <%1@%2>", строка.Автор, Строка(ДоменПочтыДляGit())); |
676 | 680 | Иначе |
677 | 681 | ПредставлениеАвтора = строкаПользователя.ПредставлениеАвтора; |
|
681 | 685 |
|
682 | 686 | КонецЦикла; |
683 | 687 |
|
| 688 | + Если МассивСообщенийОбОшибочныхАвторах.Количество() > 1 Тогда |
| 689 | + Для каждого СообщениеМассива Из МассивСообщенийОбОшибочныхАвторах Цикл |
| 690 | + Лог.КритическаяОшибка(СообщениеМассива); |
| 691 | + КонецЦикла; |
| 692 | + |
| 693 | + ВызватьИсключение СтрШаблон("В таблице истории версий найдены авторы (количество %1), которые не сопоставлены в AUTHORS",МассивСообщенийОбОшибочныхАвторах.Количество()); |
| 694 | + |
| 695 | + КонецЕсли; |
| 696 | + |
684 | 697 | КонецПроцедуры |
685 | 698 |
|
686 | 699 | Функция КонвертироватьТаблицуВерсийИзФорматаБД(Знач ТаблицаБД) |
|
910 | 923 | Знач Формат = Неопределено, |
911 | 924 | Знач КоличествоКоммитовДоPush = 0, |
912 | 925 | Знач URLРепозитория = Неопределено, |
913 | | - Знач Лимит = 0 |
| 926 | + Знач Лимит = 0, |
| 927 | + Знач ПроверитьАвторовХранилища = Ложь |
914 | 928 | ) Экспорт |
915 | 929 |
|
916 | 930 | Лог.Информация("Начало синхронизации с git"); |
917 | 931 | ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ФайлХранилища); |
918 | | - ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(ТаблицаИсторииХранилища, КаталогРабочейКопии); |
| 932 | + ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(ТаблицаИсторииХранилища, КаталогРабочейКопии, ПроверитьАвторовХранилища); |
919 | 933 | ТекущаяВерсия = НомерСинхронизированнойВерсии(КаталогРабочейКопии); |
920 | 934 |
|
921 | 935 | Лог.Информация("Номер синхронизированной версии: " + ТекущаяВерсия); |
|
0 commit comments