Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/miloas/tv
tag version cli
https://github.com/miloas/tv
Last synced: 8 days ago
JSON representation
tag version cli
- Host: GitHub
- URL: https://github.com/miloas/tv
- Owner: Miloas
- License: mit
- Created: 2019-08-26T10:37:01.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-04-03T10:17:18.000Z (over 1 year ago)
- Last Synced: 2024-04-09T22:37:50.192Z (7 months ago)
- Language: Go
- Homepage:
- Size: 79.1 KB
- Stars: 6
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tv
[![Build Status](https://github.com/Miloas/tv/workflows/build/badge.svg)](https://github.com/Miloas/tv/workflows/build/badge.svg)
[![GitHub release](https://img.shields.io/github/release/Miloas/tv.svg)](https://github.com/Miloas/tv/releases/)
[![Go Report Card](https://goreportcard.com/badge/github.com/Miloas/tv)](https://goreportcard.com/report/github.com/Miloas/tv)## Installation
Install tv in **macOS / Linux** through `brew`
```
brew tap Miloas/tv
brew install tv
```## Initialize your project
Create a `semver.json` file using `tv init app app2` under your project folder. You need to setup at least one app.
```json
{
"app": "0.0.0",
"app2": "0.0.0"
}
```## Usage
```
➜ tv git:(master) tv help
NAME:
tv - tag version for ur f** awesome projectUSAGE:
tv [global options] command [command options] [arguments...]VERSION:
1.3.8COMMANDS:
init init tv for ur project
patch patch version, v0.0.1 -> v0.0.2
major major version, v0.0.1 -> v1.0.0
minor minor version, v0.0.1 -> v0.1.0
prerelease prerelease version, v0.0.1-alpha.1 -> v0.0.1-alpha.2
release release version, v0.0.1-alpha.1 -> v0.0.1
prepatch prepatch version, v0.0.1 -> v0.0.2-alpha.0
preminor preminor version, v0.0.1 -> v0.1.0-alpha.0
premajor preminor version, v0.0.1 -> v1.0.0-alpha.0
version set specific version
help, h Shows a list of commands or help for one commandGLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
```Options for commands:
```
➜ tv git:(master) tv patch --help
NAME:
tv patch - patch version, v0.0.1 -> v0.0.2USAGE:
tv patch [command options] [arguments...]OPTIONS:
--target value, -t value set target app
--pure, -p create tag without app name
--all, -a upgrade version of all apps
--dry-run do a fake action, won't create real tag
```## Examples
For such a `semver.json` file
```json
{
"tv": "0.1.0",
"app": "0.1.10"
}
```---
Run `tv patch`, and you will get:
```json
{
"tv": "0.1.1",
"app": "0.1.10"
}
```and a git tag `v0.1.1+tv`. `tv` is selected if you didn't pass a target to tv
---
Run `tv patch -t app`, and you will get:
```json
{
"tv": "0.1.0",
"app": "0.1.11"
}
```and a git tag `v0.1.11+app`
---
Run `tv minor -a`, and you will get:
```json
{
"tv": "0.2.0",
"app": "0.2.0"
}
```and two git tags [`v0.2.0+tv`, `v0.2.0+app`]
---
Run `tv major -ap`, and you will get:
```json
{
"tv": "1.0.0",
"app": "1.0.0"
}
```and only one git tag `v1.0.0`