Quick extension/client usage survey

Posted in Community on December 10th, 2010 by Adam Plumb – 3 Comments

I’d like to gauge peoples’ interest in the various extensions and clients RabbitVCS provides as well as gauge interest in possible extensions/clients we might think about developing in the future.  Both polls allow for multiple answers (up to 2).  I’m interested in hearing comments as well, so don’t be afraid to leave some!

[poll id=”4″]

[poll id=”5″]

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″]

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.

Preview of RabbitVCS running on Thunar

Posted in Community, Status Update on January 21st, 2010 by Adam Plumb – 7 Comments

Getting RabbitVCS to run on Thunar required me to create python bindings for the Thunar Extension Framework, but that is done now and the thunarx-python bindings are a reality.  I’m in the process of getting the source code hosted on Xfce’s git repository.

With RabbitVCS running on Thunar, we’re a small step closer to one of our big goals, which is to become file manager agnostic.

You can read my post on our mailing list about my trials and tribulations getting this all to work, but RabbitVCS on Thunar is a mixed bag.  On the one hand, I was able to get sub-menus working without having to patch Thunar, but on the other hand, there will be no emblem support for the foreseeable future.  However, one thing that Thunar has that Nautilus does not is a get_dnd_actions call, which asks plugins for menu items for when the user drags and drops an item into a folder. I haven’t implemented it yet, but in the near future this will allow you to move files around in your SVN repository via drag ‘n drop in Thunar.  Also not implemented yet is a property page that reports file status and ownership, etc.  All of that will be ready for the v0.13 release.

For now, I leave you with a short video of RabbitVCS running Thunar.

Get thunarx-python here: http://github.com/adamplumb/thunarx-python.  I’ve made a release, and you can get that in the Downloads section in github.  Currently, the only way to install the Thunar extension for RabbitVCS is to check out the latest code from SVN and run the development install.  Instructions for installing a thunarx-python plugin is available in the thunarx-python README file.  If you’re willing to brave the install, I’d love to hear your feedback!

Preview of the Repository Browser for v0.13

Posted in Community, Status Update on January 7th, 2010 by Adam Plumb – 2 Comments

One of the final pieces of the puzzle for v0.13 is the repository browser, and I am quite happy with it.  Sure, I bailed on having a folder tree view, and there is no drap ‘n drop support for moving files around, but overall I think people will find it very useful when v0.13 is released.

Here is a quick ‘n dirty video I made showing some basic functionality.  Hopefully we’ll have an alpha or beta ready for v0.13 and more people can test the new stuff out.

Any programmers interested in a RabbitVCS sub-project?

Posted in Community on November 16th, 2009 by Adam Plumb – 6 Comments

Do you want to contribute to RabbitVCS, but you want to be in charge of what you’re doing, and you don’t want Jason, Bruce, or myself to get in your hair too much?  Well, one of the great things about RabbitVCS is that we are very modular, and we have grand ideas about what we want RabbitVCS to do, but we just don’t have the time to do it as fast as we want.  Here are some ideas we have for possible sub-projects that Python and C coders can pick up and run with.

Improve the Nautilus extension framework (C Programmers)
The current Nautilus extension framework is quite basic and isn’t really powerful enough for some of the things we would like to do.  The related Python bindings (nautilus-python) would also need to be extended along with it to be useful to us.  Your job would be to write patches for these code bases and possibly become an active maintainer for those projects.  Currently, the nautilus-python project does not have an active maintainer (that I know about)

Create a Thunar extension (C and Python Programmers)
As per our recent name change, our eventual goal is to be file manager agnostic, so RabbitVCS users aren’t stuck with GNOME all the time.  Currently, Thunar has an extension framework that is somewhat similar to Nautilus’s, but they don’t have Python bindings.  Your job would be to create Python bindings for the Thunar extension framework and then port our Nautilus extension code to run on Thunar (should not be difficult).  Or you could just write a C extension and integrate RabbitVCS as much as possible

Create a Dolphin/Konqueror/PCManFM extension (C and Python Programmers)
I don’t know what the current state of any of these file managers are with respect to plugins, but it would be great to create an extension for them.  Like the Nautilus and Thunar extensions, Python bindings would allow you to more easily integrate with our status checker/monitor.  But if you would prefer a C extension we can still integrate with that fairly well.

