2008-09-09 14 views
19

¿Es posible fusionarse a una sucursal que no sea directora o secundaria en TFS? Sospecho que la respuesta es no, ya que esto es lo que he experimentado al usarlo. Sin embargo, parece que en ciertos momentos sería muy útil cuando se trabaje con diferentes funciones que pueden tener diferentes ciclos de aprobación (es decir, la característica podría ser aprobada antes de la función dos). Esto se vuelve extremadamente difícil cuando tenemos sucursales de producción donde tenemos que fusionar alguna función en una rama anterior para que podamos lanzar antes de la próxima versión completa.fusión de cruce entre sucursales en TFS?

Nuestra estrategia de bifurcación actual es desarrollar en el tronco (o mainline como lo llamamos), y crear una rama para estabilizar y lanzar a la producción. Esta rama se puede usar para crear revisiones y otras cosas, mientras que la línea principal puede divergir para las próximas funciones.

¿Qué técnicas se pueden utilizar para mitigar un escenario como el descrito anteriormente?

+1

je, sierra un voto a favor de esto y me recordó mis días con TFS. Me alegra decir que desde que me mudé a Git hace unos dos años, no tuve que preocuparme por cosas como esta;) –

+3

Joel incorrecto, mientras que no tienes que preocuparte por las limitaciones técnicas, git es mejor en la bifurcación, usted todavía tiene que preocuparse por los comportamientos disfuncionales ... Esas herramientas transend. –

+0

Le recomendaría que actualice a TFS 2013.3/VSO y migre a un proyecto de equipo basado en Git. –

Respuesta

18

Estoy de acuerdo con Harpreet en que es posible que desee revisar cómo ha configurado su estructura de bifurcación.Sin embargo, si realmente quieres realizar este tipo de fusión, puedes hacerlo a través de algo llamado fusión sin base. Se extiende desde el símbolo del sistema TFS,

Tf merge /baseless <<source path>> <<target path>> /recursive 

información adicional acerca de combinación sin fundamento se puede encontrar here

También encontré este documento a ser muy valiosa en la construcción de nuestros TFS estructura ramificada Microsoft Team Foundation Server Branching Guidance

1

AFAIK puede hacer esto siempre que las ramas se hayan creado fuera de la misma carpeta original.

  • tronco/
  • ramas/ -/feature1 (ramificado desde el tronco) -/característica2 (ramificado desde el tronco)

Si lo hace, entonces debería ser capaz de combinar entre feature1 y feature2 también.

Aunque mi experiencia de bifurcación/fusión con TFS me deja con ganas de más. Ojalá tuviéramos SVN.

2

Es posible que desee volver a visitar su estrategia de bifurcación. ¿Cómo se obtienen las ramas de producción? ¿Está fusionando todo el código de las ramas de desarrollo, las pruebas de regresión y luego creando una rama de producción para las correcciones? ¿O se está desarrollando en el tronco y luego creando ramas de producción para estabilizar y liberar? La segunda forma crea problemas del tipo que describes. Si está utilizando el primer enfoque, se supone que el troncal es solo para cosas que se han construido en ramas probadas y luego se fusionaron, se encontrará con esto con mucha menos frecuencia. Según ese enfoque, si todavía tiene este problema, puede deberse a que su esfuerzo de desarrollo es muy grande y es posible que necesite una estrategia de ramificación relativamente compleja con capas de ramificación y promoción.

1

Sí, se puede hacer una fusión sin fundamento, pero sólo desde la línea de comandos (tf.exe).

+1

Puede hacer fusiones sin batería desde la interfaz de usuario en 2012 y hasta ... –

1

TFS le permitirá fusionarse con una sucursal que no es un padre/hijo; estos se denominan fusiones infundadas. Ver estos enlaces:

From MSDN

From the TFS Team via CodePlex

normalmente hacemos cambios importantes o desestabilizadores en una rama de desarrollo. Si está cerca de una versión principal de uno de nuestros productos, casi todos los cambios se realizarán en una sucursal.

Cuestiones relacionadas