Mix.Tasks.Changex.Diff

Display a changelog in the terminal.

The changelog will be generated between two commits. To generate an automated changelog, commits must be in the format:

type(scope): description

Where type is one of the following:

Type Description
feat a new feature
fix a bug fix
docs a documentation change
style changing the code formatting/whitespace
refactor refactoring existing code
perf code that is designed to improve performance
test adding a test
revert removing a previous commit
chore anything else - version bump, etc.

scope should be the subject of your commit, i.e. IO.Ansi or Mix.Task

description is a short description of your commit.

A --dir option can be given to show a changelog from a different repository.

A --github option can be given link to a GitHub repository when the commit hash is displayed. This is in the format username/repo.

A --format option can be given to alter the output format of the changelog. Valid options are terminal and markdown and 'elixir'. A custom formatter may be specified by passing through a module that response to a format function. e.g.

mix changex.diff --format Custom.Formatter

An optional start and last commit can be passed through. By default it will use the root commit as first and "HEAD" as last

Examples

Show the changes since the last tag. If no tag is available use the root commit.

mix changex.diff

Show the changes between the v0.0.1 tag and HEAD

mix changex.diff v0.0.1

Show the changes between the v0.0.1 tag and commit ade73f

mix changex.diff v0.0.1 ade73f

Summary

run(argv)

Callback implementation of Mix.Task.run/1

Functions

run(argv)

Callback implementation of Mix.Task.run/1.