Skip to content

thevickypedia/gitverse

Repository files navigation

Pypi-version Python

pages-build-deployment pypi-publish

Pypi-format Pypi-status

Maintained GitHub Repo created GitHub commit activity GitHub last commit

GitVerse

Get GitHub's release notes or commit history and format it into reStructuredText/Markdown documents.

Installation

pip install gitverse

Usage

Release Notes (Tags)

Generate release notes from releases tagged in GitHub

gitverse-release

Tries to get release notes, using GitHub API
If failed, uses the commit message as notes for the associated release
This feature optionally takes GIT_TOKEN as an environment variable if it is generated for a personal repo

Known issue related to the order of release notes
  • There is a known issue with GitHub where the git tag command returns incorrect timestamp (when tags are created in different timezones)
  • If the release notes are not generated in the expected order, please run the following command to verify
git for-each-ref --sort='-creatordate' --format '%(refname:short) %(creatordate:iso8601)' refs/tags
  • If the output is in expected order, please raise an issue

Commit History

Generate commit history from git log

gitverse-commit

Options

  • debug - Enable debug mode for logging.
  • reverse - Generate commit history/release notes in reverse order.

Flags

  • -b Gather commit notes specific to a branch. Uses Default branch if not passed. (Only for gitverse-commit)
  • -f Write the commit notes to a custom filename.
  • -t Title or index line for the file generated.

Sample

release_notes.rst

changelog.rst

Linting

PreCommit will ensure linting, and the doc creation are run on every commit.

Requirement

pip install sphinx==5.1.1 pre-commit==2.20.0 recommonmark==0.7.1

Usage

pre-commit run --all-files

Pypi Package

pypi-module

https://pypi.org/project/gitverse/

Runbook

made-with-sphinx-doc

https://thevickypedia.github.io/gitverse/

License & copyright

© Vignesh Rao, GitVerse

Licensed under the MIT License