gpt4 book ai didi

version-control - Mercurial 钩子(Hook) : how to find the current directory on commit

转载 作者:行者123 更新时间:2023-12-04 18:15:05 24 4
gpt4 key购买 nike

我正在尝试使用 C# .NET 创建 Mercurial SCM (hg) 的 Hook ,以在提交或预提交时启动自定义 C# 应用程序。

作为概念验证原型(prototype),我将自定义 .exe 的位置添加到 Mercurial.ini 文件的 [hooks] 部分以进行预提交,并将另一个 .exe 用于提交。
这些 .exe 应用程序按预期在预提交和提交时打开。

但是,到目前为止,这些可执行文件只是 stub 。
为了让他们做我需要的事情,他们必须“知道”提交即将发生(或已经发生)的当前目录。
Mercurial.ini 位于我在 Windows 上的用户配置文件目录中。
例如,当我从位于 C:\MyProjects\TestProject 的 Hg 存储库中进行提交时,可执行文件需要知道该工作正在 C:\MyProjects\TestProject 中完成。

如何在运行时以编程方式从在本地计算机上执行 Mercurial 命令的“ Hook ”可执行文件中找出?

最佳答案

来自 hook chapter in the book :

An executable hook is always run with its current directory set to a repository's root directory.



因此,您的可执行文件只需检查其当前工作目录即可了解调用它的存储库的根目录。

关于version-control - Mercurial 钩子(Hook) : how to find the current directory on commit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11903986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com