我正在尝试使用C#.NET创建Mercurial SCM(hg)的挂钩,以便在提交或预提交时启动自定义C#应用程序。
作为一个概念验证原型,我将自定义.exe的位置添加到Mercurial.ini文件的[hooks]部分进行预提交,另一个.exe进行提交。 正如预期的那样,这些.exe应用程序在预提交和提交时打开。
但是,到目前为止,这些可执行文件只是存根。 为了使它们能够满足我的需要,它们必须“知道”提交即将发生(或已经发生)的当前目录。 Mercurial.ini位于Windows上的用户配置文件目录中。 例如,当我从位于C:\ MyProjects \ TestProject中的Hg存储库进行提交时,可执行文件需要知道正在C:\ MyProjects \ TestProject中完成工作。
如何在运行时以编程方式从本地计算机上执行Mercurial命令的“挂钩”可执行文件中找到它?
答案 0 :(得分:4)