Progress on the status monitor reincarnation branch

Yesterday I spent all day working on the reincarnation of the status monitor. Basically what this means is that I started from scratch, worked out the ideal architecture based on past experience and starting reassembling the extension by copying code from trunk and the old status monitor back in (reviewing it and improving it wherever needed).

I’m far from done, for example I haven’t yet started on implementing the ideas for the auto-updating status tree, but it’s starting to look pretty descent. Besides obviously removing a lot of crud by refactoring, here’s what major things have been done so far:

  • Reimplemented the status monitor, but this time using gio.GFileMonitor. Not only does this mean that NautilusSvn will run on all systems that support GFileMonitor (e.g. *BSD) but the resulting code is even prettier!
  • Moved to using anyvc for the VCS Abstraction Layer. This library was originally developed for usage with PIDA, a Python IDE. This means that there’s now free emblem handling for at least Subversion, Bazaar, Git, Monotone, Mercurial, Darcs. So no matter what VCS you use you will always see pretty emblems!

What’s still missing:

  • The context menu. I still have to port this to using anyvc.
  • The entire GUI Layer. This also has to be ported.
  • The status tree implementation as discussed on the Architecture wiki page.

If you’re interested you can take a look at the resulting code. Once I get this branch into shape I’ll start making development snapshots so everybody can play around with it.

In other news 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!

4 responses to “Progress on the status monitor reincarnation branch”

  1. Rajder says:

    Are there some secret progress or has things stalled? Hope everythings going fine, I’m really looking forward to the next release.

    • You are correct, little work has been done since May (see updates). We’ll see if we can pick up some momentum over the the next month or so. Traditionally though this has been quite typical of development on NautilusSvn, short code sprints with frequent naps in between. If it wasn’t for Adam, who’s currently preoccupied with work and such, we probably wouldn’t have been at this stage today.

  2. Rajder says:

    Ok ok not complaining here ….or maybe a little.
    I’ve got some python experience my self using it almost on a daily basis at work, can I become a committer? I can’t promise to make huge improvements to the code just yet since I’m almost completely new to linux so it will take some time to get used to file permissions and stuff, but I’m getting there :)

    if you want my help just drop an email to:
    r a j d e r
    g m a i l

    • Vincent says:

      Also dropping a note here that I’m eagerly anticipating a new version that doesn’t hog memory and cpu :D

      But seriously, keep up the good work, looking forward to upcoming releases.