Branching, Merging and Unit Testing
- Buck Hodges builds on his previous post about (Doug Neumann on) branching and merging with his own entry:
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).
- Peter Provost has launched a petition to demand that the Unit Testing features of Visual Studio Team System be made available in all of the Visual Studio editions. Jason Anderson (one of the Program Managers for these features) had this to say in an earlier post on the subject:
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.