sermojohn / gitmono

Git wrapper for monorepos

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CI Status Go Report Card Coverage Status Go Reference Latest Release

gitmono

CLI tool that wraps git to manage versioning of projects in monorepos.

All commands accept the monorepo project to operate on, using the -p flag. When none is specified, the flag defaults to . that enables the tool for any repository type (also non-monorepo). The specified project should match the subdirectory of the project from the root path.

Commands

init command releases and prints the initial version (0.1.0) for the specified project, if it has never been released.

version command prints the latest version of the specified project.

release command releases and prints a new version of the specified project, after looking up for a version bump command in the commits that reference files of that project.

diff command prints out the modified files for the specified git reference range that match the project subdirectory.

log command prints out the commits for the specified git reference range that match project subdirectory.

Examples

Initialise versioning:

gitmono init -p mod1

0.1.0

Get version:

gitmono version -p mod1

0.1.0

Release version:

gitmono release -p mod1

mod1/0.2.0

Diff modified files:

gitmono diff -p mod1 -f head~1 -t head

mod1/go.mod

Get commit log:

gitmono log -p mod1 -f head~2 -t head

7fd4cd0d6141b3cbc3c4f0a2206090140d2d7722 fix: mod1 modified

About

Git wrapper for monorepos

License:MIT License


Languages

Language:Go 99.6%Language:Makefile 0.4%