Changeset View
Changeset View
Standalone View
Standalone View
src/repository/graph/ArcanistCommitGraph.php
- This file was added.
| <?php | |||||
| final class ArcanistCommitGraph | |||||
| extends Phobject { | |||||
| private $repositoryAPI; | |||||
| private $nodes = array(); | |||||
| public function setRepositoryAPI(ArcanistRepositoryAPI $api) { | |||||
| $this->repositoryAPI = $api; | |||||
| return $this; | |||||
| } | |||||
| public function getRepositoryAPI() { | |||||
| return $this->repositoryAPI; | |||||
| } | |||||
| public function getNode($hash) { | |||||
| if (isset($this->nodes[$hash])) { | |||||
| return $this->nodes[$hash]; | |||||
| } else { | |||||
| return null; | |||||
| } | |||||
| } | |||||
| public function getNodes() { | |||||
| return $this->nodes; | |||||
| } | |||||
| public function newQuery() { | |||||
| $api = $this->getRepositoryAPI(); | |||||
| return $api->newCommitGraphQuery() | |||||
| ->setGraph($this); | |||||
| } | |||||
| public function newNode($hash) { | |||||
| if (isset($this->nodes[$hash])) { | |||||
| throw new Exception( | |||||
| pht( | |||||
| 'Graph already has a node "%s"!', | |||||
| $hash)); | |||||
| } | |||||
| $this->nodes[$hash] = id(new ArcanistCommitNode()) | |||||
| ->setCommitHash($hash); | |||||
| return $this->nodes[$hash]; | |||||
| } | |||||
| public function newPartitionQuery() { | |||||
| return id(new ArcanistCommitGraphPartitionQuery()) | |||||
| ->setGraph($this); | |||||
| } | |||||
| } | |||||