как вы используете репозиторий trac?Обычно у вас есть trac, запущенный на сервере, куда вы нажимаете.Ловушка после фиксации не запускается после нажатия.
В этом случае вам понадобится ловушка после получения.Я внес несколько изменений в хук post-receive в пакете git-plugin, так как в нем были некоторые ошибки.(Например, вы можете сделать только одно изменение / секунду для тикета в trac, поэтому мне пришлось добавить sleep (1), так как при нажатии все ваши коммиты будут обрабатываться за одну секунду. И вы также можете указатьколичество отработанных часов)
Этот хук после получения можно найти на моем github: https://github.com/JensTimmerman/TRAC-SVN-to-GIT-migration/blob/master/hooks/trac-post-receive-hook.py
Вы должны установить его в /path/to/your/.git/hooks/ post-receive и убедитесь, что он исполняемый (chmod + x /path/to/your/.git/hooks/post-receive в linux) и измените «TRAC_ENV = '/ home / jens / tractest /'» так, чтобы он указывал наваша среда trac.
edit:
Если вы не размещаете свой git-репозиторий на том же сервере, на котором работает trac, вы можете выполнить временное git-репо и нажатьснова к одному траку, используемому с заданием cron или около того.Затем это снова вызовет ловушку post-receive в вашем реальном хранилище и обновит ваш trac.
У меня есть это на месте:
a64609@chaos:~/git$ ls
gitcron.log realrepo syncgit.sh tmprepo
где tmprepo - это просто место, где я тяну инажми и у ререпрепо есть мой пост-приемный хук.с syncgit.sh:
cd /home/username/git/tmprepo;
git pull;
git push real;
и удаленным «реальным» tmprepo, установленным на
a64609@chaos:~/git/tmprepo$ git remote -v show
origin https://JensTimmerman@github.com/hpcugent/easybuild.git
real ../realrepo/
, и все синхронизируется с помощью записи в crontab (поместите это в crontab -e)
*/3 * * * * /hhome/username/git/syncgit.sh >> /home/username/git/gitcron.log 2>&1