git post-receive hook,windows(服务端和客户端)要调用python
git post-receive hook, windows (server and client) want to call python
我正在使用 Bonobo(一个 windows git 服务器),我是新手,并尝试提交到 origin 它会触发一个 Python 脚本将能够:
- 找到最后一次提交的用户
- 找到提交信息
- 将该信息发送至 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 的双引号中
我正在使用 Bonobo(一个 windows git 服务器),我是新手,并尝试提交到 origin 它会触发一个 Python 脚本将能够:
- 找到最后一次提交的用户
- 找到提交信息
- 将该信息发送至 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 的双引号中