The 2025 Wheel Reinvention Jam just concluded. See the results.
An experimental visual Git client with an emphasis on history editing.

About Dragit


The core idea of Dragit is to make a visual Git client free from the conventions of the Git terminal. This may seem surprising, given that "visual" Git clients are a dime a dozen, but I contend that basically all Git clients are being held back by Git's terminal UI.

The strongest example is git log. Many Git clients present a "graph" view of your commits that show merges and forks. However, they still insist on showing all commits in chronological order. Why? Because their idea of a "commit graph" comes straight from the terminal:

image.png

This is git log --oneline --graph. Every Git client I've ever seen, with the exception of GitUp, graphs commits in exactly this way. This is a huge waste! Especially because this chronological order communicates nothing about the actual history structure of the repo.

So, the fundamental questions I want to explore are:

  • How can we make the Git commit graph communicate the bigger picture of a project's history?
  • How can we make history editing more intuitive?

Unfortunately, due to other responsibilities and some difficulties with Orca, I was not able to achieve the workflow I wanted to achieve during the jam.

I spent a lot of time just figuring out how to lay out a graph of commits like this. Turns out it's a challenge! I maybe should have dropped that approach and tried something else, but I felt it was pretty fundamental to the history-editing workflows I had in mind...which I didn't have time to build.

Read more
Filters

Recent Activity

Unfortunately I didn't get to the interesting history-editing features I had in mind during the jam. I did at least manage to produce a git commit graph with collapsible commits. The idea is to condense the history of a repo so that the branching structure stands out more than all the individual commits. &dragit

View original message on Discord

Witness my visual git client! You can tell it's visual because you can pan and zoom. &dragit

(This is actually just proving that I have an Orca app up and running with git commands, which...took a while. The fun stuff starts now, finally.)

View original message on Discord