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.
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.
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.
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.
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.
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.
> 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.
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)
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?
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.)
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.
[+] [-] jordigh|8 years ago|reply
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
I mean, git had tools that could do that too, but built-in! Then I discovered GitHub.
[+] [-] harlanji|8 years ago|reply
[+] [-] knubie|8 years ago|reply
[+] [-] powerage99|8 years ago|reply
- 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
[1] https://github.com/ericfreese/rat
[+] [-] fanf2|8 years ago|reply
[+] [-] kaushalmodi|8 years ago|reply
[+] [-] etu|8 years ago|reply
[+] [-] gkgicccj|8 years ago|reply
[+] [-] jwr|8 years ago|reply
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
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
> 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
[+] [-] _sdegutis|8 years ago|reply
[+] [-] gkgicccj|8 years ago|reply
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
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
[+] [-] ageofwant|8 years ago|reply
[+] [-] andrecl|8 years ago|reply
[+] [-] michaelmcmillan|8 years ago|reply
1. https://github.com/Homebrew/brew/blob/master/docs/Formula-Co...
[+] [-] elcapitan|8 years ago|reply
[+] [-] keyle|8 years ago|reply
[+] [-] eridius|8 years ago|reply
[+] [-] michaelmcmillan|8 years ago|reply