| return $this->cache['tags'];␊ | 
| }␊ | 
| $cmd = Pluf::f('idf_exec_cmd_prefix', '')␊ | 
| .sprintf('GIT_DIR=%s %s tag',␊ | 
| .sprintf('GIT_DIR=%s %s for-each-ref --format="%%(taggerdate:iso)%%(committerdate:iso) %%(objectname) %%(refname)" refs/tags',␊ | 
| escapeshellarg($this->repo),␊ | 
| Pluf::f('git_path', 'git'));␊ | 
| self::exec('IDF_Scm_Git::getTags', $cmd, $out, $return);␊ | 
|  | 
| $cmd, $return,␊ | 
| implode("\n", $out)));␊ | 
| }␊ | 
| rsort($out);␊ | 
| $res = array();␊ | 
| foreach ($out as $b) {␊ | 
| if (false !== strpos($b, '/')) {␊ | 
| $res[$this->getCommit($b)->commit] = $b;␊ | 
| $elts = explode(' ', $b, 5);␊ | 
| $tag = substr(trim($elts[4]), 10);␊ | 
| if (false !== strpos($tag, '/')) {␊ | 
| $res[$elts[3]] = $b;␊ | 
| } else {␊ | 
| $res[$b] = '';␊ | 
| $res[$tag] = '';␊ | 
| }␊ | 
| }␊ | 
| $this->cache['tags'] = $res;␊ |