2011-10-04 16 views
7

Dado que he creado una rama en Mercurial, ¿cómo puedo impulsar la fusión resultante de esa rama a un repositorio remoto sin el historial de cómo llegué al resultado de esa rama fusionada. Por ejemplo.Empuje la rama fusionada mercurial sin historial

[a] - [b] -----------------[k] 
    \     /
     [g] - [h] - [i] - [j] 

[a], [b] y [k] siendo la rama 'por defecto', [g] a [j] es la rama de la característica. Una vez que fusiono la rama de características en la rama predeterminada, ¿cómo puedo tener [a] - [b] - [k] cambios en el repositorio remoto cuando presiono? No quiero simplemente no ver la rama, no quiero que esos conjuntos de cambios sean enviados al repositorio remoto. No me importa cómo llegué a [k], me importa el resultado final [k].

Actualmente me inclino por la rama mediante el método de clonación, pero ¿cómo puedo lograrlo con la clonación? ¿Habría también una manera de hacer que esto funcione con las sucursales nombradas?

He estado buscando una respuesta a esto, pero hay tanta documentación por ahí que es difícil encontrar esta aguja en un pajar.

Respuesta

7

En lugar de fusionar, desea utilizar hg rebase con la opción --collapse.

hg rebase --collapse --source [g] --dest [b] 

La extensión de rebase se envía con Mercurial, sólo tiene que enable en el archivo de configuración.

p.s. Si ya ha cometido la fusión [k], debe rollback (o strip) primero antes de volver a basar.

+0

¡Eso lo hizo! Gracias por todos los enlaces. Ahora desearía poder encontrar la forma de hacer que TortiseHg haga eso correctamente. – David

0

cómo puedo empujar la fusión resultante de esa rama en un repositorio remoto sin la historia de cómo llegué a ese resultado rama fusionada

No hay maneras de conseguir la historia desgarrados para fusionaron ramas

+2

En la forma como está, pero [Reducir extensión] (http://mercurial.selenic.com/wiki/CollapseExtension) puede ayudar –

Cuestiones relacionadas