RabbitVCS v0.18 Released

Posted in Miscellaneous on February 12th, 2020 by Adam Plumb – Be the first to comment

After two and a half years, and the help of a bunch of people we have managed to finish our migration to GTK+3 and Python 3! It honestly was a ton of work to get this done and it almost definitely wouldn’t have been completed without the help of Patrick Monnerat to not only get us to the other side of that but do so in a thoughtful and well-engineered way. Thanks Patrick!

While the move to GTK+3 and Python 3 was the main emphasis of this release, there were a ton of other small improvements and bug fixes that should hopefully provide a more stable and useful experience. Here is a short list:

  • Migrated to GTK+3, GTK+2 is no longer supported
  • Now support python 3
  • Improved the annotate window with colors and context-menu
  • Allow for setting a default commit message
  • Add support for Pluma text editor
  • Rename the nautilus-3 and thunar-gtk3 clients to nautilus and thunar, previous clients are removed
  • Pulled in nemo extension
  • Tons of bug fixes and minor improvements
  • See the commit log for more

You can grab the new release on our github release page.

Moving to Github

Posted in Miscellaneous, Status Update on February 10th, 2014 by daniel.oconnor – Be the first to comment

We’re shifting to github.

The existing issue tracker and downloads will remain in place on google code, but new issues and releases will be via github.


RabbitVCS v0.15.2

Posted in Miscellaneous on October 22nd, 2012 by daniel.oconnor – 23 Comments

We’ve seen quite a lot of activity from the community since our past 0.15.1 release, in the form of patches, bug reports and discussion.

We’re proud to announce the 0.15.2 release, which aims to resolve a number of painful or annoying defects.

The changelog contains the full detail.

Download RabbitVCS v0.15.2 at:




Issue Tracker:

Thank you for all of those that have contributed patches to this and the upcoming 0.15.3 release.

Announcing RabbitVCS v0.15.1

Posted in Miscellaneous on August 24th, 2012 by Adam Plumb – 7 Comments

This one has been a long time in coming, but here is the release for RabbitVCS v0.15.1.  This is one of our less focused releases, and is really more of a development snapshot so people can get the bug fixes and new features we’ve been working on.  Here’s a quick list of changes:

  • Added an OSX Finder extension!  Thanks to Marianne Gagnon (auria.mg) for your work on this, it is really wonderful to see.  It is still a little experimental and might need some polish, but people are welcome to try it and hack on it.
  • Updated the Gedit plugin to work with Gedit3
  • Added a mercurial status checker to the nautilus extension (does not include context menu or functionality)
  • Andreas has done a lot of work on our Git support, improving formatting and adding progress bar support to our notification dialog (Thanks Andreas!)
  • Improved git push and git merge dialogs, and fixed various other miscellaneous git UI bugs
  • A dozen or so other bug fixes
Also a quick note.  Now is a great time to start contributing to RabbitVCS if you’ve been wanting to.  There is still a lot to do: new features to add and bugs to fix!  Get in touch with me if you want any help and I’ll be glad to give it.  Remember, this is a community effort and you can help to make RabbitVCS work for you.

Download RabbitVCS v0.15.1 at:


Issue Tracker:

A big thanks and a great job to everyone on the team and everyone who
contributed to this release!

A word on that pesky segmentation fault issue…

Posted in Miscellaneous, Status Update on November 8th, 2011 by Adam Plumb – 12 Comments

hi all, I just wanted to explain why so many of you are getting segmentation faults when you try to run the nautilus 3 client.

The pygtk world used to be quite simple and nice, with good documentation and well known best practices.  These were “static” gtk bindings that someone had to set up by hand (including me for nautilus-python).  These bindings were a pain in the butt to maintain over time but they worked pretty well and were predictable (good for coding against them).  However, a couple years ago the pygtk maintainers decided to abandon these bindings and start from scratch with “dynamic” bindings that would execute the original C code of the gtk library, which would have the effect of dramatically reducing the amount of hand-written binding code the pygtk developers would have to maintain.  These new dynamic bindings have been released for a while but are still pretty new to the world, but for the most part they work pretty well.  As you might be able to tell, the original Nautilus extension used the static pygtk bindings to run, and the new Nautilus 3 extension uses the new dynamic bindings to run.
Running Nautilus 2 with the static bindings works great, and running Nautilus 3 with the dynamic bindings works great as well, but problems start to occur when you try to run Nautilus (2 or 3) with both the static and dynamic bindings at the same time (this is possible).  Unfortunately this is what is happening for many of you right now.  Some extensions are written with the expectation that they can run with a mix of static and dynamic bindings, and if Nautilus 3 loads extensions that try to use the static and dynamic versions of a set of bindings at the same time, it will crash.

I’m not entirely sure what the solution to this is, though it will become less of a problem over time, as people switch completely over to the dynamic bindings.  However, for now, things will be a bit messy and you will have to decide which extensions you want to run.  Right now, the Nautilus 3 RabbitVCS extension uses dynamic bindings.  If you see the following error:

