Sign in
James Manning's blog
Team Foundation Server + PowerShell = Happiness
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Blog Home
Share this
RSS for posts
Atom
RSS for comments
Search
Tags
Pages
Archive
Archives
April 2009
(1)
January 2009
(6)
December 2008
(2)
November 2008
(1)
September 2008
(1)
July 2008
(3)
June 2008
(9)
May 2008
(15)
April 2008
(4)
March 2008
(1)
February 2008
(4)
January 2008
(2)
November 2007
(2)
October 2007
(2)
September 2007
(1)
July 2007
(8)
June 2007
(3)
May 2007
(4)
March 2007
(12)
February 2007
(23)
January 2007
(7)
December 2006
(1)
November 2006
(14)
October 2006
(5)
September 2006
(10)
August 2006
(4)
July 2006
(2)
June 2006
(4)
May 2006
(1)
April 2006
(4)
March 2006
(5)
February 2006
(8)
January 2006
(8)
December 2005
(1)
November 2005
(4)
October 2005
(8)
September 2005
(7)
August 2005
(1)
June 2005
(6)
May 2005
(1)
April 2005
(1)
March 2005
(1)
February 2005
(4)
December 2004
(3)
October 2004
(1)
September 2004
(1)
August 2004
(3)
July 2004
(5)
June 2004
(4)
Team Foundation {Version,Source} Control - Which is it?
MSDN Blogs
>
James Manning's blog
>
Team Foundation {Version,Source} Control - Which is it?
Team Foundation {Version,Source} Control - Which is it?
MSDNArchive
24 Oct 2005 9:38 PM
Comments
1
This is, for the most part, just random useless trivia that hopefully won't really affect customers at all.
Over a year ago,
RobCaron
passed on the news of our (that is to say,
Brian
's ;) naming decision for what the project codenamed "Hatteras" was going to be officially called:
Team Foundation Version Control
The (only) other realistic contender would have been "Team Foundation Source Control". To many (hopefully all) people, they're relative synonyms. The market doesn't have any (or at least not many) entities that would bother making a real differentiation between the two. However, going with Version Control gave us the nice side effect that it made more obvious the fact that this is a product that handle more than just source code - we're ready to handle whatever you want to throw at us (including files as big as your filesystem can handle, binary files of whatever type, etc.).
Why is it, then, that the section in MSDN that groups a bunch of the documentation refers to it as
Team Foundation Source Control
? We made the naming decision over a year ago - why would anything on MSDN be using this other name? Even
Chris's MSDN article on TFVC
flips on the name on consecutive lines :)
Chris is one of our first MVP's
, by the way.
Branching in Team Foundation Source Control
Merging in Team Foundation Version Control
The reasons center around existing customer experiences. One of our main scenarios is focused around the existing customers that have been using Visual Studio 2003 and Visual SourceSafe. It's important to try and make the transition from these versions to Visual Studio 2005 Team System with Team Foundation as smooth as possible.
There are some impedance mismatches that already cause some pain. For instance, we really want customers to use branching and merging and have made them both easier to use (IMHO) and more approachable concepts (hopefully) - for far too long they've been considered a black art, and many teams just go with a "mass copy" approach rather than using branching and merging since the tools weren't really there to make it a user-friendly feature. Visual SourceSafe has the features "sharing" and "pinning" which we intentionally don't support because we feel branching and merging are the better tools for the problems that sharing and pinning were being used to solve (make sure to catch Channel9 videos from
Doug
and
John
which touch on this). Since we already have issues like this, there's no need to make the transition to Visual Studio Team System and Team Foundation any more difficult than it has to be, so we'd like to try and build on their existing UI paradigms to increase discoverability when possible.
Even outside of trying to ease Visual SourceSafe / VS 2003 user migration, there's a precedent set in Visual Studio itself - the File | Source Control menu. It's been around longer than we have (obviously). We actually had a tough decision to make because with Team Foundation there's the introduction of a new Team menu (this is where you'll find things like Add Work Item, Go To Work Item, etc.) - for solidarity among the parts of Team Foundation, it was considered that our version control operations should go into that Team menu, maybe even as a submenu called "Version Control". However, that would be less discoverable for customers that are used to going to File | Source Control to do their source control operations.
Also, in a more general sense, Visual Studio considers this feature to be "Source Control" - a provider is called a "Source Control Provider", the API exposed is MSSCCI (MicroSoft Source Code Control Interface), etc. - this makes sense, for most of Visual Studio's life, their target user has been developers/coders. It's only in VS 2005 with Team System that we're really expanding the roles that we expect to be using Visual Studio (or at least the Team Explorer SKU) for their daily work.
The fallout of trying to ease the transitions for these customers (which is a *very* good goal to have) and follow the pre-existing VS precedent is that we tried to strike a compromise that hopefully will work out fine for all involved: When it's being referred to in the Visual Studio UI, we'll stick with "Source Control" (which is why the window is called "Source Control Explorer" instead of "Version Control Explorer"). All other times (at least in theory), we're our "real" name of Version Control. For instance, our assembly names, namespaces, classes, all say
VersionControl
.
However, there are places where it wasn't so cut and dry which way to go. For instance, one of our big extensibility points is the ability to
customize the process methodology templates
- these are sets of XML files first and foremost - ones you can edit to mold our existing out-of-the-box methodology sets ("MSF Agile" and "MSF CMMI for Process Improvement", I think) to something that matches either the processes your company/project already uses, or perhaps the ones you want to transition to. In either case, it's very important that we're flexible on that. Inside these templates, where the xml data is king, we're referred to as Version Control - our particular xml file (for how to configure the team project folder you want created, which permissions to assign it, which check-in notes to have associated with this team projects, whether the contents should force checkout locks, etc.) is named Version Control\VersionControl.xml - however, when you run the Project Creation Wizard to create a new team project, some of the strings in these xml files will be displayed to you, the user creating the team project, and that will include "Version Control task completed" (or something similar) which will have (sort of) violated our rule on when we should be "Source Control". Of course, that's not a bad violation, as the Project Creation Wizard is new to Team Foundation and as such, there was no existing UI precedent for this wizard.
It's a very minor thing, and we did consider going with all one name or another, but hopefully what we chose will work out well for consumers. Why even write this blog post? Mainly because at some point someone somewhere is going to wonder which it is, and why they see both strings showing up. Hopefully they'll find, read, and (ideally) accept this explanation :)
1 Comments
Blog - Comment List MSDN TechNet
Comments
Loading...