2010-10-12 11 views
1

Est-il possible que Mercurial fusionne automatiquement tous les changements sauf pour les fichiers spécifiquement nommés? Pour les fichiers spécifiques, il y a des lignes qui peuvent être remplacées, donc je veux qu'il forcent une fusion manuelle avec l'outil de fusion visuelle.Mercurial premerge = false uniquement pour les fichiers spécifiques, = true pour tous les autres?

Le cas d'utilisation pour cela est tiré d'un dépôt parent et la construction d'une version différente d'une application forme le même code. Les fichiers spécifiques incluraient le fichier de projet Visual Studio & Fichier AssemblyInfo - Je souhaite conserver les références spécifiques à la version et le framework .NET à compiler. Pour plus d'arrière-plan de mon scénario voir http://kiln.stackexchange.com/questions/2320/best-practice-to-maintain-different-build-configs-for-the-same-code

Répondre

4

Oui, vous pouvez configurer des outils de fusion séparés sur une base par fichier, et ils pourraient différer que par drapeau de pré-fusion si vous voulez:

[merge-tools] 
mymergetool.priority = 100 
mymergetool.premerge = True 
mymergetool.args = $local $other $base -o $output 
mymergetool.executable = /path/to/mergetool 

manualmerge.priority = 100 
manualmerge.premerge = False 
manualmerge.args = $local $other $base -o $output 
manualmerge.executable = /path/to/mergetool 


[merge-patterns] 
filename_to_never_automerge = manualmerge 

détails : https://www.mercurial-scm.org/wiki/MergeToolConfiguration

+0

spot-on! Merci. :) –