/**
  * 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;
 }
示例#2
0
 /**
  * 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);
 }