** (nautilus:2259): DEBUG: Syncdaemon not running, waiting for it to start in NameOwnerChanged
/usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0′ failed
import gobject._gobject
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: specified class size for type `PyGtkGenericCellRenderer’ is smaller than the parent type’s `GtkCellRenderer’ class size
from gtk import _gtk
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: assertion `node != NULL’ failed
from gtk import _gtk
Segmentation fault

Then it means you have another extension running that is trying to use the static bindings.  If you see this error (check in ~/.config/rabbitvcs/RabbitVCS.log) and your Nautilus isn’t able to run, first disable all nautilus-python extensions, then try to run RabbitVCS again.  Then one-by-one, enable your other extensions until Nautilus crashes again.  You should then report the issue either to myself or to the maintainer of said extension.

Hopefully this will resolve itself within a year or so, but until then it will be a somewhat bumpy ride.


Long overdue update on GNOME 3 compatibility

Posted in Miscellaneous on October 19th, 2011 by Adam Plumb – 19 Comments

Hi all, sorry for leaving everyone hanging for so long.  I’m still alive, but I haven’t been working on RabbitVCS much over the past several months and because of that, there hasn’t been much to say.  The good news is that I’ve just released nautilus-python 1.1, which adds pygobject 3 compatibility (needed for GNOME 3.2), and I’ve fixed some major bugs in the RabbitVCS Nautilus 3 extension, which gets it working pretty well for me in GNOME 3.0 and GNOME 3.2.  There is a good chance I’ll do a release soon, just to get GNOME 3.x working for all of you who have been patiently waiting.  This release might not have many other fixes or enhancements to speak about, but it will at least get things moving in the right direction.

RabbitVCS now packaged for Ubuntu 11.04 (Natty)

Posted in Miscellaneous on June 15th, 2011 by Jason Heeris – 22 Comments

I have finally gotten around to updating the packages in our PPA for Ubuntu Natty. Users should be able to follow the instructions on the PPA page to install RabbitVCS and be kept up-to-date with the latest packages.

One disclaimer though: it’s not yet possible to run Ubuntu in Unity mode in a virtual machine, which means I have no way of testing RabbitVCS under Unity. I’ll still try my best to help users if they run into problems, but you need to be aware it’ll be very hard to troubleshoot for the time being.

Let me know if there are any problems with installation!

February status update

Posted in Miscellaneous, Status Update on March 17th, 2011 by Adam Plumb – 20 Comments

Things have calmed down somewhat since the v0.14.2.1 release and I’ve been wanting to post an update on my RabbitVCS-related goings on.  So what have I been up to?

Well, some of you may have heard about GNOME 3, which is scheduled to be released within a month or two. Unfortunately, the current versions of both nautilus-python and RabbitVCS are completely broken in GNOME 3 because PyGTK has not and will not be ported to GTK+3, and nautilus-python is what RabbitVCS uses to interface with the Nautilus extension framework.  The good news is that not only am I the maintainer for RabbitVCS, I’m the nautilus-python maintainer as well!  I’ve just about gotten the new bindings to work correctly on GNOME 3 and will put out a release as soon as possible.  They will require Nautilus 3 and the next bug-fix release of PyGObject 2.28 (I uncovered a bug in the current version).

The result of all of this is that I will need to port RabbitVCS’s Nautilus client to GTK+3, and possibly the rest of RabbitVCS as well.  It’s going to get a little hairy for a while as we figure out what to do.  So if anyone has any ideas, I’m all ears.

I’m also the maintainer of thunarx-python, which I started originally as a project on github.com, and I recently did my first release as an officially hosted Xfce project!  I just released v0.2.3 last weekend and the project is stable and ready to be packaged by distributions.

Once I get this nautilus-python release out the door, I will start focusing on RabbitVCS bugs once again and maybe make some more progress on advancing towards v0.15.

Happy St. Patricks Day!

Looking forward to the v0.15 release

Posted in Miscellaneous on January 12th, 2011 by Adam Plumb – 14 Comments

The release cycle for v0.14 ended up being quite long for a variety of reasons, and though I accomplished most of my goals for the release (adding git support, improving the nautilus extension), there is always more to do, more functionality to add and more bugs to fix.

Our next release

Since I started working on this project (2+ years now), there has been a subtle pattern to our releases.  v0.12 was a complete rewrite of the original framework along with a bunch of new functionality, and v0.13 added onto it, filling out the functionality and fixing bugs.  v0.14 was similar to v0.12 in that it pushed some boundaries by adding git support, and I think v0.15 should continue the pattern by filling out the existing functionality and not doing anything too ambitious.  I originally had planned on adding support for another VCS in v0.15, but instead it will be used as a stepping stone for v0.16.

With that said, here is roughly what I’d like to accomplish for v0.15 (subject to changes of course):

  • Add a recursive/asynchronous status monitor to the Nautilus extension
  • Add RabbitVCS menu items and emblems to the Gedit file browser plugin
  • Convert all dialogs from glade to gtkbuilder
  • Refactor VCS abstraction code to make it easier to add new VCSs and UIs

These may or may not get done for v0.15 but these are goals.

Looking for contributors

While I will continue working on RabbitVCS for the forseeable future, and I do get occasional help from Jason and Juan, it would be great if more people would contribute to the project, even if in small ways.  If you know python and can spare some time, check out our issue tracker and see if you can fix a bug or implement a feature request.  If you don’t know python but you know some other language, maybe you can work on a new client, like a Windows shell extension, a Mac Finder extension, a KDE extension, or a standalone application for accessing RabbitVCS functionality.  Or if you don’t want to do any programming, you can help keep the website/documentation up to date, manage our translations, or triage bug reports.  You can go as big or as little as you want with your contributions.  I look forward to hearing from you!


Looking for feedback for v0.14 BETA.

Posted in Miscellaneous on December 1st, 2010 by Adam Plumb – 6 Comments

It has been a few days and so far about 27 users have downloaded the new v0.14 beta tarball from our project site, and I haven’t heard much back yet.  I was especially hoping to get feedback from people using the new git features, since they are the newest and most experimental.

If you haven’t downloaded and installed the beta yet, get it here. Ubuntu/Debian users can use our testing PPA.

Feel free to leave your feedback in the comments section.  I am happy to help users who need installation assistance.