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

发布于 2024-09-26 20:57:23 字数 468 浏览 5 评论 0原文

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

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

Is it possible for Mercurial to automatically merge all changes except for specifically nominated files? For the specific files there are some lines that may be overwritten so I want it to force a manual merge with the visual merge tool.

The use-case for this is pulling from a parent repo and building a different version of an app form the same code. The specific files would include the Visual Studio project file & AssemblyInfo file - I want to retain the version-specific references and .NET framework to build against. For more background of my scenario see http://kiln.stackexchange.com/questions/2320/best-practice-to-maintain-different-build-configs-for-the-same-code

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

洛阳烟雨空心柳 2024-10-03 20:57:23

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

[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

Yes, you can configure separate merge tools on a per-file basis, and they could differ only by pre-merge flag if you wanted:

[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

Full details: https://www.mercurial-scm.org/wiki/MergeToolConfiguration

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文