Одним летним вечером мне надоело писать отчеты о проделанной работе, просматривая историю изменений в репозитории Mercurial. Подобные рутинные операции очень утомляют и демотивируют, поэтому я решил, что необходимо автоматизировать этот процесс. Что из этого вышло — читаем далее 😉
Ничего сложного выдумывать не хотелось, поэтому я реализовал достаточно простую и удобную в использовании консольную утилиту на php, которую можно использовать как непосредственно, так и интегрировать в IDE PHPStorm (и другие ide которые поддерживают внешние утилиты).
Что входит в состав утилиты:
Как вы можете видеть утилита включает в себя 3 файла: конфигурационный файл, phar архив с самой утилитой и иконку для добавления в меню IDE.
Конфигурация:
1 2 3 4 5 6 7 8 9 10 11 |
; Hg Easy Report Config ; for more information please check http:\\glide.name\hg-easy-report [hg] user = glide ; имя пользователя в hg для которого будет извлечена история [time_settings] time_zone = Europe/Kiev ; Ваша временная зона day_start = 10:00 ; начало рабочего дня break_start = 13:00 ; начало перерыва break_end = 14:00 ; конец перерыва |
Как ее установить и использовать
Установка утилиты в PHPStorm достаточно простая:
- Скачайте zip-архив с утилитой HgEasyReport (github)
- Распакуйте его содержимое в любую удобную для вас директорию (в моем случае это директория D:\projects\php\HgEasyReport\)
- Теперь утилиту необходимо подружить с PHPStorm, для этого в IDE открываем настройки File > Settings (Ctrl + Alt + S) и переходим на вкладку External Tools и нажимаем на иконку добавления новой утилиты.Далее необходимо указать путь к PHP и утилите, в моем случае это :
В поле Group — впишите любое название, это будет названием группы в которую будет добавлена утилита.
В поле Program укажите путь к PHP
В поле Parameters укажите следующие параметры:
1 |
-f путь/куда/вы/распаковали/архив/hg-easy-report.phar $ProjectFileDir$ today |
$ProjectFileDir$ — это переменная IDE которая содержит путь к проекту;
Параметр today — означает, что утилита будет извлекать из репозитория только изменения за текущий день (также доступно другое значение этого параметра all при указании которого будет извлекаться вся история)
Утилита добавлена и теперь она доступна в IDE:
Но для большего удобства можно добавить утилиту в главный тулбар в виде иконки:
Если вы указали правильно пути к утилите и Ваш текущий проект находится под управлением Mercurial, то в результате запуска утилиты вы получите приблизительно такой результат:
UPD: Репозиторий с исходным ко