Subversive SVN Part II: Downrush
So, for those of you who missed the first blog entry about this, I'll recap. The basic idea is the creation of an update/install mechanism that is as easy to use for developers as SVN.
Instead of fiddling with complicated build files, figuring out patches and how to order them, etc. wouldn't it be nice if you could just check a jar or class file into SVN and know that you're job is done? Wouldn't it be nice to be able to roll back a broken/buggy version of your software on all the client machines while you fix the problems? Or, if you are an XP or agile developer, wouldn't it just be nice to be able to roll out updates to your client machines in the field on a daily or weekly basis without the stuggle of building installers and having your customers download patch updates?
Well, my answer to all those questions was a hearty YES! And since SVN deals with binary files in the same way as it deal with text files (i.e. it can send change deltas instead of entire files along with keeping proper revision information), it's actually already set up to be a great update mechanism. All that was needed was a front end to help clean it up for the average user.
That is exactly what Downrush is. It's an installer/updater-like front-end for an svn client. It updates the codebase from a binary-only SVN repository before it starts up, and then launches the main class based on configuration.
As of now, it's working, for the most part, but there are lots of small quirky issues here and there (I'm not much of a GUI guru), and a severe lack of tools to use to build the server-side easily (right now it's a hands-on process). Testers, developers and users are needed to make this little weekend project into something really interesting and usable.
If you think you'd like to use it, or like to join the project, get started at https://downrush.dev.java.net