Mercurial premerge = false仅适用于特定文件,= true适用于所有其他文件?

时间:2010-10-12 22:59:28

标签: mercurial merge

Mercurial是否可以自动合并除特定指定文件以外的所有更改?对于特定文件,有些行可能会被覆盖,所以我希望它强制手动合并可视化合并工具。

用例是从父级仓库中提取并从相同的代码构建不同版本的应用程序。特定文件将包括Visual Studio项目文件& AssemblyInfo文件 - 我想保留特定于版本的引用和.NET框架来构建。有关我的方案的更多背景信息,请参阅http://kiln.stackexchange.com/questions/2320/best-practice-to-maintain-different-build-configs-for-the-same-code

1 个答案:

答案 0 :(得分:4)

是的,您可以基于每个文件配置单独的合并工具,如果您愿意,它们可能仅因预合并标志而有所不同:

[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

完整详情:https://www.mercurial-scm.org/wiki/MergeToolConfiguration