| }␊ | 
| ␊ | 
| // Else, test the path on revision␊ | 
| $cmd = sprintf('svn info --xml --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' info --xml --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
| escapeshellarg($this->repo.'/'.$path),␊ | 
|  | 
| */␊ | 
| public function filesAtCommit($rev='HEAD', $folder='')␊ | 
| {␊ | 
| $cmd = sprintf('svn ls --xml --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' ls --xml --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
| escapeshellarg($this->repo.'/'.$folder),␊ | 
|  | 
| */␊ | 
| private function getCommitMessage($file, $rev='HEAD')␊ | 
| {␊ | 
| $cmd = sprintf('svn log --xml --limit 1 --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' log --xml --limit 1 --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
| escapeshellarg($file),␊ | 
|  | 
| */␊ | 
| public function getFileInfo($totest, $rev='HEAD')␊ | 
| {␊ | 
| $cmd = sprintf('svn info --xml --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' info --xml --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
| escapeshellarg($this->repo.'/'.$totest),␊ | 
|  | 
| */␊ | 
| public function getBlob($request_file_info, $rev)␊ | 
| {␊ | 
| $cmd = sprintf('svn cat --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' cat --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
| escapeshellarg($this->repo.'/'.$request_file_info->fullpath),␊ | 
|  | 
| public function getCommit($rev='HEAD', $getdiff=false)␊ | 
| {␊ | 
| $res = array();␊ | 
| $cmd = sprintf('svn log --xml -v --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' log --xml -v --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
| escapeshellarg($this->repo),␊ | 
|  | 
| // We have a locally hosted repository, we can query it with␊ | 
| // svnlook␊ | 
| $repo = substr($this->repo, 7);␊ | 
| $cmd = sprintf('svnlook changed -r %s %s',␊ | 
| $cmd = sprintf(Pluf::f('svnlook_path', 'svnlook').' changed -r %s %s',␊ | 
| escapeshellarg($commit),␊ | 
| escapeshellarg($repo));␊ | 
| $out = IDF_Scm::shell_exec($cmd);␊ | 
|  | 
| private function getDiff($rev='HEAD')␊ | 
| {␊ | 
| $res = array();␊ | 
| $cmd = sprintf('svn diff -c %s --username=%s --password=%s %s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' diff -c %s --username=%s --password=%s %s',␊ | 
| escapeshellarg($rev),␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
|  | 
| public function getChangeLog($rev='HEAD', $n=10)␊ | 
| {␊ | 
| $res = array();␊ | 
| $cmd = sprintf('svn log --xml -v --limit %s --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' log --xml -v --limit %s --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($n),␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
|  | 
| public function getProperties($rev, $path='')␊ | 
| {␊ | 
| $res = array();␊ | 
| $cmd = sprintf('svn proplist --xml --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' proplist --xml --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
| escapeshellarg($this->repo.'/'.$path),␊ | 
|  | 
| private function getProperty($property, $rev, $path='')␊ | 
| {␊ | 
| $res = array();␊ | 
| $cmd = sprintf('svn propget --xml %s --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' propget --xml %s --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($property),␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
|  | 
| public function getLastCommit($rev='HEAD')␊ | 
| {␊ | 
| $xmlInfo = '';␊ | 
| $cmd = sprintf('svn info --xml --username=%s --password=%s %s@%s',␊ | 
| $cmd = sprintf(Pluf::f('svn_path', 'svn').' info --xml --username=%s --password=%s %s@%s',␊ | 
| escapeshellarg($this->username),␊ | 
| escapeshellarg($this->password),␊ | 
| escapeshellarg($this->repo),␊ |