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.
Not the person that posted this, but they both use merkle trees as their underlying data structure. In both cases you can’t rewrite the past without rewriting every successive change.
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.
> For some reason, I like the fonts more on grv compared to tig,
I can't tell if this is a joke comment or not but both tools are run in the terminal so the font would be whatever the terminal uses. What you're doing is essentially comparing the typeface of `sed` verses `awk`
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)
Ideally, I'm looking for a github client for ipad (or whatever, at this point I'd be willing to buy an Android tablet just for that) that is designed for reading code that is on GitHub.
Yes, I have Working Copy. I also have several other applications that are in various ways related to git and github, but do not solve the problem.
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.)
My own version adds Lua support, multiple buffers, and similar features. It is by no means the best of the editors but I had fun playing with it - to the extent I was almost tempted to write an editor. (But then I realized I already have vim for writing email, and emacs for everything else. The world really doesn't need another editor!)
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.
https://public-inbox.org/git/20060210195914.GA1350@spearce.o...
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.