Skip to content

frostyard/gchlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gchlog

A CLI tool that generates Debian changelog entries from git history. Intended to be called as the final step before tagging a release.

How it works

  1. Reads the existing debian/changelog for the package name and distribution
  2. Finds the most recent git tag and collects commit messages since then
  3. Runs svu next to determine the next version
  4. Formats a new entry conforming to deb-changelog(5)
  5. Prints to stdout (default) or prepends to the file with --write

Requirements

  • Go 1.25+
  • git
  • svu

Install

go install github.com/frostyard/gchlog@latest

Usage

# Preview the new changelog entry (dry-run, default)
gchlog

# Write the entry to debian/changelog
gchlog --write

# Override the version (skips svu)
gchlog --write --version 2.0.0

# Override the distribution
gchlog --write --distribution bookworm

# Specify a different project root
gchlog --dir /path/to/project

Flags

Flag Short Default Description
--dir -d . Path to the project root
--write -w false Write to debian/changelog
--distribution inferred Override target distribution
--urgency medium Override urgency level
--version svu next Override version

Example output

mypackage (1.2.0) unstable; urgency=medium

  * feat: add user authentication
  * fix: resolve timeout on slow connections

 -- Jane Doe <jane@example.com>  Thu, 27 Feb 2026 14:30:00 +0000

License

MIT

About

Simple Debian changelog generator from git history

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors