This project has moved and is read-only. For the latest updates, please go here.

Baseless Merge Best Practices

Dec 29, 2010 at 9:42 PM

I know that baseless merges are not ideal but I'm wondering if the Rangers have any guidance on how to best handle baseless merges?

Dec 30, 2010 at 6:51 PM

Allen,

As you know, we generally recommend against doing baseless merges for a variety of reasons. In general, with a good branching structure and process in place, the need for baseless merges is rare. I have recommended two scenarios for which baseless merges are useful or necessary. One is to fix a branching structure, perhaps to resolve issues that crop up during an upgrade from TFS 2005 / 2008 to TFS 2010. Following such an upgrade a user may need to convert some branches to folders, folders to branches or even reparent branches to get to the desired branch structure. Baseless merges are often necessary when doing branch reparenting.

The second example was where I recommended a baseless merge to a customer as one way of fixing a problem with restructuring the folders and branches within a Team Project. When this customer removed or added a new subfolder underneath the Main branch, subsequent merges attempted to replicate this change even to prior releases where the customer wanted to retain the prior folder structure.

Essentially their folder structure was originally: $\abc\Main\src\website\demowebsite  which was branched to Dev: $\abc\Dev\DevTeam1\src\website\demowebsite and to a few releases: $\abc\Release1-0\src\website\demowebsite and $\abc\Release2-0\src\website\demowebsite (branches are indicated in bold)

The customer decided to remove the website folder from the Main branch. But they wanted to be able to merge Main to Release1-0 or Release2-0 without having the website folder removed from these target branches. I recommended a baseless merge as one way to solve this issue (do a baseless merge from $\abc\Main\src\demowebsite to $\abc\Release1-0\src\website\demowebsite. This seemed to work  - but don't ask me why they needed to do this :). For future releases they will merge Main to Release3-0 so they can carry the new folder structure forward.

If you have any suggestions for additional guidance, please feel free to suggest.

Regards,
Bill Heys
VS ALM Ranger

 

Feb 28, 2011 at 2:18 PM

Why exactly are merges between sibling branches baseless in the first place? I haven't come across a convincing reason for this so far, and none of the other source control tools that I've used have this limitation.

Feb 28, 2011 at 4:57 PM

Jammycakes

You already posted a more elaborate form of this question in another forum. I suspect it will (and has) generated some response. Please try not to create two parallel threads under two separate discussion forums. Unless you want to do a baseless merge to merge these sibling threads :)