Highlighting the Commit window

Posted in Miscellaneous on February 9th, 2009 by Adam Plumb – 1 Comment

This is my first post highlighting NautilusSvn’s many UI windows and dialogs.  First in line is the frequently used Commit window.

The Commit window provides an interface for committing or checking in modifications made to your working copy.   The first area of the window, “Commit to:”, shows you the repository you are working with.  The “Add Message” area allows you to add a log entry to your commit.  The Changed Files table shows all added, deleted, modified, missing, replaced, obstructed, or unversioned files.  Best of all, there is now a context menu that gives you the opportunity to View Diff, Open, Browse to, Delete, Add. Revert, or Ignore the file in question.

screenshot-commit

When you click the “Previous Messages” button, a dialog pops up with the past 30 messages you’ve written (changeable in settings).

screenshot-previous-messages

When you click “OK”, the commit starts and the notification window pops up, giving you feedback and what is going on…

screenshot-commit-finished

Happy committing!

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

Highlighting the nautilussvn shell script

Posted in Miscellaneous on January 29th, 2009 by Adam Plumb – Be the first to comment

At some point in the past few weeks I decided that I want to be able to access the v0.12 NautilusSvn UI elements from the command line. So I wrote a simple executable python script called “nautilussvn” which calls the UI element of your choice as well as passes through any other arguments you give it. I simply put a copy of the script in my PATH (mine is at /usr/local/bin/nautilussvn) and call it any time I want from the command line.

Here’s an example of what I’d do if I was in the base directory of some working copy and I wanted to commit the code with svn:

#$ svn commit -m "MESSAGE GOES HERE"

With the nautilussvn script, It’s just about as easy, and you get all the UI goodies you’ve come to love…

#$ nautilussvn commit

Or to specify a path:

#$ nautilussvn commit ~/Development/thiswc

If you want to see all the available modules, just enter “nautilussvn” and you’ll get something like the following:

#$ nautilussvn
usage: nautilussvn <module> [path1] [path2] …

Available Modules
——————
about, add, blame, checkout, cleanup, commit, create, delete, export,
ignore, import, lock, log, merge, properties, relocate, rename,
resolve, revert, settings, switch, unlock, update, updateto

I tend to use the command line quite a lot for work already, so this gives me access to some of the UI features I love (like working with files in the commit dialog) without the hassle of having to open up nautilus.

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

Another intro and status update

Posted in Miscellaneous on January 27th, 2009 by Bruce van der Kooij – Be the first to comment

Just as Adam did I too would like to introduce myself. My name is Bruce van der Kooij and I was born and raised in The Netherlands, am in my early twenties, recently graduated and currently work as a technical consultant for a local IT company.

I’ve been involved in the NautilusSvn project for quite a while already, at least since Juli 2007. I was one of the major reasons Jason migrated the project to Google Code in June of 2008 (prior to that it was solely being distributed as a tarball through Jason’s personal website). However, up untill recently my contributions to the project consisted of a few minor patches here and there (one liners) and janitorial work (helping people on the mailing list, triaging bugs, updating the website etc.).

Largely thanks to Adam all that changed last Christmas. I felt that the time of the year people normally celebrate with their family was the ideal time to start hacking away on NautilusSvn. And hacking away I did. I worked some 8 days non-stop (8 to 16 hours a day) on implementing some major parts of the extension.

The core functionality, status checking and emblem handling was significantly improved. Though as Adam indicated there are still some kinks to work out. Another major feature was the implementation of submenus, an implementation I’m quite proud of myself.

In the process we have to work around several limitations in the Nautilus extension API (libnautilus-extension). One example of this is that the update_file_info function tells us about changes to items (directories and files) but not about items that aren’t visible in the current view, this is the major reason directory emblems are not kept up-to-date in v0.11 (and a manual refresh is required). We’ve worked around this particular issue by using inotify to keep track of modifications ourselves.

As Adam indicated in the previous post I’m currently working on finishing up the status checking code (mostly performance issues), I hope to do so somewhere in the coming days/weeks (but certainly not months ;-).

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

Hello world!

Posted in Miscellaneous on January 26th, 2009 by Adam Plumb – 1 Comment

Hi everyone!

Welcome to the development blog for the NautilusSvn project.  Our project’s actual website is hosted on google code at http://code.google.com/p/nautilussvn.

What is NautilusSvn?
NautilusSvn is a Python extension for Nautilus which integrates a load of Subversion functionality into the GNOME Nautilus file manager, basically as a clone of the TortoiseSVN project on Windows.

What is the project’s current status?
The current “stable” version is v0.11, which provides a set of basic tools, including:

  • Checkout
  • Commit
  • Revert
  • Diff (using Meld or gvimdiff)
  • Log Viewer
  • Revision and SVN User as columns in Nautilus views
  • Emblems to show file status (though buggy)
  • SSL authentication (buggy)
  • Username and password entry dialog
  • Editing Properties

However, the next version, v0.12, is going to be a total rewrite, with some pretty awesome features and functionality.  Here is a list of what to expect for v0.12:

  • Complete rewrite of extension and user interface layer.
  • Improved status checking and emblem support. Manual status refresh no longer required.
  • An entirely new context menu in Nautilus including submenus.
  • New UIs: Add, Copy/Branch, Cleanup, Export, Import, Lock, Merge, Relocate, Revert, Rename, Settings, Switch, Unlock, Update-to-Revision.
  • Updated UIs: Checkout, Commit, Popup Dialogs, Log, Notifications, Properties.
  • Many UIs now have context menus.
  • Working packages and installation instructions for major distros (Ubuntu, Fedora)

We’re getting really close to an alpha (“feature-complete but expect breakage”) milestone, with beta and final milestones coming soon afterwards.

Keep your eyes peeled here for more news, updates, and developments on the NautilusSvn project.

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