====== Лог изменений модулей ====== Форма **"Лог изменений модулей"** открывается из главного меню программы кнопкой **"Лог изменений модулей"**.\\ Форма отображает разработчиков, которые внесли последние изменения файл проекта.\\ {{:pasted:20200418-092736.png}}\\ ==== Информационные поля ==== * **Количество записей в логе** - общее количество записей выгруженных в файл лога hg.log.\\ * **Количество записей в объекте** -количество записей в объекте меньше чем "Количество записей в логе" так, как иключаются повторные записи для модулей и исключаются файлы типа dfm.\\ * **Папка проекта Mercurial** - Папка проекта Mercurial из настройки **HGWrk** ==== Поля в таблице ==== * **Ревизия** - номер версии репозитория. * **Дата** - дата ревизии. * **Модуль** - наименование файла исправленного модуля относительно папки репозитория. * **Разработчик** - программист, который вносил изменения. * **E-MAIL** - E-MAIL программиста * **Ветка** - всегда **default** ==== Кнопки ==== * **Импорт лога изменений модулей** - повторно загружает значения в объект **LogHG**. ==== Импорт лога изменений модулей ==== * Выгрузка во временный файл лога изменений модулей hg.log. * Загрузка лога изменений модулей из временного файла hg.log в объект LogHG, который отображается на форме === Выгрузка в файл лога изменений модулей === Mercurial, он же Hg — система управления версиями. Консольная программа hg.exe позволяет выгружать отчеты в текстовый файл с различным содержанием. Нас интересует информация о том кто последний исправлял файл с предупреждением. Для этого создается и запускается командный файл **hglog.cmd** с командой\\ cd /D log -l 100000 -b default -T "{rev}:::{branch}:::{date(date,""%%d.%%m.%%Y"")}:::{author}:::{file_mods}\r\n" --pager false >hg.log где * **** - Папка проекта Mercurial, там где находится папка .hg, значение берется из настройки **"HGWrk"** * **** - Исполняемый файл Mercurial, значение берется из настройки **"HGExe"** * **c:\Program Files\TortoiseHg\hg.exe** - исполняемый файл Mercurial * **log** - операция - формировать отчет * **-l 10000** - выгружать 10000 строк * **-b default** - выгружать данные только по ветке default * **-T "{rev}:::{branch}:::{date(date,""% %d.% %m.% %Y"")}:::{author}:::{file_mods}\r\n"** - список полей для выгрузки * **--pager false** - не разбивать отчет на страницы * **d:\__hglog0.log** - файл с логом изменений **Пример hglog.cmd** cd /D E:\_Projects\Agbis.dxe\ "c:\Program Files\TortoiseHg\hg.exe" log -l 10000 -b default -T "{rev}:::{branch}:::{date(date,""%%d.%%m.%%Y"")}:::{author}:::{file_mods}\r\n" --pager false>E:\_Projects\AgbisTest\AT_DelphiWarnings\exe\hg.log В результате получается таблица вида\\ ... 10014:::default:::14.04.2020:::Нестеров Егор :::ForAll/BusinessLinks.pas Him/QuestionnaireSurvey.pas ... Поля отделяются друг от друга **":::"**. Рассмотрим третью строку:\\ - **10014** - номер ревизии - **default** - наименование ветки репозитория - **14.04.2020** - дата ревизии - **Нестеров Егор %%%%** - разработчик, который вносил изменения и его e-mail - **ForAll/BusinessLinks.pas Him/QuestionnaireSurvey.pas** - список измененных модулей, разделенных пробелом === Загрузка лога изменений модулей из файла === При загрузке в объект заполняются поля * Rev - номер ревизии * Branch - наименование ветки репозитория * DateRev - дата ревизии * Devel - разработчик, который последний вносил изменения * Mail - e-mail разработчик * PasFile - измененный модуль Из списка записей исключаются * Повторные описания файлов (оставляются только записи о последней корректировке файла), * Файлы типа .dfm ===== Дополнительная информация ===== * [[:dw_TFormLogDelphi|Лог компиляции проекта]]\\ * [[:dw_TFormWarningTypes|Типы предупреждений]]\\ * [[:dw_TFormOrder|Поручения разработчикам]]\\ [[develop:at_delphiwarnings|Назад]]\\