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.

VN:F [1.9.7_1111]
Rating: 5.0/5 (5 votes cast)

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.

VN:F [1.9.7_1111]
Rating: 4.9/5 (9 votes cast)

Release announcement for RabbitVCS v0.13.3!

Posted in Release on June 16th, 2010 by Adam Plumb – 14 Comments

It’s that time again, time for another RabbitVCS point release!  RabbitVCS v0.13.3 brings to the table the following bug fixes:

Core:

  • Bug #371, When double-clicking a Previous Message, only the most recent message would be returned
  • Bug #375, Some VCS actions were not prepared to ask the user for authentication.  The result was an error.
  • In the Repository Browser, double-clicking “..” does the correct thing again (goes to parent folder)
  • Bug #371, Allow diffs of directories
  • Bug #363, Prepend the file:// protocol to strings PySVN expects to be URLS
  • Bug #331, Quote URLs when passing them to VCS functions
  • Many other bug fixes

Nautilus Plugin:

  • Bug #296, No longer forces the English language

Gedit Plugin:

  • The v0.13.2.1 release broke the gedit plugin, but it is fixed again with this release.

Homepage:

http://www.rabbitvcs.org

Download RabbitVCS v0.13.3 at:

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

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

Note2: Ubuntu 8.10 (Intrepid) users should be aware that Intrepid has reached end-of-life status and our PPA packages will no longer build for it.

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

VN:F [1.9.7_1111]
Rating: 4.4/5 (8 votes cast)

Release announcements for RabbitVCS v0.13.2!

Posted in Release on May 29th, 2010 by Adam Plumb – 6 Comments

Apparently there were a lot of bugs in the v0.13.1 release because here is an unprecedented SECOND point release, fixing bugs like there is no tomorrow.  Most of the bugfixes are in the core app and not in the plugins.

Also, here is some more good news.  After several months of grueling back and forth, Juan (Nushio), our resident Fedora packager, has gotten RabbitVCS included in the official repositories, so starting pretty soon you Fedora users will be able to install RabbitVCS directly through the official repositories.

Here is a bugfix summary:

Core:

  • Fixed some locale issues
  • Fixed some minor issues for folks running python 2.4
  • Small change to follow Fedora packaging guidelines, we’ll be in the Fedora repositories now!
  • Bug #344, ‘Failure to rename because “The new name field is required”‘
  • Bug #363, ‘Can’t use repo browser without a working copy: “. is not a working copy”‘
  • In the Repository Browser, save urls when the user manually changes location
  • When the Repository Browser is opened as a dialog, the “Close” button is renamed to “Select”.
  • Bug #367, ‘Activating file in repository browser does not open, but thinks it’s a directory’
  • Bug #361, ‘On Merge dialog leaving empty revision field cause hangup’
  • Bug #360, ‘clear authentication information does not work’
  • Backported a fix from trunk that allows one to double-click on a  message from the PreviousMessages dialog to select it.
  • Bug #349, ‘Log top context menu: Re-enable update to revision feature’
  • Bug #345, ‘Edit Property Value Doesn’t Fill Window Vertically’
  • Bug #356, ‘Gradual accumulation of unterminated python subprocesses’  Note: This may not be 100% fixed, but we got at least one of the main causes
  • Don’t show the Loading dialog twice when getting a diff from the log dialog
  • All dialogs should have the rabbitvcs icon in the window

Nautilus Plugin:

  • Fixed problem where the extension would still do all the status checking work even if both emblems and attributes (columns) were disabled.

Gedit Plugin:

  • Bug #341, ‘Gedit plugin should be full menu rather than a part of “tools”‘
  • Fixed some issues with older version of Gedit (r2425)
  • Bug #325, ‘Make sure a window exists before updating it.’

Homepage:
http://www.rabbitvcs.org

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

Note: 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

VN:F [1.9.7_1111]
Rating: 4.6/5 (9 votes cast)

Performance Anxiety

Posted in Status Update on May 2nd, 2010 by Jason Heeris – 27 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 »

VN:F [1.9.7_1111]
Rating: 4.9/5 (21 votes cast)

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 :)

VN:F [1.9.7_1111]
Rating: 4.5/5 (11 votes cast)

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 :)

VN:F [1.9.7_1111]
Rating: 5.0/5 (2 votes cast)

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

VN:F [1.9.7_1111]
Rating: 5.0/5 (1 vote cast)

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.

VN:F [1.9.7_1111]
Rating: 5.0/5 (2 votes cast)

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

VN:F [1.9.7_1111]
Rating: 5.0/5 (6 votes cast)