我试图建立Slack Subversion集成。我在Windows下使用Collabnet Edge。 Slack站点建议调用Perl脚本(Here)。我已经安装了Dwimperl,并编写了一个批处理文件来运行脚本,并将参数传递给perl脚本。如果我从命令行手动调用它,这一切都能正常工作,但是当Subversion调用它时显然有些不对劲,因为我在Slack通道中看不到任何东西。
批处理文件有一行:
_mc._back.onRelease = function() :Void
{
var args:Array = new Array();
args.push((_root._xmouse - this._parent._posMiniMapX) * this._parent._ratio);
args.push((_root._ymouse - this._parent._posMiniMapY) * this._parent._ratio + this._parent._bpa / this._parent._ratio);
fscommand("MoveCameraMiniMap", args);
}
我已经验证了在提交后通过将%1和%2回显到文件来调用钩子,并且行为与我期望的一样。
我的猜测是Subversion在没有设置环境变量的情况下调用批处理文件,或者沿着这些行调用,但我完全不熟悉Perl而我不知道哪个。我通过绝对路径调用perl可执行文件,所以即使%PATH%为空,我认为它应该可以工作。
一个相关的问题是:如何调试这样的问题? Collabnet日志文件中没有任何内容,而不是我看到的内容
答案 0 :(得分:0)
在这种情况下,它只是需要设置的PATH变量。具体来说
SET PATH=C:\Dwimperl\perl\bin;C:\Dwimperl\perl\site\bin;C:\Dwimperl\c\bin
在批处理文件的开头解决了问题。