Performance Anxiety

Posted in Status Update on May 2nd, 2010 by Jason Heeris – 28 Comments

I’ve wanted to write something about our performance problems for a while now. It’s a long standing issue, and something that is a real showstopper for some users. I’ve written this for two reasons: firstly, to tell our users why we haven’t “just fixed it” yet; secondly, so that other/future developers can get an idea of the WHY of the architecture and not just the HOW.

read more »

RabbitVCS 0.13.1 Debian/Ubuntu Packages Released!

Posted in Miscellaneous on April 4th, 2010 by Jason Heeris – 13 Comments

I’m pleased to announce that I’ve (finally) finished packaging RabbitVCS 0.13.1 for Debian and Ubuntu! As always, the best way to obtain it is by adding our PPA to your software sources — follow the instructions there for your particular distribution. If you download it from the Google Code downloads page, note that there is a different core package depending on what distribution you use, but the other components should be the same from Ubuntu Hardy to Lucid and Debian Squeeze and Sid.

Remember:

  • you still need to install the core and an appropriate extension, eg. rabbitvcs-core and rabbitvcs-nautilus for the Nautilus extension.
  • Nautilus users should restart Nautilus or log out and back in for the new extension to be loaded

If there are any problems at all, please send an email to the general discussion list or file an issue with the Google Code issue tracker.

What Took So Long?

The dedicated amongst you may have noticed that I took an entire week getting this packaged and released. Well, the problem was that with 0.13, we decided to split out our upstream tarball to make it easier for users to install only what they need. However, we soon realised that:

  1. 99% of the tarball was taken up by the core, and
  2. we never really change the core or extensions independently anyway, and
  3. it’s a bloody pain

…so there wasn’t really any great gain to be had from that. In 0.13.1 we changed back to having a single “upstream” tarball, but still wanted to split out the various extensions and it was this detail that took me a while to figure out. From now on the tarball and the packages should be released at the same time.

RabbitVCS now in Debian

In other news, RabbitVCS has been accepted into the official Debian distribution. Debian users have the choice of using our PPA (I recommend following Lucid if you do), or simply waiting the extra 10 days for it to trickle into the testing distro (unless you use Sid, of course). One upshot of this is that it’s likely it will now make its way into the official Ubuntu repos too. Both of these events will make it much easier for new users of Debian and Ubuntu to find RabbitVCS.

As an aside, getting RabbitVCS into Debian was the reason I first got involved with this project in the first place, so it’s nice for me that it’s finally happened :)

Update to Release Announcement for RabbitVCS v0.13.1

Posted in Miscellaneous on March 27th, 2010 by Jason Heeris – 7 Comments

Sincere apologies to everyone! The package we uploaded still had some mixups in it from some restructuring we did. I’ve replaced the download on the Google Code project site, but beware that many web browsers can be rather aggressive in their caching of large files, so please check the file hash if you have any problems.

I’m working on the debs too :)

Release Announcement for RabbitVCS v0.13.1!

Posted in Release on March 26th, 2010 by Adam Plumb – Be the first to comment

Today we are releasing the first point release in the RabbitVCS v0.13 branch, tagged as v0.13.1  As this is a point release, it contains mostly bug fixes and updated translations.

Changes in RabbitVCS:

  • Fixed the merge tool so it actually works
  • Fixed the Create Patch dialog so it actually works
  • Jason’s awesome new property editor!
  • Removed help item from context menus
  • Show the revision after a commit
  • Mask the password in the Cert Authentication dialog
  • Commits are now done non-recursively, so child files will not be committed if not checked.
  • Many other bugfixes

Changes in RabbitVCS-nautilus:

  • Fixed bug where clock emblem is shown forever

Changes in RabbitVCS-thunar:

  • Menu item icons in thunar (<= 1.01) will now show up

Changes in RabbitVCS-nautilusold:

  • Multiple fixes to get extension working in CentOS and older distros
  • Added the Repository Browser menu item

Changes in RabbitVCS-gedit:

  • Fix exception when context menu is activated
  • Fix bug where dialogs don’t show up

Homepage:
http://www.rabbitvcs.org

Download RabbitVCS v0.13.1 at:
http://wiki.rabbitvcs.org/wiki/download

Note: We are releasing a single tarball archive now, instead of a core tarball and one for each client.  This should allow for simpler packaging and installation.

Note2: Distribution packages and our PPA will be updated within a day or two.

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

