weblog of szilveszter farkas
Matthew Revell has mentioned today that he wants to encourage developers to write about their Bazaar Sprint activities. Actually I’m here in Amsterdam to improve the GTK-based graphical interface for Bazaar, and implement some missing features (and also to start working on the long-awaited TortoiseBZR). I’d like to give you some insight into the work I’ve done so far.
PoC (hopefully not Piece of Crap™) code to kick off TortoiseBZR
Right at the beginning on Monday I had a discussion with Robert about TortoiseBZR and how we should get started with the whole thing. He pointed me to a simple example of extending the Windows shell. First a screenshot about the context menu entry:
After you click on the entry, you get a Commit dialog (of course only when the selected file is inside a branch):
The code that’s launched by clicking on the menu entry to display the Commit dialog is available here.
Unfortunately I’m not a Win32 API and COM magician, so I’d welcome any contributions in this area to make Bazaar rock really hard on the Windows platform as well.
Get rid of Glade
After a short discussion with Jelmer, we came to the conclusion, that using Glade from Python is not that efficient, so I’ve began to rewrite several dialogs according to this. That also gives us more power, since the new dialogs can act as real dialog giving us responses (e.g. the file list panel in Olive refreshes itself after a successful commit).
Added ComboBoxEntry with history to the Branch, Checkout, and Push dialogs
Branch and Checkout dialogs will remember all your successfully branched/checkouted locations for you. The same applies for the Push dialog on a per-branch basis.
Revision Browser dialog
Until now you just had an entry box where you could specify the number of the revision you wanted to branch or checkout. I’m proud to present you this nice little thing that makes your lives easier:
You just need to double-click on a revision to get its number filled into the entry box on the Branch dialog:
Experienced users can spot another new feature on the screenshot above: you can specify a branch nick, so bzr-gtk will not decide it for you anymore (based on the branch location).
Some new commands on the command line
We already have a bunch of commands available from the command line (gannotate, gbranch, gcommit, gdiff, visualize), but we’d like to provide a graphical alternative to all core bzr commands. You can now also use gcheckout and gpush.
All these features are available from the trunk.
Have a question or idea?
If you have a question regarding the development, or have an idea, or just want to say hello, drop me a line in the #bzr channel on irc.freenode.net (alternatively you can also leave a comment or e-mail me at phanatic at your-favourite-distro dot com).
Hint: your-favourite-distro should be ubuntu ;)
5 Responses to Bazaar Sprint – Status Report
S. Kochen
February 1st, 2007 at 22:33
Fantastic work!
I recently started using bzr, and I’m mostly using it in Linux now. I’m still poking around a bit. I also dual boot to Windows, and this kind of thing will definitely make life much, much easier.
Truly awesome. Keep going! :D
Mike
February 1st, 2007 at 23:22
Hi,
I wanted to send your an e-mail, but it always returns, saying that phanatic@debian.com is no e-mail address.
Weird,
Mike
phanatic
February 2nd, 2007 at 00:28
Mike: very funny indeed… Actually I hoped that people get it when reading my entry on Planet Ubuntu (I suppose you got here through that site as well). So if you really want to send me an e-mail, please send it to @ubuntu.com. Thanks.
Jeff Schroeder
February 4th, 2007 at 16:47
Nice work! One thought when reading “gdiff” is you should make it look like meld. For a graphical diff, meld is beautiful:
http://meld.sourceforge.net/
Keep up the good work though.
phanatic
February 4th, 2007 at 22:24
Jeff: there is a bug filed requesting the same you’ve asked for. So we’re working on the solution :)