| }␊ | 
| ␊ | 
| /**␊ | 
| * Get commit size.␊ | 
| *␊ | 
| * Get the sum of all the added/removed lines and the number of␊ | 
| * affected files.␊ | 
| *␊ | 
| * @param string Commit ('HEAD')␊ | 
| * @return array array(added, removed, affected)␊ | 
| */␊ | 
| public function getCommitSize($commit='HEAD')␊ | 
| {␊ | 
| $cmd = sprintf('GIT_DIR=%s git log --numstat -1 --pretty=format:%s %s',␊ | 
| escapeshellarg($this->repo), ␊ | 
| "'commit %H%n'", ␊ | 
| escapeshellarg($commit));␊ | 
| $out = array();␊ | 
| IDF_Scm::exec($cmd, $out);␊ | 
| $affected = count($out) - 2;␊ | 
| $added = 0;␊ | 
| $removed = 0;␊ | 
| $c=0;␊ | 
| foreach ($out as $line) {␊ | 
| $c++;␊ | 
| if ($c < 3) {␊ | 
| continue;␊ | 
| }␊ | 
| list($a, $r, $f) = preg_split("/[\s]+/", $line, 3, PREG_SPLIT_NO_EMPTY);␊ | 
| $added+=$a;␊ | 
| $removed+=$r;␊ | 
| }␊ | 
| return array($added, $removed, $affected);␊ | 
| }␊ | 
| ␊ | 
| /**␊ | 
| * Get latest changes.␊ | 
| *␊ | 
| * @param string Commit ('HEAD').␊ |