Respite for Fedora 64 bit users

Posted in Miscellaneous on March 1st, 2010 by Adam Plumb – 10 Comments

A long standing bug in nautilus-python has caused problems for Fedora 64 bit users (and others) wanting to use RabbitVCS.  When nautilus-python is loaded, it loads the python shared object library that is in /usr/lib.  However, some 64 bit distributions put their python library in /usr/lib64, and nautilus-python isn’t smart enough to deal with this correctly.

This was actually fixed in the recently released nautilus-python 0.6 series, but existing distributions will generally not upgrade to major new releases (0.5 to 0.6), so the fix would only apply to new distribution releases.  Fortunately, there has just been a new nautilus-python release in the 0.5 series (0.5.2) which fixes this bug and a few others, and I believe Fedora will upgrade to it, making it available for all users.

Once the nautilus-python Fedora package is upgraded, we will release a 64 bit RPM for RabbitVCS.

Release announcement for RabbitVCS v0.13!

Posted in Release on February 10th, 2010 by Adam Plumb – 5 Comments

The result of several months of hard work is coming to fruition today as we release RabbitVCS v0.13!  This release brings about some pretty important changes to not just RabbitVCS itself, but also to how we distribute and think of RabbitVCS.  Indeed, one of our early goals with this project was to not be tied to one file manager, or even to be tied to any file managers.  And I believe we are starting to see the fruits of that ambition in the v0.13 release.  Not only do we have a new and improved Nautilus extension, but this release also introduces a Thunar extension, a Gedit extension, and an improved command line tool.

Changes in RabbitVCS since v0.13 beta:

  • (r2240) Fixed exception in Gedit client after activation
  • (r2241) Checkout should be more flexible with the arguments it accepts
  • (r2242) Make sure dialog responses line up with expectations
  • (r2260) A different signal is required for gtk submenus
  • (2261) Applied patch from sipych to fix multi-byte char sequences in the log dialog
  • Some code cleanup and miscellaneous

Changes in RabbitVCS since v0.12:

  • Improved context menus and selection functionality in most dialogs
  • Massive overhaul in generating context menus
  • Added a “Changes” dialog to view changes between revisions
  • Added a “Check for Modifications” dialog to check for remote changes
  • Added a repository browser
  • All text views will provide a spell checker (if gtk.spell is installed)
  • All tree views for files will show icons next to the file name
  • Improved Diff/Compare functionality
  • Modified the Properties dialog to allow editing revision properties
  • Added functionality to the Annotate dialog to export to a file
  • Countless bug-fixes and small improvements

Changes in RabbitVCS-Nautilus since v0.12:

  • Improved status checking and emblem support, should be much faster now
  • Added a Property Page

Changes in RabbitVCS-CLI since v0.12:

  • Improved the handling of arguments.  Type “rabbitvcs -h” to get help or “rabbitvcs <module> -h” to get help.

Addition of RabbitVCS-Thunar:

  • Adds the RabbitVCS context menu and a property page to the Thunar file manager.  This requires the new thunarx-python bindings, which are available from our downloads section.

Addition of RabbitVCS-Gedit:

  • Adds the RabbitVCS menu to the main menubar and adds menu items to each source views’ context menus.

Addition of RabbitVCS-NautilusOld:

  • Provides an extension that is compatible with older versions of Nautilus (< 2.22).

Homepage:
http://www.rabbitvcs.org

Download RabbitVCS v0.13 at:
http://wiki.rabbitvcs.org/wiki/download

Note: You will have to download the rabbitvcs core files (rabbitvcs-core-0.13.tar.gz) as well as the front-end-specific tarball (i.e. rabbitvcs-nautilus-0.13.tar.gz).

Note 2: Our Ubuntu packages no longer support Hardy (8.04), so users should either upgrade or use the tarballs for installation.

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

Adam Plumb
The RabbitVCS Team

What version control systems are most important to you?

Posted in Community on January 30th, 2010 by Adam Plumb – 8 Comments

Although we are still finishing up our v0.13 release, our next big development push is adding support for Git and other version control systems to RabbitVCS.  But before we do that, I thought it would be nice to get an idea of what people are using on a day to day basis.  This poll allows you to select up to three options, so please do so and tell us what you’d like to see us support.

[poll id=”3″]

Release announcement for RabbitVCS v0.13 Beta!

Posted in Release on January 29th, 2010 by Adam Plumb – 13 Comments

