I like your term "inverted hierarchy" more than virtual reparenting.
I agree one-to-many should always flow from parent to children for conceptual consistency.
Current hierarchy: Prod->Main->Int->6+ Dev branches (+ others that are inactive or abandoned for months)
Planned hierarchy: Prod (and future release branches)<-Main->Int->0 to 4(?) short-lived feature branches*
* Short-lived branches should live for up to a few weeks, merge to parent, then be closed (deleted/obsoleted) after merge.
> what will be <Prod>'s new parent?
We're swapping Prod->Main to be Main->Prod.
In the past we merged all release changes from Main to the current ancestor branch "Prod". Going forward we will create a separate new release branch from
Main to avoid risk of merges introducing unexpected differences. We will treat the original Prod branch as our legacy release branch.
We can either reparent Prod to officially make it a child of Main (instead of the parent of Main) or we can leave it with an inverted branch relationship and carefully maintain the Prod branch if we ever need to release a hotfix through the Prod branch.
FYI: We release from 1 to 12 Web services and websites in each release. Per recent related discussion we plan to branch entire Main folder structure then make RC0 through release build(s) for just the related projects from the new release branch.
Moving/renaming branches in TFS2010 I've got the answer to my initial question:
>I see no particular reason why you can't logicall invert the relationship between parent and child (Q4).
This conversation also helped me understand that I can logically invert the relationship but we should consider long-term confusion risk. it will be very easy to be confused a few years from now, especially if the Prod branch and Main branch get moved/renamed
(which is the bigger part of our plan as discussed
I think I have the info I needed for this question. Anyone is welcome to continue posting here if they need any clarification on this discussion. Thanks again for all your posts Bill!
Cheers - ZephanS