public function unserialize($data) { parent::unserialize($data); $lines = explode("\n", $data); unset($data); $meta = []; while (($line = array_shift($lines)) != '') { $parts = explode(' ', $line, 2); if (!isset($meta[$parts[0]])) { $meta[$parts[0]] = [$parts[1]]; } else { $meta[$parts[0]][] = $parts[1]; } } $this->object = Git::sha1Bin($meta['object'][0]); $this->type = $meta['type'][0]; $this->tag = $meta['tag'][0]; $this->tagger = new GitStamp(); $this->tagger->unserialize($meta['tagger'][0]); $this->message = implode("\n", $lines); }
public function unserialize($data) { parent::unserialize($data); $lines = explode("\n", $data); unset($data); $meta = array('parent' => array()); while (($line = array_shift($lines)) != '') { $parts = explode(' ', $line, 2); if (!isset($meta[$parts[0]])) { $meta[$parts[0]] = array($parts[1]); } else { $meta[$parts[0]][] = $parts[1]; } } $this->tree = Git::sha1Bin($meta['tree'][0]); $this->parents = array_map(array("ennosuke\\glip\\Git", "sha1Bin"), $meta['parent']); $this->author = new GitStamp(); $this->author->unserialize($meta['author'][0]); $this->committer = new GitStamp(); $this->committer->unserialize($meta['committer'][0]); $this->summary = array_shift($lines); $this->detail = implode("\n", $lines); $this->history = null; }