All Projects β†’ Cosium β†’ vet

Cosium / vet

Licence: MIT License
Gerrit client using pull request workflow

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects
shell
77523 projects

Projects that are alternatives of or similar to vet

Github Issue Templates
πŸ”£ A collection of GitHub issue and pull request templates
Stars: ✭ 3,074 (+14538.1%)
Mutual labels:  pull-request, pull-requests
action-pr-title
Github action to enforce Pull Request title conventions
Stars: ✭ 83 (+295.24%)
Mutual labels:  pull-request, pull-requests
silver-platter
Automate the creation of merge proposals for scriptable changes
Stars: ✭ 19 (-9.52%)
Mutual labels:  pull-request, pull-requests
gerrit-cli
Gerrit in your command lines.
Stars: ✭ 39 (+85.71%)
Mutual labels:  gerrit
koshry
Run on CI, Apply Rules on the Build and Get the Result back to the Pull Request.
Stars: ✭ 59 (+180.95%)
Mutual labels:  pull-request
phabricator-extensions
Github mirror of "phabricator/extensions" - our actual code is hosted in phabricator
Stars: ✭ 13 (-38.1%)
Mutual labels:  gerrit
stack-attack
A WIP CLI tool that manages stacked pull requests. Using stacked PRs is now (many small) pieces of cake
Stars: ✭ 39 (+85.71%)
Mutual labels:  pull-requests
hacktoberfest
Fork and Create a Pull Request
Stars: ✭ 13 (-38.1%)
Mutual labels:  pull-requests
pr-title-checker
An action to automatically check if pull request titles conform to Contribution Guidelines
Stars: ✭ 38 (+80.95%)
Mutual labels:  pull-requests
auto-request-review
A GitHub Action that automatically requests review of a pull request based on files changes and/or groups the author belongs to πŸ€–
Stars: ✭ 52 (+147.62%)
Mutual labels:  pull-requests
label-actions
πŸ€– GitHub Action that performs certain tasks when issues, pull requests or discussions are labeled or unlabeled
Stars: ✭ 60 (+185.71%)
Mutual labels:  pull-request
lobicornis
πŸ€– [Myrmica Lobicornis 🐜] Bot: Update and Merge Pull Request
Stars: ✭ 27 (+28.57%)
Mutual labels:  pull-requests
landscaper
Apply code mods to projects, awesomely
Stars: ✭ 15 (-28.57%)
Mutual labels:  pull-request
Repo-Excluded-From-HacktoberFest-2021
Know a bit of python & need pr for hacktoberfest ? come join us in the journey
Stars: ✭ 17 (-19.05%)
Mutual labels:  pull-requests
pscale-workflow-helper-scripts
Workflows and helper scripts around the PlanetScale DB workflow to automate database branch creation, association, update and merge directly out of your pull/merge request or favourite CI/CD.
Stars: ✭ 42 (+100%)
Mutual labels:  pull-requests
Poke-Dex
This is a small webpage that allows user to add their favourite PokΓ©mons! This project aims to help people in creating their first pull requests and participating in Hacktoberfest 2021
Stars: ✭ 126 (+500%)
Mutual labels:  pull-request
hacktoberfest20
Participate in Hacktoberfest by contributing to any Open Source project on GitHub! Here is a starter project for first-time contributors. #hacktoberfest20. Don’t forget to read the README.md for guidance.
Stars: ✭ 18 (-14.29%)
Mutual labels:  pull-requests
HacktoberFest2021
Dedicated to hactoberFest2021
Stars: ✭ 30 (+42.86%)
Mutual labels:  pull-requests
sonar-gerrit-plugin
Jenkins plugin for posting SonarQube issues as Gerrit review comments
Stars: ✭ 21 (+0%)
Mutual labels:  gerrit
pull-request-comment-branch
A GitHub Action to get the head ref and sha of a pull request comment
Stars: ✭ 21 (+0%)
Mutual labels:  pull-requests

Build Status Maven Central Latest

vet

Vet allows to review code on Gerrit using a pull-request workflow similar to GitHub, GitLab, Bitbucket and others.

CLI installation

Vet CLI is self sufficient. There is no need to deploy a separate java runtime to make it work.

Linux - Debian based distributions

$ wget https://github.com/Cosium/vet/releases/download/3.22/vet-linux_x64.deb.zip -O vet.deb.zip \
&& unzip vet.deb.zip \
&& sudo dpkg -i vet.deb \
&& source /etc/bash_completion.d/vet_completion.sh \
&& rm vet.deb.zip vet.deb

