verco 5.0.0

A simple Git/Hg version control client based on keyboard shortcuts
verco-5.0.0 is not a library.

Rust

verco

A simple Git/Hg tui client focused on keyboard shortcuts

Screenshots

log screen

commit selected screen

Platforms

This project uses Cargo and pure Rust stable so it should work on Windows, Mac and Linux.

It depends on:

Install

You can either install it via cargo or download the binaries from github releases.

If you go the cargo route, you can install it using rustup. In a terminal, run this command to install verco:

cargo install verco

You'll be able to open verco from whichever directory you in.

Usage

In a terminal in a repository folder, run the verco command. It will launch verco's tui and you'll be able to interface with git/hg.

Commands

Key Sequence Command
h help
q quit
s status
ll log
lc log count
dd current diff all
ds current diff selected
DC revision changes
DD revision diff all
DS revision diff selected
cc commit all
cs commit selected
m merge
RA revert all
rs revert selected
rr list unresolved conflicts
ro resolve taking other
rl resolve taking local
f fetch
p pull
P push
tn new tag
bb list branches
bn new branch
bd delete branch
x custom command

Other Keybindings

Key Sequence Command
ctrl+j, ctrl+n, arrow down move down one line
ctrl+k, ctrl+p, arrow up move up one line
ctrl+d, page down move down half page
ctrl+u, page up move up half page
ctrl+e go to end
ctrl+b, ctrl+g go to beginning
space select entry (on selection mode)
ctrl+c, esc cancel

When reading a line, it uses rustyline default keybinds.

Custom Commands

You can create simple custom commands to run in your repository folder by placing them in the file .verco/custom_commands.txt in your repository root.

Each line in this file is treated as a different custom command. Until the first whitespace, the characters are treated as the keybind for the command, the next word is the command itself, and the rest are its parameters.

Example:

gv git --version

With verco open, you can type in xgv (x is the custom command prefix) and it will print your git version without leaving verco. Use it to create build commands for example.

Hash Shortcuts

After running a log command at least once, you will notice some letters by its hash side. These are hash shortcuts. Say you want to quickly checkout some previous commit to see some changes. Instead of having to type its hash (or worse, using the mouse to select and copy text), you can just type its associated shortcut.

Example from verco's history log:

* 2d76b45 (A) 2020-05-08 Matheus ..  (HEAD -> master, origin/master, origin/HEAD) other keybinds in readme
* 7af4f7f (B) 2020-05-07 Matheus ..  fix mercurial hash shortcuts
* 52019da (C) 2020-05-07 Matheus ..  commit selected screenshot typo
* 2c17265 (D) 2020-05-07 Matheus ..  remove help screenshot (it's more "future proof")
* 7f622dc (E) 2020-05-07 Matheus ..  readme update with screenshots

Say we want to go back to fix mercurial hash shortcuts, instead of typing u7af4f7f<Enter> (u for update/checkout command), we can just type uB<Enter>. What verco does is a simple string replace, so, for git/hg, it's as if you just had typed the full hash.