GRV is a terminal interface for viewing git repositories
Go Other
Switch branches/tags

README.md

GRV - Git Repository Viewer Build Status

GRV is a terminal based interface for viewing git repositories. It allows refs, commits and diffs to be viewed, searched and filtered. The behaviour and style can be customised through configuration. A query language can be used to filter refs and commits, see the Documentation section for more information.

Screenshot

More screenshots can be seen here

Features

  • Commits and refs can be filtered using a query language.
  • Changes to the repository are captured by monitoring the filesystem allowing the UI to be updated automatically.
  • Organised as tabs and splits. Custom tabs and splits can be created using any combination of views.
  • Vi like keybindings by default, key bindings can be customised.
  • Custom themes can be created.

Documentation

Documentation for GRV is available here

Install

Note: grv is currently an alias used by oh-my-zsh. Add unalias grv to the end of your .zshrc to invoke GRV.

Linux

Static binaries are available for Linux (amd64 and arm32). For example, to use the amd64 binary run the following steps:

wget -O grv https://github.com/rgburke/grv/releases/download/v0.1.2/grv_v0.1.2_linux64
chmod +x ./grv
./grv -repoFilePath /path/to/repo

Mac

GRV is available in homebrew and can be installed with:

brew install grv

Build instructions

Go version 1.5 or later is required. GRV depends on the following libraries:

  • libncursesw
  • libreadline
  • libcurl
  • cmake (to build libgit2)

Building GRV on OSX requires homebrew, and for readline, pkg-config, and cmake to be installed using homebrew:

brew install readline pkg-config cmake

To install GRV run:

go get -d github.com/rgburke/grv/cmd/grv
cd $GOPATH/src/github.com/rgburke/grv
make install

To install grv with an alternative binary name change the last step to:

make install BINARY=NewBinaryName

where NewBinaryName is the alternative name to use instead.

The steps above will install GRV to $GOPATH/bin. A static libgit2 will be built and included in GRV when built this way. Alternatively if libgit2 version 0.26 is installed on your system GRV can be built normally:

go install ./cmd/grv