git post-receive hook,windows(服务端和客户端)要调用python

git post-receive hook, windows (server and client) want to call python

我正在使用 Bonobo(一个 windows git 服务器),我是新手,并尝试提交到 origin 它会触发一个 Python 脚本将能够:

一旦获得该数据,它就会 post 将其发送到 Slack。没问题。我有 Python 可以接受命令行参数和 post 到 Slack。

我想不通的是如何写我的:

post-receive

这是我的:

#!C:/Program Files\ (x86)/SmartGit/git/usr/bin/sh.exe
message=`git log -1`
python D:/DEVELOPMENT/PHX/PYTHON/git_slack/git_slack.py -channel git_test -user python -message $message

所以我可以调用 python 好的,但是我无法调用 bash,我认为它是 bash,我是一个 Windows 人:(填充消息,然后将其传递给 python。所以“$message”最终变成空白,我的 python 失败了。

如果我写:

python D:/DEVELOPMENT/PHX/PYTHON/git_slack/git_slack.py -channel git_test -user python -message "here we go"

所有 python 工作正常。我只是错过了一些东西。如果我输入:

git log -1

从 bash,我得到了一段很好的文本,我很乐意将其传递给 Python,我可以用正则表达式输出数据以使用它。

我必须将此信息传递给 Python,不能简单地使用 bash 到 post 到 Slack,因为 Python 会用我们的内部代理做一些工作,并且我无法在 bash.

中使用的防火墙

所以我的问题是,我的 post-receive 文件应该是什么样子才能满足上述 3 个要点。谢谢!

我成功了!

#!C:/Program Files\ (x86)/SmartGit/git/usr/bin/sh.exe
message=`git log -1`
echo $message
python D:/DEVELOPMENT/PHX/PYTHON/git_slack/git_slack.py -channel git_test -user python -message "$message"

我只需要将 $message 放在 Python 的双引号中