https://github.com/jwmwalrus/bumpy
A versioning tool.
https://github.com/jwmwalrus/bumpy
bump git tags version
Last synced: 5 months ago
JSON representation
A versioning tool.
- Host: GitHub
- URL: https://github.com/jwmwalrus/bumpy
- Owner: jwmwalrus
- License: mit
- Created: 2021-06-13T13:06:18.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-06-08T08:37:47.000Z (12 months ago)
- Last Synced: 2025-06-08T09:27:04.250Z (12 months ago)
- Topics: bump, git, tags, version
- Language: Go
- Homepage:
- Size: 65.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
Bumpy Ride
==========
A versioning tool.
## Table of Contents
* [Requirements](#requirements)
* [Installation](#installation)
* [Usage](#usage)
## Requirements
* Go version 1.18 or higher.
You can probably install it through your system's package manager (`apt`, `brew`, etc.).
For general instructions, go [here](https://golang.org/doc/install) --no pun intended.
## Installation
To install, open a terminal and execute the following
```bash
go install github.com/jwmwalrus/bumpy@latest
```
The same command can be used for subsequent updates.
## Usage
**Bumpy Ride** stores a repository's current version in the `version.json` file at any specified location in said repository (the default location is the root directory). The idea is to allow for the version to be embedded in the executable, easing further manipulation.
An overview of the available commands and options can be obtained by executing
```bash
bumpy --help
```
The available commands can be categorized into three groups: **control**, **git-affecting** and **informational**.
### Control Commands
These commands allow for manipulation of the `version.json` file that stores the repository's current version.
#### init
The `init` command initializes the repository's version --i.e., it creates the configuration and the version files.
Detailed information aobut the `init` command can be otained with:
```bash
bumpy help init
```
#### config
The `config` command updates the repository's version configuration file, according to the provided options, and displays its resulting contents.
Detailed information aobut the `config` command can be otained with:
```bash
bumpy help config
```
#### sync
The `sync` command makes sure that the version stored in `version.json` matches the latest git tag available.
Detailed information aobut the `sync` command can be otained with:
```bash
bumpy help sync
```
### Git-affecting Commands
These commands may perform operations on the `version.json` file, and cause at least one commit and/or other git-related operations.
#### bump
The `bump` command updates the `version.json` file, according to the given set of options.
Detailed information aobut the `bump` command can be otained with:
```bash
bumpy help bump
```
#### tag
The `tag` command commits the `ChangeLog.md` file, and tags its commit with the latest version from `version.json`.
Detailed information aobut the `tag` command can be otained with:
```bash
bumpy help tag
```
### Informational Commands
These commands simply display information.
#### version
The `version` command shows the current version stored in the `version.json` file.
Detailed information aobut the `version` command can be otained with:
```bash
bumpy help version
```