Sunil
Sunil

Reputation: 21406

In TFS, Cannot Reparent a folder that was converted to a branch

We have a TFS branch structure like Main > Integration > Several Branches under this.

The problem is that I created a folder 'feat-IIS6toIIS7Migration'outside the above hierarchy when I started coding. After finishing coding I converted the folder to a branch.

But the new branch has no parent and I want to put it under Integration. It seems that its impossible to do this in TFS, since when I try to re-parent I get an empty list of possible parents. Is there a way to put the new branch under Integration?

New Branch has no parents

Upvotes: 1

Views: 1092

Answers (1)

James Reed
James Reed

Reputation: 14052

If you want the folder to appear under the integration branch then you can just move it (right click in Source Control explorer and select move).

$/Root/Integration $/Root/feat-IIS6toIIS7Migration

becomes

$/Root/Integration/feat-IIS6toIIS7Migration

When the integration branch gets merged with either main or your development branches the folder will be added to those branches as part of the merge.

If you want to give the feat-IIS6toIIS7Migration folder a branching relationship with integration then you need to perform a baseless merge. Note you should only do this if the feat-IIS6toIIS7Migration folder is a full replication of the integration branch.

In TFS / VS 2012 you can perform a baseless merge from the GUI.

  • Right click on the integration branch in Source control explorer and select merge. This will be your source branch.

  • In the target branch dropdown you won't be able to see the feat-IIS6toIIS7Migration folder.

  • Select "Browse" and then navigate to the location of the 'feat-IIS6toIIS7Migration' folder.

  • Keep hitting next until VS performs the merge.

I would expect there to be a fair few merge conflicts and you'll need to resolve a lot of them manually.

In the future it would be better to create the branch for your development before you start work, then you can take regular merges so you don't have a big merge at the end of your development.

Upvotes: 2

Related Questions