/** * Clone a repository, it inherits access * @param String forkName */ public function forkShell($forkName) { $clone = new GitRepository(); $clone->setName($forkName); $clone->setProject($this->getProject()); $clone->setParent($this); $clone->setCreationDate(date('Y-m-d H:i:s')); $clone->setCreator($this->getCreator()); $clone->setAccess($this->getAccess()); $clone->setIsInitialized(1); $clone->setDescription('-- Default description --'); $this->getBackend()->createFork($clone); }
/** * @deprecated Should use GitRepository::getInstanceFrom row instead. * @param GitRepository $repository * @param type $result */ public function hydrateRepositoryObject(GitRepository $repository, $result) { $repository->setName($result[self::REPOSITORY_NAME]); $repository->setPath($result[self::REPOSITORY_PATH]); $repository->setId($result[self::REPOSITORY_ID]); $repository->setDescription($result[self::REPOSITORY_DESCRIPTION]); $repository->setParentId($result[self::REPOSITORY_PARENT]); $project = ProjectManager::instance()->getProject($result[self::FK_PROJECT_ID]); $repository->setProject($project); $repository->setCreationDate($result[self::REPOSITORY_CREATION_DATE]); $user = UserManager::instance()->getUserById($result[self::REPOSITORY_CREATION_USER_ID]); $repository->setCreator($user); $repository->setIsInitialized($result[self::REPOSITORY_IS_INITIALIZED]); $repository->setDeletionDate($result[self::REPOSITORY_DELETION_DATE]); $repository->setAccess($result[self::REPOSITORY_ACCESS]); $repository->setMailPrefix($result[self::REPOSITORY_MAIL_PREFIX]); $repository->setBackendType($result[self::REPOSITORY_BACKEND_TYPE]); $repository->setNamespace($result[self::REPOSITORY_NAMESPACE]); $repository->setBackupPath($result[self::REPOSITORY_BACKUP_PATH]); $repository->setScope($result[self::REPOSITORY_SCOPE]); $repository->setRemoteServerId($result[self::REMOTE_SERVER_ID]); $repository->setRemoteServerDisconnectDate($result[self::REMOTE_SERVER_DISCONNECT_DATE]); $repository->setRemoteProjectDeletionDate($result[self::REMOTE_SERVER_DELETE_DATE]); $repository->setRemoteServerMigrationStatus($result[self::REMOTE_SERVER_MIGRATION_STATUS]); $repository->loadNotifiedMails(); /* Here just for reviewer test, will be replaced by real DB data in a future changeset*/ $result[self::ENABLE_ONLINE_EDIT] = false; if ($result[self::ENABLE_ONLINE_EDIT] && GitConfig::instance()->isOnlineEditEnabled()) { $repository->enableOnlineEdit(); } }
public function hydrateRepositoryObject(GitRepository $repository, $result) { $repository->setName($result[self::REPOSITORY_NAME]); $repository->setPath($result[self::REPOSITORY_PATH]); $repository->setId($result[self::REPOSITORY_ID]); $repository->setDescription($result[self::REPOSITORY_DESCRIPTION]); $repository->setParentId($result[self::REPOSITORY_PARENT]); $project = ProjectManager::instance()->getProject($result[self::FK_PROJECT_ID]); $repository->setProject($project); $repository->setCreationDate($result[self::REPOSITORY_CREATION_DATE]); $user = UserManager::instance()->getUserById($result[self::REPOSITORY_CREATION_USER_ID]); $repository->setCreator($user); $repository->setIsInitialized($result[self::REPOSITORY_IS_INITIALIZED]); $repository->setDeletionDate($result[self::REPOSITORY_DELETION_DATE]); $repository->setAccess($result[self::REPOSITORY_ACCESS]); $repository->setMailPrefix($result[self::REPOSITORY_MAIL_PREFIX]); $repository->setBackendType($result[self::REPOSITORY_BACKEND_TYPE]); $repository->setNamespace($result[self::REPOSITORY_NAMESPACE]); $repository->setScope($result[self::REPOSITORY_SCOPE]); $repository->loadNotifiedMails(); }