当有人提交时,我希望将作者设置为发件人。我在post-receive
send_mail()
{
if [ -n "$envelopesender" ]; then
/usr/sbin/sendmail -t -f "$envelopesender"
else
/usr/sbin/sendmail -t
fi
}
我想把它添加到其他条件中,我想用
之类的东西git log <SHA-1> --pretty=format:"%an<%ae>" -1
我想我会使用$newrev
变量作为sha。
我的bash并不那么新鲜。我怎样才能做到这一点?
答案 0 :(得分:1)
你应该能够做到这一点我认为:
send_mail()
{
if [ -n "$envelopesender" ]; then
/usr/sbin/sendmail -t -f "$envelopesender"
else
author="$(git --no-pager show -s --pretty="%an" $newrev)"
email="$(git --no-pager show -s --pretty="%ae" $newrev | sed 's/ *$//g')"
if [ -n "$email" ]; then
/usr/sbin/sendmail -t -F "$author" -f "$email"
fi
fi
}
git show
看起来像是一个更合适的命令来提取有关提交的信息,而不是git log
。 (你可以使用更合适的东西;))--no-pager
确保不会打开寻呼机程序-s
会跳过提交中的文件和差异列表-F
-f