For me, and I think for a lot of other people, one of the key missing pieces of functionality for RabbitVCS v0.12 is robust support for comparing files, folders, and revisions; so this is the first thing I started working on for v0.13. So far, I’ve updated the log viewer and created a new dialog devoted to comparisons, but I’ll be improving context menu functionality throughout all dialogs. Here is a video preview of the new log view functionality and the compare dialog.
Today, I happened upon the code_swarm project, which allows you visualize your project’s development over time. One of the neatest things about it does everything from your repository’s log. Here is what code_swarm spit out for RabbitVCS. Pretty cool…
Some older distributions, such as RHEL5/CentOS5 and Debian Lenny (and older) just don’t work with the RabbitVCS v0.12 extension code. One of the problems is that we use code that requires the most recent nautilus-python (the python bindings we use to extend nautilus), and even a relatively recent Nautilus and that code is often not available on older distributions. In addition, we have several other dependencies in v0.12 that need relatively recent versions to work.
Fortunately, there is a way out. The NautilusSvn v0.11 extension code is actually quite simple and straightforward, and will work on very old versions of Nautilus and nautilus-python. So what I have done is set up a second extension folder in our repository called “nautilusold” based on the code from the v0.11 extension, but the nice part is that it connects to all the windows and dialogs in v0.12. Check out this video of RabbitVCS on CentOS 5.
Right now, this new extension is only available in trunk, and is not packaged, but you can easily install it by replacing the RabbitVCS.py in your extensions folder with the nautilusold/RabbitVCS.py file. It is as simple as that!
All is not perfect, however. As you may have noticed from the video, submenus don’t work quite right in older versions of nautilus-python, so all menu items have to be fit on the main Nautilus context-menu.
Also, since this is an entirely separate module from the standard extension code, it needs to be maintained and hopefully improved. That is why I’m sending out a call to anyone who is interested that we would love to have someone dedicated to maintaining and improving the nautilusold extension. I’ve gotten it to a good working state, but there is still plenty to do, such as:
Integrate with our v0.12 translations
Clean up the menuitems logic code, and possibly figure out a way to use submenus
Improve the status monitor to remove the need for the “Refresh Status” button
Figure out how to get our existing nautilus extension to work with older distros so we don’t need this second extension.
If anyone is interested in carrying the torch on, please get in touch and I will be happy to get you started.
We are excited to announce the release of RabbitVCS v0.12!
This release is a complete rewrite of v0.11, and supports nearly all Subversion functionality. In addition, we have support for more languages, have a neat command line utility to interact with our dialogs, and we have several easy to install packages.
Finally, you may have noticed our most visible change, our new name! Our eventual goal is to support multiple version control systems and to even extend other file managers and programs, so we decided on a platform-agnostic name, and our first major release with the new team seemed like the perfect time to make this change.
WHAT’S NEW SINCE THE BETA?
* Status checks are now done asynchronously and won’t lock up Nautilus
* Lots of bugs have been squashed
WHAT’S NEW SINCE v0.11?
* Vastly improved status monitor and emblem support
* Complete rewrite of the Nautilus extension, VCS layer, and user interface
* Nearly full Subversion functionality
* Easy to install packages for Ubuntu, Debian, and Fedora
* Fully internationalized with many translations available
* Command line integration to easily launch our dialog
ABOUT RABBITVCS
RabbitVCS is a project with the goal of developing a collection of utilities to allow for better client integration with some of the popular version control systems. We currently support the Nautilus File Manager and the Subversion version control system.