在 Mercurial 中指定挂钩时是否可以指定要使用的 Windows shell?
我正在尝试在 Windows IIS 服务器上的远程存储库(使用 hgweb)上设置一个挂钩。我遇到的问题是,存储库在 hgweb 的配置中被指定为 UNC 路径,并且挂钩使用 cmd.exe 不支持的 UNC 路径执行 cmd.exe。
是否可以指定不同的 shell 来运行?
I am trying to set up a hook on a remote repository (using hgweb) on a Windows IIS server. The issue I have is that the repository is specified as a UNC path in hgweb's config, and the hook executes cmd.exe using a UNC path which cmd.exe does not support.
Is it possible to specify a different shell to run instead?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
据我所知,你不能告诉 Mercurial 在 Windows 上使用不同的 shell(但我认为你可以在 Linux 主机上)
相反,你可以让你的钩子脚本调用不同的 shell 并让 shell 执行另一个脚本或命令集。这很混乱,但不幸的是 Windows 并不以提供强大的脚本支持而闻名,尤其是与基于 *nix 的平台相比。
As far as I know, you can't tell Mercurial to use a different shell on Windows (but I think you can on a Linux host)
Instead, you could have your hook script call out to a different shell and have that shell execute another script or set of commands. It's messy, but unfortunately Windows isn't know for having great scripting support, especially when compared to *nix-based platforms.
Mercurial 挂钩可以通过两种方式定义,
如果将其更改为 python 钩子,那么显然您将拥有 python 的全部功能来完成任务。当然,您没有理由不能像 cdeszaq 所建议的那样用任何语言编写程序并从外部挂钩执行它
Mercurial hooks can be defined two ways,
if you change it to be a python hook, then you would obviously have the full power of python available to do stuff. Of course there is no reason why you can't write a program in any language and execute it from your external hook as cdeszaq suggests