Answering Questions About CodePlex and TFS

Phil Haack has some questions about CodePlex and our use of Team Foundation Server that I'd like to answer. Note that I'm not trying to convince Phil to use CodePlex; rather, I want to clarify answers to his questions so that he and others can make the best decisions on their own. (That said, of course we'd love to have SubText on the site. It's an excellent example of a well run and successful open source project.)

I would encourage anybody who has questions like these to get in contact with us (via our forums or e-mail) so we can address them for you.

Are you working on a Tortoise-like interface for CodePlex?

The project you mention, Turtle, is a project on CodePlex. However, none of the CodePlex developers are active on that project; it's being run entirely by CodePlex users. The last time I saw it in action, it was a stand-alone GUI client, not a shell extension like Tortoise. I have no insight into their future plans for the tool.

Does TFS version control support renames and moves?

Yes. However, you need to tell the tool that you want to do a rename. If you're using the Visual Studio plugin, then renaming or moving something within Visual Studio automatically queues up the rename/move for the next check-in.

You can also use the command line client (tf.exe) to do renames and moves.

Does it work over HTTPS?

Yes. TFS's interface to the outside world is via web services which can be deployed via HTTP and/or HTTPS. In the specific case of CodePlex, we deploy TFS using HTTPS on standard port 443.

Are checkins atomic?

Yes. TFS tracks the source control system using changesets (so it behaves more like Subversion than CVS, for example). Those changesets can also be automatically associated with changes in work items in the item tracking database. The Visual Studio GUI for checking into TFS makes this very simple.

Are branching and tagging fast?

I'm not sure what the exact mechanics are underneath, so it's hard to compare to what you're used to. I personally haven't noticed any performance issues related to tagging and branching.

Can we import our history into Team System?

There may be tools available on the web for this, but I have no experience with them.

Can I use CCnet? Can I use MbUnit?

Yes. There is a TFS source control plugin for CCnet. Martin Woodward has documented the steps to get everything running, and it's nothing out of the ordinary. Since you can continue to use CCnet, you can of course continue to use your existing CCnet build files and merge system to support reporting of MbUnit test runs.

I've heard that there's something similar to CCnet in Team System.

That's probably Team Build you're hearing about. Unfortunately, Team Build is not supported on CodePlex.

How about a demo video showcasing the features of CodePlex?

That's a great idea! I'll suggest that at our next team meeting. :)