Release announcement for RabbitVCS v0.14 BETA1!

Posted in Release on November 27th, 2010 by Adam Plumb – 4 Comments

It has been about 10 months in the pipeline, but we’ve finally got something ready for people to actually start using and testing.  v0.14 will be a pretty ambitious release, actually.  Indeed, what we’re attempting to do hasn’t really been done yet, at least as far as I know.  In addition to continuing to support subversion as a version control client, we’re attempting to support the git version control system as well, using the same basic dialogs and the same codebase.

When I first designed and programmed the interface for RabbitVCS v0.12, I used TortoiseSVN on windows as my main inspiration, for the most part cloning its look and feel.  However, with this release I faced two main problems.  The first is that there aren’t any (or any that i saw) visual git clients that are integrated into a file manager and/or attempt to allow the user to control everything from the UI.  The second issue is that there aren’t any visual clients that I know of that support more than one back-end version control system.  So when I went about designing and implementing the system, I had to figure out how to solve many problems using my own intuition and common sense, and I am the first to admit that I may have been wrong about some stuff.  That is what this beta release is for.  I NEED YOUR HELP.  I need you to download and install this beta release and work with it to find its flaws and problems, because there are probably a lot.  But I know that there is also a lot of good in this release too, and I can’t wait to hear what you guys think.

So aside from git support what else is new?  Not a whole log, actually, aside from various bug fixes.  Git was the main focus.  However, there is one nifty change that people should like, and that is that the nautilus extension is now completely non-blocking.  Context menus will load asynchronously now.

Since the git support is so “experimental”, I’m planning on releasing at least two betas before we do the final release.  Your help is needed to test and report bugs or other issues, so that we can make a great final v0.14 release.

A quick note about installation:

In order to have the git support enabled, you need to have dulwich (http://samba.org/~jelmer/dulwich/) installed.  Dulwich is a low-level pure-python implemention of git.  Unfortunately for us, it is a bit too low level for our interests, so I’ve had to spend a lot of time and effort on writing a high-level layer on top of it that RabbitVCS can use.  dulwich is probably going to be transitioned out eventually, but for now it is a requirement.

Homepage:

http://www.rabbitvcs.org

Download RabbitVCS v0.14 beta1 at:

http://wiki.rabbitvcs.org/wiki/download

Note: Jason is working on debian/ubuntu packages, they should be available shortly.

Issue Tracker:

http://code.google.com/p/rabbitvcs/issues/list

A big thanks and a great job to everyone on the team and everyone who

contributed to this release!

Adam

P.S. for people who didn’t receive my message from a week or so ago titled “Development Updates”, you need nautilus-python 0.7.0 in order to have the nautilus extension completely asynchronous.  Some distros have 0.7.0 by default (like Fedora 14), but Ubuntu and Debian are still on 0.6.1 and they may not update to 0.7.0 by the next release (the package maintainer is on the fritz).  So you may have to install it yourself from the tarball.  I was talking to Jason and he may be able to provide a debian package for nautilus-python 0.7.0 in our PPA.

Development Updates

Posted in Status Update on November 15th, 2010 by Adam Plumb – 7 Comments

hi all, long time no see.  Some of you might have been wondering if RabbitVCS was dying or dead, and it isn’t, though truth be told it is limping a long a little.  Right now, Jason and I are the only ones actively writing code, and neither of us has much to time contribute to the project.  For myself, I used to work from home and could budget a certain amount of time during the day to working on RabbitVCS and other projects.  However, in late June of this year I got a “real” job with a “real” commute and all of a sudden my available time to work on side projects dropped over a cliff.  The good news is that about a month and a half ago I realized that on my bus trip to work in the morning (~25 minutes) I could get some programming work done.  So I purchased a netbook (Acer AIO 533), tethered it to my Android phone, and it has been a pretty successful idea.  I’ve been fitting in about 1.5 to 2 hours of side-programming per week this way, which is just enough to keep me happy.  I would love to be able to do more, and sometimes I’m able to, but this is good enough for now.

Aside from my personal update, here are the latest development updates to whet your appetites.  First of all, git support is coming along slowly but surely, and it will be available for v0.14.  Since git adds so many new concepts to the UI and to our code, we’re going to have a fairly long beta period where I hope people will be interested enough to try it out, suggest improvements, and maybe even be energized enough to get involved in some coding.  I can’t make any guarantees, but I think this might happen before Christmas.  The git support for v0.14 will be somewhat rudimentary, but it should allow you to do most of the things you need for git version control.

I also spent some time this past weekend and worked on making the RabbitVCS nautilus extension truly non-blocking, and I succeeded!  The trick of it is that while attaching the correct emblems to files has been non-blocking for a while, the parts of the extension that ask for context menu items has not been.  What this meant is that when you were loading a working copy, everything would be fine until you actually started clicking on stuff.  Once you did that, Nautilus would freeze for some amount of time until the menu was generated.  Unfortunately, until recently, there was no way around this due to limitations in the nautilus-python bindings.  I say “until recently” because in January of this year I took over development of the nautilus-python bindings and removed the limitation.  So with the release of nautilus-python 0.7.0 in May, we can finally populate context menus in a non-blocking way.  The catch is that this will only work if you have nautilus-python 0.7.0 or greater installed.  I just checked the package databases for Fedora and Ubuntu, and v0.7.0 is available for Fedora but not for Ubuntu (I just emailed the nautilus-python maintainer for Debian, so maybe it’ll be available in the next release).  However, we can probably set up 0.7 in a PPA for folks that want the newest shiny ;)

In summary, things are moving in the right direction, but just quite slowly.  There are definitely opportunities available for people who are willing to jump in and lend a hand (programming, packaging, whatever) so don’t be shy.