An open API service indexing awesome lists of open source software.

https://github.com/wiseaidev/bump2version

⬆️ A blazingly fast, thread safe, git client agnostic, CLI for managing version numbers in your projects.
https://github.com/wiseaidev/bump2version

bump2version bumpversion clap cli regex rust

Last synced: 8 months ago
JSON representation

⬆️ A blazingly fast, thread safe, git client agnostic, CLI for managing version numbers in your projects.

Awesome Lists containing this project

README

          

# ⬆️ Bump2version

[![Crates.io](https://img.shields.io/crates/v/bump2version.svg)](https://crates.io/crates/bump2version)
[![docs](https://docs.rs/bump2version/badge.svg)](https://docs.rs/bump2version/)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

> 🚀 **bump2version**: A command-line tool for managing version numbers in your projects.

## 📖 Table of Contents

- [Quick Start](#-quick-start)
- [Configuration File](#-configuration-file)
- [Features](#-features)
- [Options](#-options)
- [GitHub Repository](#-github-repository)
- [Contributing](#-contributing)

## 🚀 Quick Start

Get started with the `bump2version` CLI by following these simple steps:

1. Install the `bump2version` tool using Cargo:

```bash
cargo install bump2version
```

1. Use the following options to manage version numbers and customize the behavior:

```bash
bump2version --bump patch # or minor or major
```

## 🛠️ Configuration File

To customize the behavior of `bump2version`, you can use a configuration file named `.bumpversion.toml`. This file should be present in the root of your project. If it's not found, the cli will use default values.

Here's an example `.bumpversion.toml` configuration file you can use in your project:

```toml
[bumpversion]
current_version = 0.1.0 # Specify the current version of your project, samne value as Cargo.toml version

# Specify how to search for and replace the version in the 'Cargo.toml' file.
[bumpversion:file:Cargo.toml]
search = 'version = "{current_version}"'
replace = 'version = "{new_version}"'
```

## ✨ Features

- **Incremental Versioning:** Bump major, minor, or patch versions with ease.
- **Configurability:** Use a configuration file or command-line options to customize behavior.
- **Git Integration:** Create commits and tags in your version control system.

## 🎨 Options

| Option | Description |
|------------------------|-------------------------------------------------------------------|
| `--config-file` | Config file to read most of the variables from (default: `.bumpversion.toml`). |
| `--current-version` | Version that needs to be updated. |
| `--bump` | Part of the version to be bumped (default: patch). |
| `--parse` | Regex parsing the version string (default: \d+\.\d+\.\d+). |
| `--serialize` | How to format what is parsed back to a version (default: {major}.{minor}.{patch}). |
| `--dry-run` | Don't write any files, just pretend. |
| `--new-version` | New version that should be in the files. |
| `--commit` | Create a commit in version control (default: true). |
| `--tag` | Create a tag in version control. |
| `--message` | Commit message (default: Bump version: {current_version} → {new_version}). |
| `file` | Files to change. |

## 🌐 GitHub Repository

You can access the source code for this CLI tool on [GitHub](https://github.com/wiseaidev/bump2version).

## 🤝 Contributing

Contributions and feedback are welcome! If you'd like to contribute, report an issue, or suggest an enhancement, please engage with the project on [GitHub](https://github.com/wiseaidev/bump2version). Your contributions help improve this CLI tool for the community.