One of my biggest gripes with CodePlex has always been that it uses Team Foundation Server as its source code management technology. And if you have any questions about my stance on TFS as a SCM system, just consult Twitter.
But thanks to a lot of hard work by Ayende - and the other contributors - I, and anyone else who prefers a low-friction SCM, have a workaround: SvnBridge.
You’re selling me a bridge?
SvnBridge is a tiny, lightweight application than runs on your local machine, acting as a proxy and translator between your local Subversion clients (TortoiseSVN, svn native, etc…) and a remote TFS server. A remote TFS server like say… CodePlex. Or your company, client, or customer’s TFS servers.
The key to using SvnBridge is all in the URL you use to get your code. As you can see in the above screen shot, the URL for the actual SvnBridge code base is http://localhost:8081/tfs03.codeplex.com/SvnBridge. Meaning you could check-out the code using an SVN client, like TortoiseSVN using that URL.
Similarly, you can get at the code for the ASP.NET MVC framework and Rob Conery's MVC Storefront application using the following URLs:
http://localhost:8081/tfs07.codeplex.com/aspnet/MVC http://localhost:8081/tfs07.codeplex.com/mvcsamples
It works, but…
Sure, using SvnBridge in this manner works, but its a bit unnatural compared to how most folks are used to using Subversion. Wouldn’t it be nice if you could get to the SvnBridge, ASP.NET MVC, and MVC Storefront code using SVN with URLs you’re used to?
Oh… and wouldn’t it be the bee’s knees if you didn’t have to run the SvnBridge proxy on your local machine at all!
SvnBridge on the CodePlex servers?
The other night I was informed of a little known (at least to me), and possibly still secret, CodePlex feature – SvnBridge, Server Edition!
https://your-project-here.svn.codeplex.com/svn
Though I have no concrete proof of it, I would imagine this is a result running SvnBridge on a CodePlex server, plus lots of fancy DNS and routing magic. And while I don’t know for sure how the CodePlex team is pulling it off, I do know that it works.
Don’t believe me? Give it a go for yourself!
Using your favorite SVN client, pull down the code for SvnBridge, ASP.NET MVC, or MVC Storefront using the following URLs:
Of course, you can also access any other CodePlex project by substituting its project name in at the beginning of the URL.
Show me!
And now, for your visual enjoyment, and because some folks refuse to believe that which they can not see, I give you a screen shot of TortoiseSVN checking out the ASP.NET MVC code base… without going through a local SvnBridge proxy!
Hopefully we’ll get some details on the setup the CodePlex folks are using to get this all working so we can start using it in the wild.