Mac OSX - Homebrew

$ brew tap cosium/vet && brew install vet

Windows - Chocolatey

$ choco install gerrit-vet

Manual

Download the binaries from https://github.com/Cosium/vet/releases

JetBrains IDE plugin

Compatible with: IntelliJ IDEA, PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, GoLand, DataGrip, Rider, MPS, Android Studio.

https://plugins.jetbrains.com/plugin/10748-vet

Benefits

No more commit amend

Gerrit can't manage more than one commit per change set.
Because of that, the widespread and cumbersome workflow is to have a single local commit and amend it every time you want to update the changeset.

Using Vet, Gerrit keeps seeing one commit per change set while you don't have to rewrite your history anymore.
Each time you will ask to push to Gerrit, Vet will forge and push a single commit based on your source branch commit sequence.

No pre commit hook needed

Vet computes the Gerrit change id on the fly before pushing to Gerrit.
Say bye to the pre-commit script.

No Gerrit REST or SSH api involved

Git is the only channel used by Vet to communicate with Gerrit.
Vet doesn't need to know your credentials.

Use any git remote protocol

Because Vet delegates all Gerrit communication to git, your remote access protocol is only limited by git:

  • file
  • ssh
  • http(s)
  • ...

Usage

help

$ vet --help
usage: vet [--version] [--help] <command> [<args>]

<command> can be one of:
 new, checkout-new, checkout, push, untrack, status, pull, fire-and-forget

Debug options:
 --stacktrace      Print stacktraces
 --verbose         Enable verbose mode

Vet: The Gerrit client using pull request review workflow

checkout-new

$ vet --help checkout-new
usage: vet checkout-new [-b <branch>] [-f]
 -b,--checkout-branch <branch>   The branch that will be created to track
                                 the change.
 -f,--force                      Forces the execution of the command,
                                 bypassing any confirmation prompt.
Creates a new change and tracks it from a new branch

checkout

$ vet --help checkout
usage: vet checkout [-b <branch>] [-f] [-i <id>] [-t <branch>]
 -b,--checkout-branch <branch>   The branch that will be created to track
                                 the change.
 -f,--force                      Forces the execution of the command,
                                 bypassing any confirmation prompt.
 -i,--numeric-id <id>            The numeric id of the change.
 -t,--target-branch <branch>     The target branch of the change.
Tracks an existing change from a new branch

push

$ vet --help push
usage: vet push [-f] [-p] [-s <subject>] [-v <vote>] [-w]
 -p,--publish-drafted-comments      Publish currently drafted comments of
                                    the change if any.
 -s,--patchset-subject <subject>   The subject of the patchset.
 -v,--code-review-vote <vote>       Vote on code review. i.e. +1 is a
                                    valid vote value.
 -w,--work-in-progress              Turn the change to work in progress
                                    (e.g. wip).
Uploads modifications to the currently tracked change

fire-and-forget

$ vet --help fire-and-forget
usage: vet fire-and-forget [-f] [-v <vote>]
 -f,--force                     Forces the execution of the command,
                                bypassing any confirmation prompt.
 -v,--code-review-vote <vote>   Vote on code review. i.e. +1 is a valid
                                vote value.
Creates a new untracked change then resets the current branch to change

new

$ vet --help new
usage: vet new [-f] [-t <branch>]
 -f,--force                    Forces the execution of the command,
                               bypassing any confirmation prompt.
 -t,--target-branch <branch>   The change target branch.
Creates a new change and tracks it from the current branch.

pull

$ vet --help pull
usage: vet pull

Pulls modifications of the currently tracked change

status

$ vet --help status
usage: vet status

Displays the current status

untrack

$ vet --help untrack
usage: vet untrack [-f]
 -f,--force   Forces the execution of the command, bypassing any
              confirmation prompt.
Untracks any tracked change

track

$ vet --help track
usage: vet track [-b <branch>] [-f] [-i <id>] [-t <branch>]
 -i,--numeric-id <id>            The numeric id of the change.
 -t,--target-branch <branch>     The target branch of the change.
Tracks an existing change from the current branch

Library

You will need JDK 9+.

<dependency>
   <groupId>com.cosium.vet</groupId>
   <artifactId>vet</artifactId>
   <version>${vet.version}</version>
</dependency>

Build

You will need to have Docker installed to build the project.

Generating standalone binaries

Vet uses Java 9 Jlink to generate standalone binaries for Linux, MacOSX and Windows.

$ ./gradlew binaries

Generated binaries can be found in build/binaries

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].