Então, estou tentando fazer com que um post-commit funcione no meu servidor Apache Subversion, especificamente estou tentando enviar e-mails para minha conta do Google, conforme descrito em este link .
Depois de definir as permissões para o script e a cópia de trabalho para o mesmo usuário e acesso de leitura / gravação, ele começou a causar erros de MERGE quando os usuários tentaram confirmar.
Depois de algumas leituras, descobri que foi porque o gancho post-commit não funcionou e descobri que digitando
svn - ./post-commit commit ../ 250 mailer.conf
Eu recebo este erro:
> annerajb@annerajb-desktop:~/Desktop/TotEM_SVN/hooks$ env - ./post-commit.test commit ../ 250
/var/lib/python-support/python2.6/svn/fs.py:27: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
import sys as _sys, os as _os, popen2 as _popen2, tempfile as _tempfile
Traceback (most recent call last):
File "/usr/share/subversion/hook-scripts/mailer/mailer.py", line 1351, in <module>
svn.core.run_app(main, cmd, config_fname, repos_dir, sys.argv[3:3+expected_args])
File "/var/lib/python-support/python2.6/svn/core.py", line 288, in run_app
return apply(func, (application_pool,) + args, kw)
File "/usr/share/subversion/hook-scripts/mailer/mailer.py", line 80, in main
revision = int(cmd_args[0])
ValueError: invalid literal for int() with base 10: ''
./post-commit.test: 5: ../: Permission denied
Não sei porque o cmd_args [0] está vazio se estou passando um valor para ele.
#!/bin/sh
REPOS="$1"
REV="$2"
/usr/share/subversion/hook-scripts/mailer/mailer.py commit "$REPOS" \
"$REV" /usr/share/subversion/hook-scripts/mailer/mailer.conf