TechEd Europe: Dev 466 Team Foundation Source Control
I'm blogging to you live from the RAI Congrescentrum in Amsterdam, Netherlands where Ashwin Karuhatty and Brian Randall are introducing European developers and IT professionals to Visual Studio Team Foundation version control (or source control, if you prefer). The excitement around this product is huge, palpable, (I've been pinch hitting for VSTS booth crew this week) and honestly, quite believable. The presentation is taking place in the main "keynote" auditorium and although it's 10:15 AM on the last rainy day of the conference, there are somewhere between 500 and 1000 folks in the audience. Okay, they're starting now...
Microsoft will use this tool for all development and project planning inside Microsoft. "This is a mandate from on high," Brian adds.
Ashwin Karuhatty [no blog] -- Why a new source control system from Microsoft?
- Performance over the wire
- No corruption
Visual SourceSafe was designed for small teams in a different era. Customer needs have evolved and their expectations have changed as well. Team Fouindation is an enterprise-class source control and work item tracking solution for serious development, on your LAN and around the world. "It is not Visual SourceSafe," Ashwin says to appreciative whistles and applause.
- Integrated checkin
- Source Control Explorer
Brian Randall -- Feature Support
- Atomic checkin (transactionality) -- "All of us have probably experienced a failed checkin using Visual SourceSafe that couldn't be rolled back. The vocabulary that came out of our mouths was not rated for children."
- Work Item integration
- Checkin Policies
- Delta File Storage
- Email checkin notification (and full event support for extensibility)
- non-Windows support
- Diff Tool Extensibility (Brian has seen an Image diff plug-in)???
- Shared Checkouts by default
- Rich VS 2003 integration
Mechanism for validating source changes prior to checkin. Evaluated on the client. Not a security mechanism. Extensible via plicy plug-ins. .NET managed assemblies. iPolicyDefinition: define policy. iPolicyEvaluation... Great part of the presentation...
Bad Word check-in policy won't let developer check in code containing bad words without warning. You can bypass policies however. After all, this thing was designed and documented by liberty-loving Americans ;-).
Team Foundation Source Control settings. File Types...UI you can use to define files types for which you do not want to enable shared checkouts. Demo: exclusive checkout is denoted by a blue circle with a slash through it in the Source Control Explorer. Source Control Explorer is a great user interface that enables you to perform almost all source control tasks inside the Visual Studio IDE.
Ashwin's driving the presentation and moving back and forth between two users, checking out files for both "users", editing them, and then checking them in to demo merging, conflict resolution, & etc while Brian talks. Brian stops, steps left, says, "Ashwin must be getting confused. I'm one user," steps right, "I'm another user," steps left. "I'm the other user... Kind of like that movie, Me, Myself and Irene." Brian is an entertaining speaker.
Promotion Modeling -- this is nigh impossible to blog about. Demo highly valuable. Hopefully, somebody's podcasting this presentation. Basically, Brian is branching a codeline in the Visual Studio Team System Source Control Explorer. Having worked on this for years, I know how difficult it can be to make this process easy to understand. And quite honestly, I think that the Hatteras team has some work to do in this department for future generations of developers. Brian demonstrates a "cherry pick" merge where he "promotes" changes from select files into the latest version.
Efficient File Storage -- 1. Compress files before they are even uploaded. Then, they're added to the file store and processed by a "deltafier" (not the defiler;-) that splits the file (non-binary) into... Caching proxy. File content cached on LAN. Ideal for regional offices. You'll install an extra IIS box in the remote location. See my post from TechEd US for more...
Supporting the Enterprise Platform Support
Clients shipping with VS 2005
- VS2005 Solution Explorer integration
- SCC Explorer
- Command Line (has more functionality such as the ability to undo checkouts of other people who are on vacation, for example)
- MSSCCI Client for VS 03, VB6, VC6
Coming from Partners
- Eclipse Plug-in
- SourceGear's Allerton, a UNIX, Linux, MacOS
[related blog posts placeholder]