public function createReference($projectId, $repositoryName) { // Uncomment the following line only for debug prupose if you ever need to // create a gitshell repo (good luck, luke, may the force be with you). //$this->createGitshellReference($projectId, $repositoryName); $c = $this->getController(); $projectId = intval($projectId); $repository = new GitRepository(); $repository->setBackend(new Git_Backend_Gitolite(new Git_GitoliteDriver())); if ($repository->isNameValid($repositoryName) === false) { $c->addError($this->getText('actions_input_format_error', array($repository->getBackend()->getAllowedCharsInNamePattern(), GitDao::REPO_NAME_MAX_LENGTH))); $c->redirect('/plugins/git/?action=index&group_id=' . $projectId); return false; } $project = ProjectManager::instance()->getProject($projectId); $repository->setDescription('-- Default description --'); $repository->setCreator(UserManager::instance()->getCurrentUser()); $repository->setProject($project); $repository->setName($repositoryName); if (!$this->factory->isRepositoryExistingByName($project, $repositoryName)) { $repository->create(); } else { $c->addError($this->getText('actions_create_repo_exists', array($repositoryName))); } $c->redirect('/plugins/git/?action=index&group_id=' . $projectId); return; }