ferdinandfrank / git-changelog by ferdinandfrank

A simple service to parse the git log of an application to a readable changelog.
53
1
3
Package Data
Maintainer Username: ferdinandfrank
Maintainer Contact: ferdinand-frank@web.de (EpicArrow)
Package Create Date: 2017-01-13
Package Last Update: 2017-05-12
Language: PHP
License: MIT
Last Refreshed: 2024-04-30 03:00:59
Package Statistics
Total Downloads: 53
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

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