мета-данные страницы
  •  

Это старая версия документа!


Лог изменений модулей

Форма «Лог изменений модулей» открывается из главного меню программы кнопкой «Лог изменений модулей».
Форма отображает разработчиков, которые внесли последние изменения файл проекта.

Импорт лога изменений модулей

  • Выгрузка во временный файл лога изменений модулей hg.log.
  • Загрузка лога изменений модулей из временного файла hg.log в объект LogHG, который отображается на форме

Выгрузка в файл лога изменений модулей

Mercurial, он же Hg — система управления версиями. Консольная программа hg.exe позволяет выгружать отчеты в текстовый файл с различным содержанием. Нас интересует информация о том кто последний исправлял файл с предупреждением. Для этого создается и запускается командный файл hglog.cmd с командой

cd /D <HGWrk>
<HGExe> log  -l 10000 -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
...

Поля отделяются друг от друга «:::«. Рассмотрим третью строку:

  1. 10014 - номер ревизии
  2. default - наименование ветки репозитория
  3. 14.04.2020 - дата ревизии
  4. Нестеров Егор <nesterovegor55@gmail.com> - разработчик, который вносил изменения и его e-mail
  5. ForAll/BusinessLinks.pas Him/QuestionnaireSurvey.pas - список измененных модулей, разделенных пробелом

Загрузка лога изменений модулей из файла

При загрузке в объект заполняются поля

  • Rev - номер ревизии
  • Branch - наименование ветки репозитория
  • DateRev - дата ревизии
  • Devel - разработчик, который последний вносил изменения
  • Mail - e-mail разработчик
  • PasFile - измененный модуль

Из списка записей исключаются

  • Повторные описания файлов (оставляются только записи о последней корректировке файла),
  • Файлы типа .dfm

Дополнительная информация