Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rgburke/grv
GRV is a terminal interface for viewing git repositories
https://github.com/rgburke/grv
git go golang ncurses-tui terminal-based
Last synced: 6 days ago
JSON representation
GRV is a terminal interface for viewing git repositories
- Host: GitHub
- URL: https://github.com/rgburke/grv
- Owner: rgburke
- License: gpl-3.0
- Created: 2017-09-08T20:10:24.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-01T20:02:46.000Z (over 5 years ago)
- Last Synced: 2024-11-29T04:04:24.117Z (13 days ago)
- Topics: git, go, golang, ncurses-tui, terminal-based
- Language: Go
- Size: 6.52 MB
- Stars: 4,033
- Watchers: 41
- Forks: 99
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tuis - grv
- awesome-github-repos - rgburke/grv - GRV is a terminal interface for viewing git repositories (Go)
- awesome-repositories - rgburke/grv - GRV is a terminal interface for viewing git repositories (Go)
- jimsghstars - rgburke/grv - GRV is a terminal interface for viewing git repositories (Go)
- awesome-golang-repositories - grv
- awesome-hacking-lists - rgburke/grv - GRV is a terminal interface for viewing git repositories (Go)
README
# GRV - Git Repository Viewer [![Build Status](https://travis-ci.org/rgburke/grv.svg?branch=master)](https://travis-ci.org/rgburke/grv)
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](#documentation)
section for more information.![Screenshot](./doc/grv-history-view.png)
More screenshots can be seen [here](doc/screenshots.md)
## 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.
- Mouse support.
- Commit Graph.## Documentation
Documentation for GRV is available [here](doc/documentation.md)
## 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. For example, to use
the amd64 binary run the following steps:```
wget -O grv https://github.com/rgburke/grv/releases/download/v0.3.2/grv_v0.3.2_linux64
chmod +x ./grv
./grv -repoFilePath /path/to/repo
```### Mac
GRV is available in homebrew and can be installed with:
```
brew install grv
```### FreeBSD
GRV can be installed as a binary package
```
pkg install grv
```or from ports
```
cd /usr/ports/devel/grv && make install clean
```## Build instructions
Go version 1.8 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.27 is
installed on your system GRV can be built normally:```
go install ./cmd/grv
```