epicarrow / git-changelog
A simple service to parse the git log of an application to a readable changelog.
Requires
- php: >=5.6.4
- nesbot/carbon: ~1.18
This package is not auto-updated.
Last update: 2024-12-21 21:31:21 UTC
README
A simple service to parse the git log of an application to a readable changelog.
Requirements
Mandatory Requirements
Optional Requirements
- An existing >= Laravel 5.3 project to use the global view variable
$gitVersion
Installation
-
To get started, install the Git ChangeLog service via the Composer package manager:
composer require epicarrow/git-changelog
-
Optional: If you are using Laravel and you want to use the global view variable
$gitVersion
add the following entry to your providers array inconfig/app.php
:'providers' => [ ... ... EpicArrow\GitChangeLog\Providers\GitChangeLogServiceProvider::class ]
Documentation
Services
The following services are currently available:
EpicArrow\GitChangeLog\GitChangeLog::get([int $count = null])
Fetches the latest unique git commits. If two contiguous commits have the same commit message only one commit will be retrieved.
Parameters:
$count
(int): The number of results to retrieve.
Return Values:
The retrieved commits as an array
of EpicArrow\GitChangeLog\Models\Commit
s.
EpicArrow\GitChangeLog\GitChangeLog::version()
Gets the latest version of the git repository.
Return Values:
The retrieved latest version of the git repository as a string
or null
if no version exists.
Global Variables
If you are using Laravel and you've registered the GitChangeLogServiceProvider
within your config/app.php
providers array
you can access the following variables from every blade view:
$gitVersion
: Corresponds to the serviceEpicArrow\GitChangeLog\GitChangeLog::version()
and gets you the latest version of the git repository.
The commit model EpicArrow\GitChangeLog\Models\Commit
When retrieving the latest git commit through this service you will get an array
of EpicArrow\GitChangeLog\Models\Commit
s. This model has the following properties:
$id
(string): The commit hash/id$date
(Carbon\Carbon): The date of the commit$message
(string): The commit message$version
(string|null): The version (tag) the commit belongs to$author
(string): The author of the commit$email
(string): The author's email address of the commit$merge
(string|null): The merge info of the commit