Skip to content

A simple service to parse the git log of an application to a readable changelog.

License

Notifications You must be signed in to change notification settings

ferdinandfrank/git-changelog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Git ChangeLog

A simple service to parse the git log of an application to a readable changelog.

Requirements

Mandatory Requirements

  • PHP >= 5.6.4
  • Carbon >= 1.18: Used to format the date of the git commits

Optional Requirements

  • An existing >= Laravel 5.3 project to use the global view variable $gitVersion

Installation

  1. To get started, install the Git ChangeLog service via the Composer package manager:

    composer require epicarrow/git-changelog
  2. Optional: If you are using Laravel and you want to use the global view variable $gitVersion add the following entry to your providers array in config/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\Commits.


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 service EpicArrow\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\Commits. 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

About

A simple service to parse the git log of an application to a readable changelog.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages