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

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
dw_tformloghg [17.04.2020 11:56]
Анисютин создано
dw_tformloghg [05.11.2020 16:21] (текущий)
Строка 1: Строка 1:
 ====== Лог изменений модулей ====== ====== Лог изменений модулей ======
 +
 +Форма **"​Лог изменений модулей"​** открывается из главного меню программы кнопкой **"​Лог изменений модулей"​**.\\
 +Форма отображает разработчиков,​ которые внесли последние изменения файл проекта.\\
 +{{:​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** с командой\\
 +<​code>​
 +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
 +</​code>​
 +где ​
 +  * **<​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**
 +
 +<​code>​
 +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
 +</​code>​
 +
 +В результате получается таблица вида\\
 +<​code>​
 +...
 +10014:::​default:::​14.04.2020:::​Нестеров Егор <​nesterovegor55@gmail.com>:::​ForAll/​BusinessLinks.pas Him/​QuestionnaireSurvey.pas
 +...
 +</​code>​
 +Поля отделяются друг от друга **":::"​**. Рассмотрим третью строку:​\\
 +  - **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
 +
 +===== Дополнительная информация =====
 +
 +  * [[:​dw_TFormLogDelphi|Лог компиляции проекта]]\\
 +  * [[:​dw_TFormWarningTypes|Типы предупреждений]]\\ ​
 +  * [[:​dw_TFormOrder|Поручения разработчикам]]\\ ​
 +
 +[[develop:​at_delphiwarnings|Назад]]\\