https://github.com/jsnjack/monova
Automatically calculates version of the application based on the commit messages
https://github.com/jsnjack/monova
go golang hacktoberfest versioning
Last synced: 12 months ago
JSON representation
Automatically calculates version of the application based on the commit messages
- Host: GitHub
- URL: https://github.com/jsnjack/monova
- Owner: jsnjack
- License: mit
- Created: 2017-08-28T21:34:46.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2025-02-09T14:02:43.000Z (over 1 year ago)
- Last Synced: 2025-02-09T14:23:22.342Z (over 1 year ago)
- Topics: go, golang, hacktoberfest, versioning
- Language: Go
- Homepage:
- Size: 43 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: history.go
Awesome Lists containing this project
README
monova
=====
### What is it?
monova automatically calculates version of the application based on the commit messages
### How to use?
monova uses format `Major.Minor.Patch` (f.e. `1.11.3`) to calculate the version.
To automatically increase the version of the application, add one of the reserved
words to the commit message.
Check [Makefile](https://github.com/jsnjack/monova/blob/master/Makefile) to see how it could be integrated into the build process
#### Reserved words
##### Major version
- `:M:`
- `:major:`
- `M`
##### Minor version
- `:m:`
- `:minor:`
- `m`
##### Patch version
- `:p:`
- `:patch:`
- `p`
#### Example of the commit message
```bash
$ git commit -m ":m: Add progress bar"
$ git commit -m ":major: Add history flag"
$ git commit -m "p Update help command"
```
#### Overview
```
./monova -h
calculate new version and print it
Usage:
monova [flags]
monova [command]
Available Commands:
checkpoint manually set the version
completion Generate the autocompletion script for the specified shell
help Help about any command
history print the history of versions
reset remove history file
Flags:
-d, --debug enable debug mode
-h, --help help for monova
-v, --version print version and exit
```
#### Using checkpoints
You can force any version by creating a checkpoint. Checkpoint is an empty commit
with specially formatted message:
```bash
$ monova checkpoint 1.0.0
$ git log
01de65a Version:1.0.0 generated by monova
010a56a :m: Add progress bar
73b6a72 :m: Add history flag
270f422 :p: Update help command
```
### How to install
- Using [grm](https://github.com/jsnjack/grm)
```bash
grm install jsnjack/monova
```