I'm looking for the correct branching and merging strategy for the situation I'm currently in. A few weeks ago I created a new Dev branch from Main for version 1.6 of an application. This version is now being tested and will go live in the coming weeks.
Starting today I need to begin development for version 1.7, but I'm unsure how to proceed in TFS. I think there are 2 scenario's:
1. The dev branch for 1.7 is created from Main (as usual), and I integrate all 1.6 changes into the 1.7 branch and start my development. Any changes in the 1.6 will be merged into the 1.7 branch as soon as they are ready to be tested.
2. The dev branch for 1.7 is created by branching the 1.6 dev branch, any future changes in 1.6 will again be merged as per point 1.
The problem with #1 is the fact there is no direct relation between 1.6 and 1.7 according to TFS, which results in baseless merges.
The problem with #2 is the fact there is no direct relation between 1.7 and Main, which results in a baseless merge later on, when 1.7 is completed and merged with Main.
Is this a situation where baseless merges can't be avoided, or is my entire strategy wrong?