Python自定义Mercurial合并工具正在进行中?

问题描述 投票:2回答:1

给定一个自定义hg合并工具mymergetool.py

在Linux上,我可以这样做:

merge-tools.MyMergeTool.executable=mymergetool.py

它在一个新进程中运行python。

但是在Windows上,必须将python.exe指定为可执行文件。但鉴于系统上可能不存在(我使用嵌入在应用程序中的hg)

我希望能够做到这样的事情:

merge-tools.MyMergeTool.executable=python:mymergetool.py

它在与hg相同的进程中运行合并工具。

然而,在阅读hg的filemerge.py时,似乎在这种情况下不支持python: prepend。

有没有其他方法可以提供可以在进程中运行的自定义合并工具? (例如,使用钩子或扩展)

我想要这样做的原因

  1. 我不想用我的应用程序发送python.exe。 (次要)
  2. 在某些系统上(例如iOS)很难启动外部进程,因此在进程中运行自定义合并工具会使事情变得更加容易。
mercurial mercurial-hook mercurial-extension
1个回答
0
投票

现在可以在Mercurial 4.7及更新版本中使用。 MergeTool configuration documentation

(Release Notes)

一个指定python文件以及python函数。

merge-tools.MyMergeTool.executable=python:mymergetool.py:mergefn

功能签名是这样的:

def mergefn(ui, repo, args, **kwargs):
© www.soinside.com 2019 - 2024. All rights reserved.