当我将特定文件提交到SVN存储库时,我正在尝试向我们的测试团队成员发送电子邮件。我已经使用post-commit
使用sendmail
钩子正常工作了所有正确的内容,但问题是运行sendmail
命令需要很长时间,团队成员会抱怨。我已经向TortoiseSVN控制台发送了一条消息,让用户知道发生了什么,但是在发送邮件之后才会出现,这使得消息基本没用。
我有两个问题:
sendmail
运行之前,我可以以某种方式让我的钩子输出此消息吗? echo
命令在sendmail
之前,但似乎没有做多少sendmail
命令在后台运行吗?这是脚本:
REPOS="$1"
REV="$2"
TXN_NAME="$3"
# Make sure that the log message contains some text.
SVNLOOK=/opt/bitnami/subversion/bin/svnlook
SENDMAIL=/usr/sbin/sendmail
AUTHOR=$($SVNLOOK author -r "$REV" "$REPOS")
FOUND=$($SVNLOOK changed -r "$REV" "$REPOS" | grep -Pc '[U]\s+.+(file.txt)$')
MAILLOCATION=/home/bitnami/svn/test
MAILMESSAGE="To: tester@mycorp.com\nFrom: subversion@mycorpdev\nSubject: File was modified\n\n$AUTHOR modified the file"
if [ $FOUND -eq 1 ]; then
echo "You've modified the file, yada yada yada" >&2
echo "Note: Your commit did not fail, even though the text says it did." >&2
$SENDMAIL -t < $MAILLOCATION &
exit 1
fi
exit 0
我尝试使用eval $($SENDMAIL -t < $MAILLOCATION) &
和其他一些内容作为sendmail
命令,但没有任何帮助。
答案 0 :(得分:0)
您可以尝试:
library(dplyr)
dat %>% group_by(groupid) %>%
filter(percent_rank(score)>=0.9) %>%
summarise(mean_top10pct=mean(score))
取自here