Subversion post-commit hook

时间:2009-11-21 05:50:33

标签: python svn unix svn-hooks

我创建了一个subversion post-commit钩子,每次提交时都会发送一封电子邮件。我从/ var / svn / repos / hooks中的post-commit文件调用python脚本。

REPOS="$1"
REV="$2"

~/svnnotify.py $REV

但问题是svn commit命令需要更长的时间才能终止,因为它等待python脚本先终止。有没有办法解决这个问题?

谢谢

3 个答案:

答案 0 :(得分:4)

尝试在调用脚本的行之后添加&符号(&),将其放入后台并立即返回。

答案 1 :(得分:0)

调用批处理文件并在该批处理文件中执行python脚本以在后台运行,方法是在批处理文件(&)中的命令末尾添加&符号。

答案 2 :(得分:0)

可能将更新放在一个简单的队列中,该队列可以通过从cron调用的脚本运行来获取,并在队列中存在某些内容时发送消息。

队列可以是/ tmp,sqlite文件或MySQL表中的简单文件。

如果发送电子邮件的时间明显很长,那么通知脚本中的代码可能就会出现问题。将电子邮件放在本地邮件队列中不应该花那么长时间。