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

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


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

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

Информационные поля

  • Количество записей в логе - общее количество записей выгруженных в файл лога 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
...

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

  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

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