Esempio n. 1
0
 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;
 }