v.chetkov / vcs-statistics-counter
Счетчик статистик VCS
1.0.0.5
2019-01-08 13:49 UTC
This package is auto-updated.
Last update: 2024-12-09 03:01:13 UTC
README
Счетчик статистик VCS
Установка
composer require "v.chetkov/vcs-statistics-counter:^1.0"
Конфигурация
Пример:
<?php use Chetkov\VCSStatisticsCounter\VCS\Git\BranchFilter\AllowablePrefixes\AllowablePrefixesStrategy; return [ 'vcs' => 'git', 'authors' => [ 'Валерий Четков', 'Василий Пупкин', 'Nikolia Zubrov', 'Dmitriy Ignatenko', ], 'branchFilter' => [ 'strategy' => AllowablePrefixesStrategy::class, 'branchPrefixes' => [ 'to-', ], 'vcsRemoteServerName' => 'origin', ], 'rootDirectories' => [ '/home/v.chetkov/projects/VCSStatisticsCounter/', '/home/v.chetkov/projects/Extractor/', '/home/v.chetkov/projects/Logger/', ], ];
Использование
<?php use VCSStatisticsCounter\Model\Statistics; use VCSStatisticsCounter\VCSStatisticsCounterFactory; require_once 'vendor/autoload.php'; $vcsStatisticsCounterFactory = new VCSStatisticsCounterFactory(); $vcsStatisticsCounter = $vcsStatisticsCounterFactory->create(require __DIR__ . '/config/config.local.php'); $totalStatistic = $vcsStatisticsCounter->getTotalStatistic(new DateTime('2018-11-28')); $topAuthorsByNumChangedLines = $totalStatistic->getTopAuthors(3, Statistics::TYPE_CHANGED_LINES); foreach ($topAuthorsByNumChangedLines as $authorStatistics) { echo "\n{$authorStatistics->getName()}:\n"; echo "изменённых файлов - {$authorStatistics->getNumChangedFiles()}\n"; echo "изменённых строк - {$authorStatistics->getNumChangedLines()}\n"; echo "удалённых строк - {$authorStatistics->getNumCreatedLines()}\n"; echo "новых строк - {$authorStatistics->getNumDeletedLines()}\n"; }
Вывод:
a.lisyanskij:
изменённых файлов - 417
изменённых строк - 21664
удалённых строк - 18007
новых строк - 3657
Валерий Четков:
изменённых файлов - 178
изменённых строк - 10383
удалённых строк - 7017
новых строк - 3366
Mike Malofeev:
изменённых файлов - 94
изменённых строк - 7781
удалённых строк - 2923
новых строк - 4858
Еще варианты:
//==================== ТОПЫ АВТОРОВ ====================
//ТОП-3 авторов по кол-ву измененных строк
$topAuthorsByNumChangedLines = $totalStatistic->getTopAuthors(3, Statistics::TYPE_CHANGED_LINES);
//ТОП-3 авторов по кол-ву новых строк
$topAuthorsByNumCreatedLines = $totalStatistic->getTopAuthors(3, Statistics::TYPE_CREATED_LINES);
//ТОП-3 авторов по кол-ву удалённых строк
$topAuthorsByNumDeletedLines = $totalStatistic->getTopAuthors(3, Statistics::TYPE_DELETED_LINES);
//ТОП-3 авторов по кол-ву измененных файлов
$topAuthorsByNumChangedFiles = $totalStatistic->getTopAuthors(3, Statistics::TYPE_CHANGED_FILES);
//==================== ТОПЫ РЕПОЗИТОРИЕВ ====================
//ТОП-3 репозиториев по кол-ву измененных строк
$topRepositoriesByNumChangedLines = $totalStatistic->getTopRepositories(3, Statistics::TYPE_CHANGED_LINES);
//ТОП-3 репозиториев по кол-ву новых строк
$topRepositoriesByNumCreatedLines = $totalStatistic->getTopRepositories(3, Statistics::TYPE_CREATED_LINES);
//ТОП-3 репозиториев по кол-ву удалённых строк
$topRepositoriesByNumDeletedLines = $totalStatistic->getTopRepositories(3, Statistics::TYPE_DELETED_LINES);
//ТОП-3 репозиториев по кол-ву измененных файлов
$topRepositoriesByNumChangedFiles = $totalStatistic->getTopRepositories(3, Statistics::TYPE_CHANGED_FILES
);