Fusionar cambios recientes en el tronco a una rama del tronco de hace un tiempo en Visual Studio 2008 TFS

I keep hitting brick walls trying to merge changes to the trunk with a branch.

A month or so ago, the trunk (5.0) was branched off (to 6.0). Since then, development has been done on the 6.0 branch, but hot-fixes have also been made to the trunk. I now want to update the 6.0.x branch with all the changes that have been made to the trunk since the 6.0 branch was formed off the 5.0 trunk a month or so ago.

Is there any way to do this without checking out both trunk (5.0.x) and branch (6.0.x) and using a 3rd party tool to reconcile differences?

preguntado el 08 de noviembre de 11 a las 18:11

Am I missing something? Is the TFS merge function of Source Control Explorer not working for what you're trying to do? -

I figured it had a build in function that does this kind of thing, just couldn't figure out how to trigger it. What I was trying to do was check out trunk (5.0) and turn around and check it in to the 6.0 branch - which is of course the wrong way to go about it. -

1 Respuestas

You can easily do this using the Source Control Explorer. This is described in http://msdn.microsoft.com/en-us/library/ms181282(v=VS.90).aspx, scroll down to the section Merging Version Control Items.

  1. In Source Control Explorer, right-click the 5.0 Trunk folder, and select Merge. In the Source Control Merge Wizard, in the Source Branch text box, the path and name for the 5.0 Trunk folder appears.

  2. In the Target Branch drop-down list, select the 6.0 Branch folder.

  3. In Select the source branch changes you want to merge, select All changes up to a specific version, and click Next.

  4. In the Select the version of the source items step, in the Version Type drop-down list, select Latest Version, and click Next.

  5. In the Perform the merge operation step, click Finish.

Since there are differences between the source and target branches, the Resolve Conflicts dialog box appears. Follow the steps in the next procedure to resolve the conflicts. If there are no conflicts, the Resolve Version Conflict dialog box will not appear.

respondido 09 nov., 11:00

This is close but I actually wanted to do the opposite. I didn't want to change the 5.0.x trunk, I only wanted to update the 6.0 branch. I was able to do this by right clicking on the "Current" folder, and selecting merge, then in the Target Branch, selecting the "6.0" branch folder. Merging then moved changes to the trunk into the branch which is what I wanted. Thanks for pointing this feature out. It's a little bit hidden. - Alain

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.