This project has moved. For the latest updates, please go here.

Branching Change Ancestor to child

Oct 4, 2011 at 8:27 PM

I have 2 branches Development and release. Development is ancestor. Now I want to introduce Main branch in between them, How to do that?

         Development                                                                                                       Main

Main                 Release        . I want in the following fashion                     Development           Release

Developer
Oct 4, 2011 at 9:49 PM

Assuming you are using VS 2010. You could consider renaming Development to Main and then branching from Main to create a new *Development* branch. I would NOT, however, reuse the same name for the new Development branch. I would also make sure that there are no pending changes in the development branch before renaming it.

Alternatively, but not necessarily better, you could achieve something similar with the branch reparenting feature of VS 2010. I am not sure I like this if you want to invert the relationship between Development and Main and then reparent Release to the new Main.

All-in-all, I prefer the first approach.

Regards,
Bill Heys
VS ALM Ranger

Developer
Oct 4, 2011 at 9:52 PM

I would suggest that you do NOT want to add Main as a branch between Development and Release. Rather you want Main to be the top-level branch in your hierarchy, with both Development and Release as full-children of Main

This results in a good, two-level branch hierarchy.

Regards,
Bill Heys

Oct 4, 2011 at 9:54 PM
How to do this? Can you please explain me in detail!!!


From: [email removed]
To: [email removed]
Date: Tue, 4 Oct 2011 13:52:58 -0700
Subject: Re: Branching Change Ancestor to child [TFSBranchingGuideIII:274754]

From: wheys
I would suggest that you do NOT want to add Main as a branch between Development and Release. Rather you want Main to be the top-level branch in your hierarchy, with both Development and Release as full-children of Main
This results in a good, two-level branch hierarchy.
Regards,
Bill Heys
Read the full discussion online.
To add a post to this discussion, reply to this email (TFSBranchingGuideIII@discussions.codeplex.com)
To start a new discussion for this project, email TFSBranchingGuideIII@discussions.codeplex.com
You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.
Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com
Oct 4, 2011 at 9:57 PM
I do not want to merge changes directly from Dev to Release, I want merge should be happen from Dev to Main and Main to relase, I want these flow, Please help me out to implement this Behaviour.




From: [email removed]
To: [email removed]
Date: Tue, 4 Oct 2011 13:52:58 -0700
Subject: Re: Branching Change Ancestor to child [TFSBranchingGuideIII:274754]

From: wheys
I would suggest that you do NOT want to add Main as a branch between Development and Release. Rather you want Main to be the top-level branch in your hierarchy, with both Development and Release as full-children of Main
This results in a good, two-level branch hierarchy.
Regards,
Bill Heys
Read the full discussion online.
To add a post to this discussion, reply to this email (TFSBranchingGuideIII@discussions.codeplex.com)
To start a new discussion for this project, email TFSBranchingGuideIII@discussions.codeplex.com
You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.
Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com
Developer
Oct 5, 2011 at 1:22 AM

 

Assuming you have Development and Release where Release is a child of Development… simply rename Development to Main.

Now Release is a child of Main.

Branch Main to Development2 (or some new name).

Now Development2 is a child of Main.

Do all development check-in in Development2

Do stabilization in Main (deploy Main to QA)

Branch Main to Release when you release a new version

 

Oct 5, 2011 at 2:43 AM
Thank you very much wheys.

To: [email removed]
Date: Tue, 4 Oct 2011 17:22:48 -0700
Subject: Re: Branching Change Ancestor to child [TFSBranchingGuideIII:274754]

From: wheys

Assuming you have Development and Release where Release is a child of Development… simply rename Development to Main.
Now Release is a child of Main.
Branch Main to Development2 (or some new name).
Now Development2 is a child of Main.
Do all development check-in in Development2
Do stabilization in Main (deploy Main to QA)
Branch Main to Release when you release a new version

Read the full discussion online.
To add a post to this discussion, reply to this email (TFSBranchingGuideIII@discussions.codeplex.com)
To start a new discussion for this project, email TFSBranchingGuideIII@discussions.codeplex.com
You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.
Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com
Oct 5, 2011 at 4:15 PM

You should also run the this command to destroy the dangling branch (Main) in the left diagram, in your post. 

TF destroy <branch path> /collection:<tfs collection>

 

Developer
Oct 5, 2011 at 4:44 PM

It is not clear whether the Main branch exists in the left diagram. If it does exist, you should destroy it FIRST, before renaming the Development branch to Main.

If it does not exist already, then there is no need to destroy it, of course.

Regards,
Bill Heys
VS ALM Ranger