Create a gedit (or other text editor) plugin (C Programmers, I think)
It should be possible to create a plugin for gedit or any other text editor that puts our main context menu in gedit and launches our ui dialogs.  All it would take is for someone to spend the time getting it to work.

Create a standalone GUI client (Python Programmers)
There are plenty of standalone VCS GUIs out there, but one more won’t kill anyone ;)  Indeed, we could do some pretty cool things with a standalone GUI that we may never be able to do with a file manager extension.  Your job would be to create the GUI (using PyGTK) as you see fit and integrate the RabbitVCS dialogs and other code as much as possible.


These are just some of the ideas I’ve had.  I’m sure there are other good sub-project ideas, so just get in touch with us and we’ll help you get started!

A second extension for older distributions, seeking maintainer

Posted in Community on October 10th, 2009 by Adam Plumb – 1 Comment

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.

New architecture: DBUS for background operation

Posted in Community, Status Update on August 11th, 2009 by Jason Heeris – 5 Comments

Good news!

We’ve overhauled the architecture of the NautilusSVN status checker and things are looking better for usability and performance.  To try to solve our performance problems, we basically cheated (bear with me here…)

read more »

Don’t worry, we’re not dead!

Posted in Community, Status Update on May 7th, 2009 by Bruce van der Kooij – 1 Comment

I know that compared to the early months of 2009 it has been a little quiet around the project lately. But don’t worry, we’re not dead! It’s just that Adam is getting married this summer and quite understandably pre-occupied with planning the wedding. I myself simply haven’t had the energy lately to work on the project, there’s some tough issues to solve and I haven’t had any brilliant ideas.

I’d like to take a moment to thank everybody that has contributed to the project so far, from the people providing patches and translations to the people participating in the discussions on the mailing list and on this blog. Note that even though I haven’t yet participated in the discussions on this blog I always read the comments that everybody posts.

Since the 0.12 beta release in March there have already been over 3000 downloads and the project has been mentioned in well over 60 separate sites/blogs/forum threads etc. (yes I’ve actually been keeping track of this!). The reaction is overwhelmingly positive as also indicated from several very thoughtful messages to the mailing list ([1] and [2]).

For me personally my involvement in this project has been an amazing experience, one that I would like to continue. I consider my responsibility as a project manager to make the barrier towards contribution as low as possible and motivate the community to participate. There’s still a lot that needs to be done to make NautilusSvn more easy for us and other people to develop on and that’s going to be one of my major focus points

The coming months I will be focusing on refactoring NautilusSvn to make several improvements to the overall design which will lead to an overall better application but also improvements in performance and hopefully memory consumption. I’ll be documenting my progress on the Architecture and Code Sprint wiki pages.

Once actual work gets underway snapshots will be regurarly released. In the meantime people will have to make do with the current beta release.

Note that I’m still looking for help in getting the PPA set-up and ready to go for distributing NautilusSvn. The Launchpad buildbot is currently unable to build any packages for the sources I upload and I have not been able to understand from the logs yet precisely what the issue is. Contact me over the mailing list if you think you can help.

UPDATE: Thanks to Vadim Peretokin I figured out what was causing the Launchpad buildbot to fail on building NautilusSvn, turns out I was missing a few build-dependencies that were required because of commands called from the Python distutils script (pkg-config and gtk-update-icon-cache). Thanks Vadim!

Please don’t hessitate to drop by for a talk in our IRC channel #nautilussvn @ Freenode (chat.freenode.net)!


Translating NautilusSvn from Launchpad

Posted in Community on March 18th, 2009 by Adam Plumb – 2 Comments

With the strings frozen for v0.12, I’ve uploaded the translation template file to our launchpad page, and it is now possible to translate NautilusSvn directly from launchpad!  Simply follow the above link and click the “Help translate” button.  You can find more detailed instructions here.  Once you’ve completed your translation, open a new issue on our project site to let us know about it.

We already have french and german translations in our first beta and hope more people will help out and translate for us.  Thanks!