Scratching an itch -- make bzr-gtk collapse
Lately, I've been working on scratching an itch I have with bazaar. It's a great tool that I use a lot, but I find myself committing a GNOME heresy: one of the tool I use most, "bzr qlog" (which is great by the way), is a QT application in my nice GNOME environment. Heresy!
The thing is, there is indeed a gnome alternative in "bzr viz", but it's got a limitation that is annoying for me. Both tools show the history of a bazaar branch, displaying various information (revision number, first line of commit message, author, ...) and a nice graph of revisions and how they are merged together. The big difference being that the whole revision history is expanded in "bzr viz", whereas "bzr qlog" has each merge revision collapsed, which you can expand by clicking on it. This is an invaluable feature that made "bzr viz" a no-no for me. But soon no more! I've worked on a branch of bzr-gtk that provides branch collapsing, and it's already functional; you can find it at lp:~guijemont/bzr-gtk/collapsed_merges.
Obligatory screen-shots after the jump:
(before)
(after: notice the "+" buttons on the left)
I still have some work to do on that to make it as great as I'd like, which means it might not be upstreamed before a small while. Some issues to fix:
- I have discussed with the great folks on #bzr, namely GaryvdM, jelmer and vila, and I think we all agree that bzr viz is slow, whereas bzr qlog feels much faster, and the good thing is that the graph generation stuff in bzr qlog is quite well separated from the UI stuff, so it should be pretty easy to use it in bzr-gtk. The medium-term goal would be to put that generation code in bzrlib, and have both qbzr and bzr-gtk use it.
- I don't like much the way TreeView displays the trees. I'd much prefer if the "+/-" signs were in the revision node thingies, like it is in qlog, and if the revision numbers were not moved to the right when in subtrees (if you're at level 2, you can't see the revision number in full any more)
No comment
Post a comment
All comments are held for moderation; basic HTML formatting accepted.