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:
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.