After approximately four months of development, the RabbitVCS v0.13 branch is ready for regular people to start testing and abusing.  This release brings about some pretty important changes to not just RabbitVCS itself, but also to how we distribute and think of RabbitVCS.  Indeed, one of our early goals with this project was to not be tied to one file manager, or even to be tied to any file managers.  And I believe we are starting to see the fruits of that ambition in this first beta release.  Not only do we have a new and improved Nautilus extension, but this release also introduces a Thunar extension, a Gedit extension, and an improved command line tool.

As this is a beta release, you should expect bugs and other issues to crop up, not only with the program, but also with our new packaging system which separates our front-ends (extensions) from the core.  We expect to have distribution-specific packages ready this weekend, but you can start testing with the tarballs that have been released.

Changes in RabbitVCS since v0.12:

  • Improved context menus and selection functionality in most dialogs
  • Massive overhaul in generating context menus
  • Added a “Changes” dialog to view changes between revisions
  • Added a “Check for Modifications” dialog to check for remote changes
  • Added a repository browser
  • All text views will provide a spell checker (if gtk.spell is installed)
  • All tree views for files will show icons next to the file name
  • Improved Diff/Compare functionality
  • Modified the Properties dialog to allow editing revision properties
  • Added functionality to the Annotate dialog to export to a file
  • Countless bug-fixes and small improvements

Changes in RabbitVCS-Nautilus since v0.12:

  • Improved status checking and emblem support, should be much faster now
  • Added a Property Page

Changes in RabbitVCS-CLI since v0.12:

  • Improved the handling of arguments.  Type “rabbitvcs -h” to get help or “rabbitvcs <module> -h” to get help.

Addition of RabbitVCS-Thunar:

  • Adds the RabbitVCS context menu and a property page to the Thunar file manager.  This requires the new thunarx-python bindings, which are available from our downloads section.

Addition of RabbitVCS-Gedit:

  • Adds the RabbitVCS menu to the main menubar and adds menu items to each source views’ context menus.

Addition of RabbitVCS-NautilusOld:

  • Provides an extension that is compatible with older versions of Nautilus (< 2.22).

Homepage:
http://www.rabbitvcs.org

Download RabbitVCS v0.13 Beta at:
http://wiki.rabbitvcs.org/wiki/download/beta

Update: We have Ubuntu/Debian packages available for the beta now in our downloads section.

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

Big thanks and a great job to everyone on the team and everyone who contributed to this beta release!

Adam Plumb
The RabbitVCS Team

New release of thunarx-python bindings

Posted in Release, Status Update on January 26th, 2010 by Adam Plumb – 1 Comment

I am happy to announce that version 0.2.0 of the thunarx-python bindings have been released and are available for download.  The big news (and the only news) is that they can now run on any version of Thunar, all the way back to 0.4.0, so you don’t need to very latest release (v1.1.0) any more.

I’m in the process of getting thunarx-python hosted on Xfce.org, but it is slow going.  I’ll update everyone when this does happen, though.

Get it here: thunarx-python-0.2.0.tar.gz

SHASUM: e5838c597612d90f262add39ceae56dc59ad798b
MD5SUM: 6b6555157888e7dd91a15732b4970642

Git Repository: http://github.com/adamplumb/thunarx-python
Bug Tracker: http://github.com/adamplumb/thunarx-python/issues

Would anyone care for a Gedit plugin?

Posted in Community, Miscellaneous on January 25th, 2010 by Adam Plumb – 10 Comments

With some time to kill before our big v0.13 release, I wanted to see what it would be like to create a RabbitVCS plugin for Gedit.  It turns out, it actually isn’t too terribly hard.  In fact, all I needed to do was implement the Gedit plugin parts and write a new class to generate menus that work with Gedit.  Currently, the plugin has the narrow focus of providing menu items for RabbitVCS actions, but in the future it could be expanded to providing a sidebar panel, or more.

Here is a quick demo video showing RabbitVCS-on-Gedit in action!

If you’re interested in running the Gedit plugin, you’ll need to be running up-to-date code from our SVN repository.  The Gedit bits are here.  If you’d like to wait for a release, it will be available for the beta release (coming next week).

I’d love it if someone would like to take over this plugin and really make it something special, as I really just wanted to get the ball rolling and show that it is possible to take RabbitVCS outside of the file manager domain.  If you’re interested in contributing to or even taking over development for the Gedit plugin, send an email to our developer’s mailing list.