我正在尝试在 Windows IIS 服务器上的远程存储库(使用 hgweb)上设置一个挂钩。我遇到的问题是存储库在 hgweb 的配置中被指定为 UNC 路径,并且该钩子使用 cmd.exe 不支持的 UNC 路径执行 cmd.exe。
是否可以指定不同的 shell 来运行?
我正在尝试在 Windows IIS 服务器上的远程存储库(使用 hgweb)上设置一个挂钩。我遇到的问题是存储库在 hgweb 的配置中被指定为 UNC 路径,并且该钩子使用 cmd.exe 不支持的 UNC 路径执行 cmd.exe。
是否可以指定不同的 shell 来运行?
据我所知,你不能告诉 Mercurial 在 Windows 上使用不同的 shell(但我认为你可以在 Linux 主机上)
相反,您可以让您的钩子脚本调用到不同的 shell,并让该 shell执行另一个脚本或一组命令。这很混乱,但不幸的是,Windows 并不以提供出色的脚本支持而著称,尤其是与基于 *nix 的平台相比时。
Mercurial hooks 有两种定义方式,
如果您将其更改为 python 钩子,那么您显然将拥有 python 的全部功能来做事。当然,没有理由不能像 cdeszaq 建议的那样用任何语言编写程序并从外部挂钩执行它