Excluyendo un archivo mientras se fusiona en Mercurial
merge tortoisehg (2)
Por supuesto. No fusionar titi.cs es realmente solo usar titi.cs exactamente como existe en A o en B (tu elección). Podrías hacerlo manualmente de esta manera:
hg update A
hg merge B
hg revert --rev A titi.cs
(intercambie A y B para ir en la otra dirección).
O puede hacerlo automáticamente en la Confguración de la herramienta de combinación con algo así en su .hgrc .
[merge-patterns]
titi.cs = internal:local
Lo que le dice a Mercurial que siempre use "este, no ese" para los archivos que coincidan con ese patrón.
Yo uso Mercurial con TortoiseHg. Tengo dos ramas ( A y B ) con dos archivos ( toto.cs y titi.cs ).
¿Hay alguna manera, cuando quiero fusionar B con A , para excluir titi.cs de la fusión, y solo fusionar toto.cs ? Si es posible, ¿cómo puedo hacer eso?
Si está hablando de un determinado archivo del que desea estar exento de la fusión, consulte la respuesta de @ Ry4chan . Esto es perfectamente válido: algunos archivos, como las configuraciones de creación de relaciones, pueden autogenerarse, y la resolución de conflictos para ellos es inútil. O bien, es posible que desee eliminar los cambios realizados en un archivo fuente.
Si, por otro lado, está tratando de imitar las fusiones de sistemas SVN limitados por archivos o directorios, tenga cuidado. El truco de revert no significa que fusionaste algunos archivos y no fusionaste otros: fusionaste todo, la reversión fue solo una especie de fusión.
Si desea mover algunos cambios de una rama a otra (por ejemplo, respaldar una corrección en un determinado subsistema a una antigua rama estable), no fusiona los archivos con la corrección; en su lugar, fusiona los conjuntos de cambios que contienen la corrección; hg graft te ayudará a hacerlo.