Я написал Perl-обработчик Perl , который отправляет электронные письма через модуль Perl Net::SMTP
. Я получил следующую ошибку при попытке сделать коммит:
Sending subversion/README
Transmitting file data .svn: Commit failed (details follow):
svn: MERGE of '/mfxcm/trunk/subversion': 200 OK (http://source)
Фиксация действительно сработала, но пересмотр моей рабочей копии
не обновлялся, пока я не сделал "svn up":
$ svn commit -m"Finding what's causing commit errors. I think it's the post-commit script"
Sending subversion/README
Transmitting file data .svn: Commit failed (details follow):
svn: MERGE of '/mfxcm/trunk/subversion': 200 OK (http://source)
david@DaveBook.local:~/workspace/svn-cm-trunk/subversion
$ svn up
G README
Updated to revision 94.
Я играл со своим сценарием после коммита. Сначала я написал простое, которое просто распечатывает простое текстовое сообщение, чтобы убедиться, что все работает. Затем я использовал свою и вышел в разное время, чтобы увидеть, откуда возникла проблема MERGE
.
Я дошел до того, что в моем скрипте я создал новый объект Net :: SMTP:
if ($smtpUser) {
$smtp->auth( $self->SmtpUser, $self->SmtpPassword)
or croak qq(Unable to connect to mailhost "@{[$self->SmtpHost]}")
. qq( as user "@{[$self->SmtpUser]}");
}
Если эта строка включена в моем скрипте, я получаю проблему MERGE
. В противном случае весь мой сценарий выполняется более или менее, как ожидалось.
Я также могу запустить скрипт из командной строки, и все работает просто отлично. Только когда запускается как ловушка пост-фиксации, когда вещи терпят неудачу. Я даже вошел как Apache и запустил скрипт без проблем.
Что означает эта ошибка MERGE и почему я получаю ее, когда Subversion запускает ловушку после фиксации?