I have something like this hierarchy:
trunk – BranchA – BranchB – BranchC – BranchD
This arrangement made sense being features depending on features, but making changes in BranchA requires successive merges to get a build with all the features. This is manageable but I would now like to deliver BranchB’s changes to BranchA (and hence retire BranchB) as it now makes sense to combine these features.
What is the best way to do this?
I’ve tried delivering BranchB to BranchA but when I then try to merge BranchA into BranchC, conflicts are reported for the files which have been changed in the 3 branches. I could just accept the BranchC versions of them all but all these conflicts are concerning.
Alternatively, I just skip BranchA from now on:
trunk – BranchB – BranchC – BranchD
so I merge new changes in ‘trunk’ directly to BranchB (and so the delivery of BranchB’s changes to BranchA just becomes irrelevant).
(I think I’ve answered my own question here.)
1