Subversion is one of the basic tools in my daily work. I know, distributed version control is more en vogue those days, but I would argue that for personal use and small teams Subversion is still a reasonable choice[1] — it is very popular, flexible and there are many additional tools available.
About a year ago, when I started to play with my first Mac, I was looking for Subversion tools that can integrate smoothly with Finder — the standard Mac OS X file manager. To my surprise I couldn’t find anything useful, only SCPlugin which didn’t work at that time, and as far as I know is still somehow buggy. So I decided to write my own set of scripts, as an excuse to play with AppleScript — a funny high-level scripting language that can speak with Mac applications (including Finder) over simple interfaces called dictionaries, not surprisingly consisting of nouns (objects) and verbs (methods). This custom set of scripts had been so useful to me (especially when invoked from Quicksilver) that I decided to release it publicly, starting a small open source project.
Recently I’ve released version 1.2 of the scripts, including support for Copy, Move and Checkout operations, with improved Leopard and MacPorts support. The release was also a good excuse to make some adjustments to the project page and publish a screencast showing how to use the scripts. Judging from the download statistics and the feedback I get, people find the project useful, so if you are a Mac user consider giving it a try!
—
[1] But not for projects with many independent branches of development — branching and merging sucks in Subversion (it will be improved in Subversion 1.5, which is now in beta). Linus’ critical opinion on Subversion is well known, and I don’t claim it is the best choice for large open source projects (though many such projects use it).
Comments 4
I would argue about personal use of subversion, for that task I find bazaar better. It’s so simple to make it just work for version control. You don’t need to create separate repository just for keeping your files and you don’t need to have separate server for colaboration or storing files on external machine. Bazaar can work via ssh, ftp and others, including svn repo. It’s easier for me to use it, seems more intuitive. Did I mention it’s also written in Python?
Posted 25 Feb 2008 at 9:49 pm ¶@Tomek: Subversion also doesn’t need a dedicated server, it can work directly from a filesystem or through a ssh tunnel. I don’t claim that it is a better option, but certainly more popular, and there are many tools and plugins that support Subversion.
Posted 25 Feb 2008 at 9:57 pm ¶Since i started using git i started using version control for everything i do. Even if you don’t need dedicated server in subversion for your repository you need to first import and checkout your project that is a big PITA. In git everything is simple you just enter the work directory at the moment you decide that it’s important to have it versioned and you issue ‘git init’. Starting from that moment everything is versioned.
What is even more interesting - git is transparent and if you use subversion as your official vcs you can still use git locally to track all your small modifications and branching. Later on, using git extended options you will be able to commit all the changes to your central subversion repository. This makes the transition really smooth.
@Tomek:
Posted 26 Feb 2008 at 10:49 am ¶I don’t know what’s the difference for end users if something is written in python/ruby/c….?
Thanks for your comments! I considered migrating my personal repositories to Git, but I’m quite happy with my current setup, so it’s still on my someday/maybe list. Anyway I still have to work with existing Subversion repositories, and Subversion is much more popular comparing to other version control systems, so it was a reasonable decision to prepare scripts supporting it.
Posted 27 Feb 2008 at 11:45 pm ¶Post a Comment