Visual Studio不在git commit-message挂钩中执行子可执行文件

时间:2017-06-14 11:05:29

标签: git bash visual-studio-2017 pre-commit-hook

我有一个本地git存储库,用于向开发服务器查询工作项。然后,如果提交消息适合某种格式,则会解析并检查这些项目。

这在bash和Source Tree中工作正常,但Visual Studio不会执行子命令来查询服务器。

我如何说服VS执行它?也许某处有安全开关?

我目前的设置:

  • Visual Studio 2017 Professional(版本15.2.26430.13)
  • git version 2.12.1.windows.1
  • 赢得所有最新更新。

示例commit-msg hook

#!/bin/sh
#
hooksDir=$(git config core.hooksPath)

item=$($hooksDir/curl http://www.dict.cc/)
echo ${#item}
exit 1;

bash的输出

C:\projects\Hooks\clienthooks>git commit -am "foo"
% Total    % Received % Xferd  Average Speed   Time    Time     Time  
Current
                             Dload  Upload   Total   Spent    Left  Speed
100 40126  100 40126    0     0   502k      0 --:--:-- --:--:-- --:--:--  502k
40126

sourcetree的输出:

0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 39795  100 39795    0     0   498k      0 --:--:-- --:--:-- --:--:--  
498k
39795
Completed with errors, see above.

visual studio的输出:

Git process failed unexpectedly.
0

1 个答案:

答案 0 :(得分:0)

如果有人偶然发现这个问题:似乎卷曲是问题,无论出于何种原因,VS2017都不会引发卷曲。

但它会激发我测试过的所有其他可执行文件:我通过在C#中编写一个新项目来规避问题。然后我触发可执行文件并检查bash中的输出。