Saturday, May 23, 2015

GitUp 0.7

GitUp (via iOS Dev Weekly):

Work quickly, safely, and without headaches. The Git interface you’ve been missing all your life has finally arrived.

It’s from Pierre-Olivier Latour, of Quartz Composer, Everpix, and Automatic fame. GitUp has a very different interface, focused on the map. For someone like me with a simple repository structure, this does not see like a helpful approach, but I could see it being useful for others. GitUp seems to make manipulating the commit graph easy. Seeing the code that changed in a particular commit, which other Git clients make easy, takes an extra step.

The most interesting feature to me is that it can optionally build an index (SQLite FTS) at .git/co.gitup.mac/cache.db to make searching the repository by diff content very fast. (My main Git client, Tower, doesn’t even have a slow way of doing this.)

GitUp is currently free, but you need to create an account to enable most of the features. It seems to be in a rough state right now: the commit view’s notion of what’s changed in my working directory is out of sync with what other Git clients show [Update (2015-05-26): This is not a bug in GitUp; see the comments.], and trying to commit a file just gave me a “launch path not accessible” error. But I think this is definitely an app to watch.

Update (2015-05-29): Jonathan Wight:

The Map view and Quicklook views are an interesting take on presenting the structure of a git repository while being able to selectively dive into the details of individual commits. I feel however that the information density of traditional Log views in other git clients is superior to the map view.

Compare the following screenshots of the same repo in Gitx and Gitup (both on 13" MBP): GitUp, GitX.

9 Comments RSS · Twitter

Thanks for checking out GitUp! About the commit view being out of sync, you are the first ever user to have seen such an issue. Would you mind reporting it on http://forums.gitup.co with whatever details you can think of to help tracking it down?

It turns out that the “out of sync” issue was actually a problem with my Git repository (interacting badly with case-insensitive HFS+). GitUp was not at fault, and in fact I am happy that it helped detect this problem. Thanks to Pierre-Olivier Latour for his prompt, expert help.

Michael: maybe you should update the post as well to clarify that?

The problem was that on a case-insensitive file system like HFS+, if you have a repo with 2 files with the same name but different cases ("example.c" and "EXAMPLE.c"), your checkout cannot possibly match the HEAD as only 1 file can exist on disk.

Turns out that Git command line tool (and therefore all Git apps built on top of it), just silently ignores the problem.

GitUp, on the other hand, reports correctly that one of these 2 files has been deleted from the checkout.

Here is another forum post about the commit issue.

The commit bug is fixed in GitUp 0.8. I am impressed by the developer’s quick responses.

[…] recently rediscovered GitUp, and I like it much better now than the first time around. I’m not sure whether this is due to improvements in the app itself or simply my better […]

Leave a Comment