2009-09-17 9 views
38

Como con la mayoría de las cosas en TFS obtienes más de lo que esperabas. En este caso, estoy viendo más cambios de archivo durante la fusión de lo que esperaba.En TFS, ¿cómo hago una fusión sin base en conjuntos de cambios específicos?

Tengo 2 ramas para niños, seamos emocionantes y llámalas branch1 y branch2. Ambos tienen cambios realizados desde que fueron creados. Necesito tomar 12 conjuntos de cambios específicos de branch2 y fusionarlos en branch1. Los cambios de branch2 no pueden volver a la rama padre. Entonces, es un caso sencillo para una fusión sin fundamento, pero los resultados no son los que esperaba.

Tomando el primer conjunto de cambios me encontré con el siguiente comando:

tf merge /baseless /recursive /version:C95654 branch2 branch1 

Changeset 95654 contiene 12 archivos modificados, pero después de este comando me sale 56 archivos editados con conflictos. Esperaba fusionar solo el conjunto de cambios especificado de una rama a la otra, pero parece haber fusionado toda la carpeta.

¿Por qué obtengo 56 archivos cambiados en lugar de 12 cuando especifiqué el conjunto de cambios? Además, ¿qué puedo hacer para restringir lo que se fusiona solo a los contenidos de ese conjunto de cambios?

Respuesta

56

Si necesita combinar un conjunto de cambios específicos que necesita para utilizar la siguiente instrucción:

tf merge /baseless /recursive /version:C95654~C95654 branch2 branch1 

(sólo significa conjunto de cambios C95654).

La línea de comandos que está utilizando significa cada conjunto de cambios antes y con C95654.

+0

¿Es posible que hago una fusión sin fundamento, pero no consigo BRANCH1 (objetivo) de código ?, –

1

Tuve que usar las rutas tfs para las dos ramas. Los pasos fueron: agregue ambas ramas al espacio de trabajo deseado; recibir las últimas; abra un Windows powershell en la carpeta de destino. Obtenga las rutas de tfs

>tf workspaces /format:detailed 
>tf workfold 

Luego use $ paths para las ramas. Mismo número de conjunto de cambios entre la fusión sin fundamento de tilde para un conjunto de cambios.

>tf merge /baseless /recursive /version:C999~C999 "$/MyRepo/Current" "$/MyRepo/Development" 

Más aquí - http://blogs.msdn.com/b/bharry/archive/2011/08/31/merge-enhancements-in-tfs-11.aspx

+0

1 para esto: "añadir las dos ramas de la espacio de trabajo deseado " –

Cuestiones relacionadas