git-cliff.el icon indicating copy to clipboard operation
git-cliff.el copied to clipboard

Genarate and update git repository CHANGELOG.md with git-cliff

git-cliff

License GPL 3 MELPA

Generate and update changelog using git-cliff.

This package provides the interface of git-cliff, built in transient, to generate and update changelog for project. Call git-cliff-menu to start.

Contents

  • git-cliff
    • Screenshot
    • Install
      • dependencies
      • package
    • Usage
    • Customization
    • Todo
    • FAQ
    • Donate

Screenshot

  • Call M-x git-cliff-menu

git-cliff-menu

Install

dependencies

  • git-cliff, version >= 2.2
  • emacs, version >= 29.1
  • transient >= 0.5.0
  • dash, version >= 2.19.1

package

  • Manually

Clone and add to load-path, require the package.

  • Melpa

This package is available on MELPA. Install with M-x package-install RET git-cliff within Emacs.

Usage

;; Directly
(require 'git-cliff)

;; OPTIONAL
;; Integrate to `magit-tag'
(with-eval-after-load 'magit-tag
  (transient-append-suffix 'magit-tag
    '(1 0 -1)
    '("c" "changelog" git-cliff-menu)))
  • call git-cliff-menu

Customization

  • git-cliff-extra-path : directory storing user defined presets and templates.

Todo

  • [x] support range arguments
  • [ ] support .org format

FAQ

  • no --repository and --workdir options support?

    Actually in the earlier versions, both options are supported. However, git-cliff-menu is designed to run in the root dir of current repository by force, which means equivalent to --workdir . --repository . always. Due to same reason, multi-value of --repository is disabled either in git-cliff.el.

  • no --body option support?

    Almost useless option, please use --init instead

Donate

If you think the it's helpful for you, please consider paying a cup of coffee for me. Thank you! :smile:

PayPal