Scott Hanselman

How To: Use the SVNBridge to get TortoiseSVN working with CodePlex

June 28, 2007 Comment on this post [13] Posted in Programming | Reviews | Tools
Sponsored By

SVNBridge It's so crazy it just might work. I've been talking on and off with the CodePlex team for at least a year. Many of them I consider friends, so I've always been very frank with them, saying things like:

"I'll never use any Open Source Hosting service without support for Subversion."

Of course, they are using Team Foundation Server, and there's a number of connectivity options if you're cool with them, including:

Still in very active development, this tool is a proxy between a Subversion client and Team Foundation Server. You can use it against any TFS system it seems.

The first version is local proxy - it runs in your tray - but plans are for a server-side version that will require no client installation.

Unfortunately, as of this writing, there's no binary release (or instructions) but here's how you get it working.

  1. Go to the Recent Check-Ins section of the SvnBridge Project on CodePlex and click the Download icon next to the LATEST checkin. Note that it's really changing a lot, so it might be broken. If so, try another.
    image
  2. Unzip the ZIP file the system will give you, and either open the SvnBridge.sln or go to the command line and run "MSBuild SvnBridge.sln".
  3. Run SvnBridge.exe and note the blue Q-bert-looking icon that appears in your tray. Right-click and choose Settings.
    SvnBridge (2)
    Go to your CodePlex project in your browser and note the TFS Server URL of your project. It seems to usually be https://tfs03.codeplex.com. Enter that URL in the settings. The bridge port will usually be 8081, but you can change that. Note that this means http://localhost:8081 will be forwarded to https://tfs03.codeplex.com (443). The SvnBridge is just that, a port forwarder/translator/bridge.
    image
  4. Using your SVN tool of choice - mine is TortoiseSVN - browse to a local repository, using the format http://localhost:8081/<projectname> like http://localhost:8081/Subkismet. If everything works, you'll be checking code out and looking at logs just as if it's a Subversion repository. Madness. (I didn't expect it to work...it does.)
    Log Messages - CUsersScottDesktopNew Folder (2) (2)
  5. Here's a constantly updated list of what works and what doesn't in the SvnBridge.

I think that the CodePlex site is probably the most actively developed Open Source Hosting site out there. (I mean the site itself, not the activity within the projects hosted there). They are always adding new stuff and have some nice things like the Advanced View of the Issue Tracker and RSS feeds for literally everything.

I have to give them credit for putting this bridge together, and for Open Sourcing the bridge itself. I'm reading the code now, and it's pretty cool stuff. Hacky, in places, but that's to be expected given the problem domain, but there's some interesting things going on that make the code worth at least taking a look at. They've got a mini-Mocking system called MyMocks (curious) and a TCPTracing "Tivo" like program that appears to code generate tests. Also, if you're interested in WebDAV in C#, there's a playground of good ideas.

Either way, there's interesting stuff going on over there. I look forward to their 1.0 release.

Technorati Tags: , , , ,

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Hosting By
Hosted in an Azure App Service
June 28, 2007 9:15
Hi Scott,

Just wanted to let you know I updated the work you did on UpdateVersion to work as a MSBuild Task instead of using the command line options. Thanks for all the initial work done.

http://www.codeproject.com/useritems/AutoIncrementBuildTask.asp

andrew cates
June 28, 2007 12:42
Forgot to say that there is also a tfs02.codeplex.com ;-)
June 28, 2007 13:48
Scott,

I'm curious as to why you say
"I'll never use any Open Source Hosting service without support for Subversion."
Can you elaborate further as to why this is so? Is it the tools available to the Subversion community (such as the excellent TortoiseSVN), something that you prefer about the SVN protocol? That you believe an open source hosting system should use open source version control, or something else?

Cheers,

Martin.
June 28, 2007 19:17
<impersonation user="Don Quixote">
There is no such thing like a tray in Windows. Do Raymond a favor and name the place-where-the-clock-resides Notification Area
</impersonation>
June 29, 2007 2:37
Martin - It's purely because the I find the Explorer integration ala Tortoise SVN to be absolutely brilliant. It works as I think.
June 29, 2007 2:38
Keyvan - I bumped a button and deleted one of your comments, you said:


