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.

RabbitVCS v0.17 Released

Posted in Release on June 23rd, 2017 by Adam Plumb – Be the first to comment

Hi all, you may have noticed me rummaging around lately.  I’ve been pretty much absent for a handful of years, but I got an itch recently to get back involved.  Thanks go to Daniel for picking up the slack while I and others were dormant and moving us into modern times with Github!

My goal with this release was to get RabbitVCS running fairly well on modern systems, to merge in the many generously contributed (and long ignored) pull requests that have accumulated the past few years, and to fix as many bugs as I could find and reproduce.  I went through most of the issues backlog to pick off what I could with limited time, and I feel like I reached a pretty good checkpoint to create a tag.  There are a few minor enhancements in the mix, but this contains mostly fixes for bugs and crashes.  You can grab the v0.17 files here.

Regarding packages, Jason has stepped down as our resident packager for Ubuntu.  He’s done a great job over the years and I’m not really sure what’s going to happen with that.  If someone wants to step up I’m glad to help them however I can.  There are also packages in Fedora that we’ll want to update, though I don’t have a hand in that.  In the meantime, I would advise you to just install manually using the updated README as your guide.  The only changes in terms of dependencies listed is tkinter for python, which was unfortunately added for some one-off (though useful) git client changes.  I’d like to eventually replace these with gtk+ dialogs.

As for the future, here is a short list of some goals I have:

  • One pull request I merged introduced some modifications that should help with an eventual shift to python3, which I’d like to complete at some point.
  • Move us entirely onto Gtk+3 and gobject introspection, as we’re currently stuck with pygtk2 for our dialog windows.
  • Improve the performance and memory usage of the Nautilus extension, which should help with larger repositories.  In addition, I found a bug in Nautilus that is preventing our context menus from working fully correctly and I’m hoping to get that resolved soon for a future Nautilus release.
  • Regarding the wiki and website, they are quite out-dated and I’d like to move the wiki to Github and consolidate a bit.
  • Hopefully get the Gedit plugin working again.  It broke when they switched to python3.  I spent a little time on it but it seems like there were underlying changes to the Gedit plugin API and I don’t have the time right now to dive in.

So there is lots to do just to stay above water level here, and I can’t promise what will get done.  New features will probably be on hold until some of these more important things happen, so feel free to jump in.


RabbitVCS v0.16.0

Posted in Release on March 2nd, 2014 by daniel.oconnor – 10 Comments

With the shift to github out of the way, we’ve decide to release a new version of rabbitvcs.

It’s available via github, and contains 16 important bug fixes and features.

Please report issues via github

We’ve uploaded Ubuntu packages to the main PPA, and other distributions are encouraged to produce their own packages as needed.

One important note, Launchpad won’t accept new packages for certain distributions because they are considered obsolete.

These distributions are:

  • Maverick (10.10)
  • Natty (11.04)
  • Oneiric (11.10)
  • Raring (13.04)

 Unless there is significant demand, we also will be ignoring these releases.

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!

Released v0.15.0.5

Posted in Release on November 9th, 2011 by Adam Plumb – 42 Comments

hi all, thanks go to rkrug, basil2, and macavity for helping me figure
out what why we were seeing seg faults in nautilus.  The problem seems
to affect people with python-gtkspell installed.  That is a static
module that uses static gtk as a dependency, and when it tried to
import gtk it would create a seg fault.  Unfortunately, there doesn’t
seem to be dynamic bindings for gtk spell module so I’ve disabled it
for Nautilus 3 users.  This update should also fix the issue where it
would report that it couldn’t load certain svg or svgz files.

The new tarball (hopefully the last for a while) is up now on our
download section.

RabbitVCS v0.15.0.4 released, Ubuntu tarball installation info

Posted in Release, Status Update on November 9th, 2011 by Adam Plumb – 3 Comments

hi all, so I’ve made yet another packaging related release with v0.15.0.4 which fixes some minor issues.  I also found out that if you are installing from the tarball on Ubuntu, then you need to add an argument to the setup.py call, otherwise it will ignore the system prefix and use /usr/local no matter what, which will cause many problems.

Ubuntu users should use the following command to install:

$ sudo python setup.py install –install-layout=deb

All other users should do:

$ sudo python setup.py install


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.


Release announcement for RabbitVCS v0.15!

Posted in Release on November 4th, 2011 by Adam Plumb – 36 Comments

Good news!  RabbitVCS v0.15 is out!

This release is mainly focused on adding Nautilus 3.0 support with the
new nautilus-3.0 client extension.  However, there are quite a few bug
fixes and changes in there as well, including migrating from Glade to
GtkBuilder for dialogs.

Download RabbitVCS v0.15 at:


Note: We should have new packages in our PPA within a few days.

Issue Tracker:

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