Visual Studio 2012 is all set for a grand launch on Sep 12th. There have been many enhancements and new feature additions across ALM, however, one of the long waited version control improvements is UI support for Baseless merge.
In the previous versions of VS/TFS, we have command line support for Baseless merge. In TFS, when we create a branch, a relationship would be established between the parent and child. At later stage, if we want to merge source code between these branches, Visual Studio will offer destination branch choices based on the branch relationship established earlier. If there exist a need to perform merge between unrelated branches, it wasn’t possible from Visual Studio. However, we could use command line “tf merge” and pass /baseless switch to do baseless merge.
Now, with VS 2012, Baseless merge is a feature in the merge wizard…one of the long waited features and I’m sure everyone would love to see that working...
Lets consider below branching model
All the branches, Iteration 1, Iteration 2 and Production 1.0 have been branched out from “Main”.
If we want to merge sources from Iteration 2, the only option would be “Main” in the “Target branch” (This is determined based on the branch relationship). However, if you notice, there is a “Browse” button right next to Target branch ..that’s golden key would allow us to perform “Baseless” merge..
Browse and choose desired destination branch.. As shown below, the wizard will show you an alert saying “this is a baseless merge…..”
Step ahead and select the Merge candidates..as always, Merge will be done and staged in local workspace…a new revamped “Pending changes” window will show check-in candidates and other details as shown below
Validate and commit the changes….
Baseless merge is pretty straight forward and UI driven with VS 2012 … 🙂
Btw, discover more on Visual Studio 2012 Launch event and join the event virtually… visit: http://www.visualstudiolaunch.com