Just want to tell you that the URL may be tfs01.codeplex.com as well. It's for older projects. Some of my projects are hosted on this server (i.e. BlogML).
June 29, 2007 5:41
No problem, Scott :-)
June 29, 2007 13:18
So really, what you meant to say was

I'll never use an Open Source Hosting Service until it has decent windows explorer integration


I would probably expand this further and suggest that what you really mean is:-

I'll never use a source control system until it has decent windows explorer integration


Would that be accurate? The reason I'm asking is that it might also be something else - for example

I'll never use an open source hosting solution until it has great offline support


Just trying to figure out what the fundamental requirement is, it may well be both...

The Windows Explorer integration to a source control system is definately a very nice thing - and one that few SCM tools on the market support. From the outside, it does seem crazy that the flagship source control product from Microsoft does not have first class integration with Microsoft Windows Explorer, yet the major open source product does.

However, things are changing in this regard. Ben Day has recently announced his own explorer integration with TFS but this is currently a commercial third party add-on and is very early days so does not look to provide as rich an experience as TortoiseSVN yet. The nice thing is that he is doing it the "correct" way - i.e. using the TFS .NET API but not loading .NET into the explorer.exe process, but doing the explorer hooks in unmanaged code with an out of process hook to the process hosting the .NET interface to TFS. I would hope that the TFS team are talking with him or at least looking closely at what he is doing and considering it for the core product as many people like the explorer integration.

For what it is worth, I think the SVN Bridge is interesting in many other regards than just enabling Windows Explorer integration with TFS. It's also one of those crazy ideas that feels an awful lot like a nasty hack, but might just actually might work.

I continue to be impressed with the productivity of the CodePlex team and the great stuff that they keep coming out with.
July 21, 2007 2:28
Martin- TFS is a system designed for a corporate client. When CodePlex was opened up to the masses there was no way to involve the community at large in what you were doing - things like a patching system and anonymouse repository browsing were completely absent.

The biggest issue, for me (and SubSonic) was the patching, so we up and moved our source to GoogleCode and experienced an explosion in contribution and therefore productivity.

Finally - in a non-open source thought, consider we're comparing two systems here: 1 that costs 10K per license (and requires SQL 2005 Enterprise to run), and one that's completely free (and many would argue is a better system).

I've worked with TFS a lot and really like it - but not for Open Source.
July 21, 2007 6:01
All very valid points.

I think a copy of Visual Studio Team Suite (the uber-supped up version of Visual Studio) is the $10k figure you are thinking of (including an MDSN subscription). TFS is actually around $2.5k retail + TFS CAL's at $500 per developer if you wanted to use TFS with a normal version of Visual Studio (the more expensive team editions come with a CAL). Also, the TFS license includes a SQL Server license so you don't usually need to pay extra for that. However, it is still significantly higher purchase costs than you pay for Subversion ;-). That said, with TFS you do get much more than just source control and it isn't really aimed at people thinking it is expensive compare to SubVersion, more people who think it is great value compared to things like ClearCase+ClearQuest or the Borland stuff.

I can totally see the argument in using open source tools for open source projects. It is also interesting to hear how much more involvement you are seeing after the switch to GoogleCode.

I think the CodePlex team are addressing the anonymous access issues, and are looking into the patch issues. I'm also a big fan of the features that they are constantly adding to the site - I just get the impression that there is a lot of love and care going into CodePlex from the team.

That said, it is also great that there is competition and choice in the open source project hosting space, allowing folks to choose one or all of the various offerings to host an open source project. Anything to help spread the word is a good thing in my book.

M.
July 21, 2007 11:29
Martin, your revision of my original statement is right on. I just find Explorer Integration to fit how I work much better than IDE integration. Although. VisualSVN is calling...
August 21, 2007 21:41
Scott, any reason you here VisualSVN calling rather than Ankh?

I've used Ankh on a couple small projects without problem and after a quick look at the VisualSVN website see no difference beyond cost (Ankh is free, VisualSVN is $49US/user).
August 22, 2007 10:09
Troy - I had a few stability problems with Ankh early on in DevEnv and I moved over to VisualSVN. I *do* agree that Ankh is great stuff and should be checked out, though.

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.