Svn export in C#

Last updated: 05 Jun 2009 | Category: Projects

I have the website with blogs, and have an SVN tree which keeps my source code. When I want to write a blog which links to some source code, I normally end up with having to download the source code from SVN, put it in a zip file and post it with my blog. Even though this is a time consuming manual stuff, the real issues start when I update the source code in SVN, and I'd have to repeat this manual step again and again.

While looking for a solution, I found this cool feature in SVN called SVN Export. This feature is among others used by some of the web interfaces for SVN.

As for my solution, I've used this feature to link from my website to a dynamicly served page which downloads the source code from SVN and provides it as a ZIP format. This is done on the fly, so the page always return a ZIP file with the latest source code. The performance is quite good, especially if you keep the source code small and if you have the web site and the SVN repository on the same server.

Having struggeled with this issue myself, I though I'd share the code with you. The code is written in C#. The code is implemented as a console application, but its API can easily be used from ASP.NET (I use it from this ASP.NET MVC website).

Download the code from here SVN Export Directory.

BTW: this link is served by the SVN Export Directory function itself. See this link for my SVN tree.


Active Object Pattern

Last updated: 01 Jun 2009 | Category: Projects

Being in need of a C# implementation of the Active Object Pattern, I wasn't able to find one.

Below is a link to the source code of my implementation.

Download .zip

Browse the SVN tree

I've also written this article which explains the implementation step-by-step.


Active Object - step by step

Last updated: 01 Jun 2009 | Category: Articles

The Active Object Pattern describes a powerful way to execute tasks in the background. I found many good academic articles about it, but have failed to find a good suitable solution in C#. Therefore, I've decided to write one myself.

I've written this article while I was writing the code, to explain step by step the issues I came across. This article describes those steps. It also contains the source code for download.

Read article »