мета-данные страницы
Лог изменений модулей
Форма «Лог изменений модулей» открывается из главного меню программы кнопкой «Лог изменений модулей».
Форма отображает разработчиков, которые внесли последние изменения файл проекта.
Информационные поля
- Количество записей в логе - общее количество записей выгруженных в файл лога 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 <HGWrk> <HGExe> log -l 100000 -b default -T "{rev}:::{branch}:::{date(date,""%%d.%%m.%%Y"")}:::{author}:::{file_mods}\r\n" --pager false >hg.log
где
- <HGWrk> - Папка проекта Mercurial, там где находится папка .hg, значение берется из настройки «HGWrk»
- <HGExe> - Исполняемый файл 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:::Нестеров Егор <nesterovegor55@gmail.com>:::ForAll/BusinessLinks.pas Him/QuestionnaireSurvey.pas ...
Поля отделяются друг от друга «:::«. Рассмотрим третью строку:
- 10014 - номер ревизии
- default - наименование ветки репозитория
- 14.04.2020 - дата ревизии
- Нестеров Егор <nesterovegor55@gmail.com> - разработчик, который вносил изменения и его e-mail
- ForAll/BusinessLinks.pas Him/QuestionnaireSurvey.pas - список измененных модулей, разделенных пробелом
Загрузка лога изменений модулей из файла
При загрузке в объект заполняются поля
- Rev - номер ревизии
- Branch - наименование ветки репозитория
- DateRev - дата ревизии
- Devel - разработчик, который последний вносил изменения
- Mail - e-mail разработчик
- PasFile - измененный модуль
Из списка записей исключаются
- Повторные описания файлов (оставляются только записи о последней корректировке файла),
- Файлы типа .dfm