Access to my CodeProject code in Subversion

It’s been a while since I last posted, and it’s been even longer since I posted about anything .NET-related—I’ve been knee deep in freelancing work playing with Ruby on Rails. But, after an email from someone using some of my old CodeProject code I figured it was time to get my stuff in order!

A while ago I posted that I was in the process of moving some projects of mine into open source, and away from their current home on CodeProject.

I suppose it’s not really a move into open source as such, but a move into an environment that makes maintenance/updates to the code as easy as possible.

At present, all articles require me to submit both HTML and code updates to editors, upon which changes are updated and new zip archives made available. This is a relatively longwinded process and makes quick changes rather painful.

So instead, all code will be hosted in a brand new Subversion repository I will host. Instead of releasing zip files, all users can grab the latest source by checking out from the repository.

All repositories follow the standard trunk/branches layout. For users that aren’t familiar, the trunk contains the development mainline—that is the stable code that you should be using. Branches will be used sparingly for larger breaking changes, until they are in a state to be merged. There’s no reason you can’t use the code from one of these too, but bear in mind it’s probably a little more rough and ready.

So, for those that aren’t familiar with using Subversion, here’s how you go about using it.

1. Download a client
2. Checkout the mainline branch for your projects, using the following:

svn checkout http://url/project/trunk project

That’ll put a copy of the trunk into the project directory (the last parameter). That ought to be all you need to do. However, if you find you make improvements/fixes it’d be nice if you contributed those.

To do so, you’ll need to run

svn diff > my_changes_patch.txt

That’ll generate a file containing enough information for another user to apply the changes outside of the usual repository. This is to ensure that the repository isn’t open to abuse from all, all changes should instead be emailed to me (please note you’ll need to update my email address there). Provided they look ok I’ll stick them into the trunk for everyone else to then update via running

svn update

So far I’ve added the following projects:

I will consider adding automated binary builds for the stable releases, but this isn’t a priority at the moment so I’m afraid it’s just the repositories.

Note: It’s taken me a little longer than expected to get things going, so I’ll be adding the remaining projects as soon as I can, until then, feel free to grab away! One of the things I’d like to add is some kind of unit and functional testing, the gauntlet has been set!