Using Subversion to access CodePlex projects
As I needed to reinstall my development environment, I decided to try out the recent Subversion access for CodePlex projects instead of the standard Visual Studio Team Explorer and Team Foundation Server access. The TFS access is just not ideal for me and figured since I use TortoiseSVN at work and for any home projects, I'd like to try to use it for CodePlex work as well.
The CodePlex team has come up with a project called SvnBridge which as the name implies acts as a bridge between the TFS server and any Subversion client. Running the executable gives a little window allowing you to choose what local http port to your for the bridge and a place to enter which TFS server you need to access. Once you click Ok, a blue icon appears in the notification area (down by the clock) to signify that the bridge is running.
Now you can use the Subversion client of your choice to pull your data from TFS. I initially used TortoiseSVN and performed a Checkout. The server I gave was simply http://localhost:8082/blogengine which is my localhost with the port I specified above and the project name on the bridged server I wish to download. The initial checkout took a minute to get started by then acted just like I would have expected. Actually, other than the initial download delay on my projects, I have not noticed any speed issues so far. (It is not local access fast, but it seems at least as fast as TFS was for me.)
That is really all there is to it. Once you have done, your initial check out, you are ready to go. For CodePlex commits, you use your CodePlex username with the _cp on the end just like you use with the TFS access.
One last neat option to the SvnBridge is that it takes command arguments.
svnbridge.exe <TFS address> <port>
You can supply only the TFS address and it will default to port 8081 or you can just specify an address. I made shortcuts with my ports and addresses so I can quickly get the bridge running when I'm working on a project. (Unfortunately, I need multiples since I have projects on more than one server on CodePlex.)
My experience as been great so far. I really prefer to have everything in the codebase with write access by default verses the TFS/VSS model. In the CodePlex example, I no longer have to wait for the system to check out the files I need every time I need to make a change (especially something small in the web.config or a settings file that I just plan to change back anyway.)
Another thing I hadn't thought about that I really liked about the experience was additional files. Now I can have additional files in my project without TFS always trying to add them into the project. New files are not checked in by default and I can leave them outside CodePlex if I choose.
The only downside I can see is the lack of seeing file status inside Visual Studio by default as you can with the TFS setup. However, VisualSVN gets you around this downside (if you consider it a downside.) I just wrote about the server piece yesterday, and today I'm mentioning the client. VisualSVN gives great Tortoise style SVN access right inside Visual Studio Solution explorer. It is a very nice product and they give free licenses to active open source developers to use for their project. Without the Open source connection, the product costs $49, and now that I'm used to it, I'm expecting to pickup a license for work as it seems odd to be without it.