/** * Returns post-receive-email hook config in gitolite format * * @param Project $project * @param GitRepository $repository */ public function fetchMailHookConfig($project, $repository) { $conf = ''; $conf .= ' config hooks.showrev = "'; $conf .= $repository->getPostReceiveShowRev($this->url_manager); $conf .= '"'; $conf .= PHP_EOL; if ($repository->getNotifiedMails() && count($repository->getNotifiedMails()) > 0) { $conf .= ' config hooks.mailinglist = "' . implode(', ', $repository->getNotifiedMails()) . '"'; } else { $conf .= ' config hooks.mailinglist = ""'; } $conf .= PHP_EOL; if ($repository->getMailPrefix() != GitRepository::DEFAULT_MAIL_PREFIX) { $conf .= ' config hooks.emailprefix = "' . $repository->getMailPrefix() . '"'; $conf .= PHP_EOL; } return $conf; }
/** * Configure mail output to link commit to gitweb * * @param GitRepository $repository */ public function setUpMailingHook($repository) { $path = $this->getGitRootPath() . $repository->getPath(); $show_rev = $repository->getPostReceiveShowRev($this->url_manager); $this->getDriver()->setConfig($path, 'hooks.showrev', $show_rev); }