/mrGitTags

helps manage tags for a mono-repo publishing multiple packages

Primary LanguageC#MIT LicenseMIT

mrGitTags - Mono-Repo Git Tags

Purpose

This tool helps manage tags for a mono-repo publishing multiple packages.

This tool will report on the status of each project to make it easier to determine when a new package needs to be published for a given project.

Background

The CommandDotNet repo publishes multple packages, one per project. Tags are used to assign semantic versions to a project, using the format {project_name}_{semver}. The CI service triggers a build to deploy a package when a new tag is pushed.

After a few PRs are merged, I generally know which packages I need to increment for semver, but I always end up comparing changes in the different projects since the last tag to see if I missed something. It's a bit mind-numbing and thus error-prone so I threw together this tool to make it simpler.

It was also another opportunity to dog-food CommandDotNet

I got to try out the Pastel package for coloring the output. I think it's my new favorite for that.

Other libraries that made this simple to write:

Examples

Status

Help

screenshot: status help

Quite

screenshot: status quiet

Default

screenshot: status

Verbose

screenshot: status verbose