Branching, Merging and Unit Testing

More on branching and merging vs. sharing and pinning

Branching and merging in TFS provide a more robust way to accomplish what sharing and pinning are often used for in VSS. In TFS, you would branch a directory (source), using the "branch source target" command, to the desired location (target). Then when there are changes in the source that you need in the target, you would use the "merge source target" command to propagate the changes. The merge command remembers what changes have have been brought over to the target, so it brings the target up to date with the source by only merging changes that have not been merged.

[UPDATE]: And a sample here:

A simple example using branch and merge

Here's a simple example that uses the command line. The biggest differences between this and a “real-world“ example are the number of files involved (you may have thousands) and that you would probably have conflicts for a subset of the files (e.g., the same file was edited both in the source and in the target, resulting in the need to do a 3-way content merge).

Why Unit Testing in Visual Studio Team System

agree with you that Unit Testing has enough value to stand as a feature across all versions of Visual Studio. However, several of our tools in Team System fit into that category: Profiling, Static Analysis, etc. Our approach wasn’t really to ask, “Is this tool valuable enough to help all developers?”… We build most of our tools with that target in mind. Instead, we tried to ask the question, “Where can this tool provide the most value?” and in our current thinking the answer is along the lines of “as a feature integrated with the rest of the product lifecycle tools found in Team System.” Over time, we may revisit this decision, but for the 2005 version, we feel confident that this is the right choice.