¿Bifurcación / labeldo parcial (por file / carpeta) en Mercurial?

En los VCS clásicos (CVS / SVN) puedo agregar nuevos files / carpetas en una twig y luego "labelrlos" con alguna label de twig para que también aparezcan en otra twig (desde donde pueden divergir nuevamente). Esto funciona actualizando su copy de trabajo a un estado particular y luego configurando la label de bifurcación.

¿Cómo puedo lograr algo similar en Mercurial? Busqué por todas partes, pero parece que no hay forma de mover solo unos pocos files / carpetas a otra twig.

En mi caso, alguna twig histórica recibió algunas actualizaciones que ahora deberían trasladarse a la twig actualmente activa (eso fue antes de que el repository se convirtiera de Subversion a Mercurial). ¿Hay algún método que conserve el historial de estos files / esta carpeta? ¿O tendría que volver a introducir el estado actual de estos files en la otra twig (es decir, comenzar desde cero)?

Nota al margen: hay varios cientos de cambios conflictivos entre las puntas de ambas twigs. Es por eso que estoy buscando una alternativa a la fusión de pleno derecho entre las sucursales (lo que también sería un problema porque una de las twigs dejaría de existir después de una fusión).

La extensión del trasplante Mercurial debe hacer el truco. Trasplante vuelve a aplicar un set de cambios a la twig que usted elija. Se usa comúnmente como una forma de mover una corrección de errores de una twig a otra (es decir, desde una twig de ejecución larga correspondiente a una versión de código liberada a la twig pnetworkingeterminada desarrollada activamente).

El trasplante se distribuye con Mercurial, pero es posible que deba habilitarlo agregando las siguientes líneas a su Mercurial.ini (o .hgrc):

[extensions] transplant= 

Desde TortoiseHg puede actualizar al set de cambios de destino (es decir, donde está colocando las correcciones) y luego hacer clic derecho en el set de cambios que desea mover y seleccionar "Trasplantar a local". La ayuda de command-line se puede encontrar en el enlace de arriba.

Una advertencia es que el trasplante se aplica a sets de cambios, y desea aplicar todo el set de cambios. Entonces, si un set de cambios contiene algunos cambios que desea aplicar y otros no, debe hacer un poco más de trabajo. Una forma de evitar esto es usar la extensión histedit y dividir dicho set de cambios en dos. Esto puede ser complejo y no se recomienda si su repository no contiene localmente (es decir, si está en algún server). Una opción de fuerza bruta sería trasplantar un set de cambios y luego simplemente deshacer cambios no deseados y comprometer esos mods como un segundo set de cambios.