top | item 16276580

GRV – Git Repository Viewer

165 points| rwx------ | 8 years ago |github.com | reply

37 comments

order
[+] jordigh|8 years ago|reply
It's slightly funny how alternative git user interfaces are their own cottage industry. It's been like this pretty much since day one:

https://public-inbox.org/git/[email protected]...

In a way, the default git CLI is just the one alternative git interface that "won".

My favourite one is still hg-git, despite its warts.

[+] jamesgeck0|8 years ago|reply
When I first started comparing Mercurial and Git, the built-in `hg serve` command that showed a repo view in the browser seemed like a killer feature. Machines running `hg serve` could even be pulled from across the network without any setup.

I mean, git had tools that could do that too, but built-in! Then I discovered GitHub.

[+] harlanji|8 years ago|reply
Git is the precursor to "block chain" in utility. I was unaware of this cottage industry before now :)
[+] knubie|8 years ago|reply
This looks really similar to tig (of which I'm a big fan and user). What are the main difference between these two tools?
[+] powerage99|8 years ago|reply
GRV is heavily based on tig, and takes a lot of inspiration from it. tig is still far more feature rich than GRV and will be for a while. However there are a couple of features GRV currently has that are nice:

- A simple query language that can be used to filter commits. For example: authordate >= "2017-09-01" AND authordate < "2017-10-01" AND authorname = "John Smith" AND parentcount < 2.

- View layout is more flexible. Each tab in GRV can have any view added to it as a vplit or hsplit. Users can create their own tabs and populate them with any combination of views they want. The long term idea is that when GRV supports more views (tree view, file view, etc) it will be possible to create quite a custom experience.

[+] andrewla|8 years ago|reply
Same here, though I had been watching development of rat [1], which seemed, when it appeared here, to be an interesting generic way of making a suite of commands into a curses-based interface. Seems that development has stalled, though.

[1] https://github.com/ericfreese/rat

[+] fanf2|8 years ago|reply
I would also like to see a comparison with magit, the Emacs git UI.
[+] kaushalmodi|8 years ago|reply
Magit (Emacs) deserves a mention here: https://magit.vc/. It's the epitome of text based "gui" for any git operation. It's so good that any real Git GUI also doesn't come close.
[+] etu|8 years ago|reply
I can't recommend Magit enough to anyone. Whenever I try people see me as crazy when I tell them what I do with git with a breeze. Things like committing are of course easier and such. But all the other things. Oh man. Magit have entirely changed my understanding of git.
[+] gkgicccj|8 years ago|reply
Does anybody have a comment on the similar vimagit?
[+] jwr|8 years ago|reply
This is just as good a place to write this as any:

There is a use case which seems to be missed by all git-related tools: Reading Code on Github.

I would really like to have a tool that would allow me to easily browse my starred repos on GitHub, on my iPad, in offline mode (one-click update of all repos please). And by "browse" I mean read code, so the main focus is not on tags/branches, but viewing files and changesets.

There are plenty of tools that try to let you edit code, access repos, browse tags/branches, but they all assume that you are willing to spend time manually cloning/syncing/resyncing/downloading/uploading repos. This quickly gets tedious (Textastic on iPad is a good example).

Reading code is important, and it seems to have been forgotten.

[+] dufferzafar|8 years ago|reply
> Reading code is important, and it seems to have been forgotten.

I know right!

I also like to do all my reading on a Tab (Android) - be it books or code. My current approach to reading code is to first convert all the files to PDF! (I wrote a script uses LaTeX etc. to do this) and then sync all the files to my Tab.

It's okay for code that isn't changing frequently and PDFs also have annotations etc, which I use.

[+] lucideer|8 years ago|reply
I'm not sure if I understand what you're asking, and as an Android user I don't have any direct experience of this on iOS, but I presume you're just looking for a good Git client for iPad?

> spend time manually cloning/syncing/resyncing/downloading/uploading repos. This quickly gets tedious

These should all take little-or-no-time and be far from tedious in any half-decent Git client. Have you tried Working Copy? (I haven't but it seems competent from reviews)

[+] jeremiahwv|8 years ago|reply
ncurses seems powerful. Any good suggestions on a tutorial or introduction to ncurses (which it appears is what was used for the ui here)? Ideally for python, or generalized... Or is there a better tool to learn for generic command line UIs?
[+] _sdegutis|8 years ago|reply
Kilo is a great way to learn how to manipulate the terminal directly (rather than using a wrapper library like ncurses): https://github.com/antirez/kilo (A text editor in less than 1000 LOC with syntax highlight and search.)
[+] gkgicccj|8 years ago|reply
Member of rust interner task force here. Check out termion, it's so much simpler than raw ncurses.

While you're at it, consider rewriting everything you have in Rust. (obligatory statement as the member of ritf)

PS: the termion suggestion is not a joke

[+] TheAceOfHearts|8 years ago|reply
If you want to build interactive terminal interfaces, check out blessed [0]. Even better, you can use react-blessed [1] to write declarative UI code! You can also find additional widgets in blessed-contrib [2].

For actually shipping the code around, you could use pkg [3] to generate a single binary. That lets you avoid having to install node or any supporting libraries.

[0] https://github.com/chjj/blessed

[1] https://github.com/Yomguithereal/react-blessed

[2] https://github.com/yaronn/blessed-contrib

[3] https://github.com/zeit/pkg

[+] elcapitan|8 years ago|reply
Looks like a text version of gitx, my favorite tool for that purpose. Will check it out.
[+] keyle|8 years ago|reply
sadly no mac build, but that lead me to find tig, so thanks for that!
[+] eridius|8 years ago|reply
This looks pretty cool! Could we please get better package manager support on macOS though? I'd love to see this available in either MacPorts or Nix.