Я пытаюсь отправить электронное письмо члену нашей тестовой группы, когда определенный файл привязан к нашему репозиторию SVN. У меня есть крючок , который работает правильно, используя sendmail
со всем необходимым содержимым, но проблема в том, что выполнение команды sendmail
требует времени, и члены команды будут жаловаться. Я зарегистрировал сообщение на консоли TortoiseSVN, чтобы пользователи знали, что происходит, но оно не появляется до после, и почта отправляется, что делает сообщение бесполезным.Отправить письмо в фоновом режиме в SVN post-commit
У меня два вопроса:
- Могу ли я каким-то образом сделать свой крюк выход это сообщение перед тем
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: [email protected]\nFrom: [email protected]\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
, но ничего не помогло.
BTW .: Я предлагаю, чтобы проверить, почему Sendmail команда принимает возрастов. – Cyrus
Как насчет https://www.visualsvn.com/support/topic/00018/ или http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/mailer/? – bahrep
@bahrep Это для VisualSVN. Я не использую его. – Brandon