示例#1
0
文件: GitTag.php 项目: Ennosuke/glip
 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);
 }
示例#2
0
 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;
 }