Fixed issue 304, cannot display source files with brackets in their names.

This commit is contained in:
Loic d'Anterroches 2009-10-09 08:46:14 +02:00
parent e5934e0a3a
commit c7aa91fc29

View File

@ -169,7 +169,7 @@ class IDF_Scm_Svn extends IDF_Scm
$cmd = sprintf(Pluf::f('svn_path', '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->username),
escapeshellarg($this->password), escapeshellarg($this->password),
escapeshellarg($this->repo.'/'.urlencode($path)), escapeshellarg($this->repo.'/'.self::urlencode($path)),
escapeshellarg($rev)); escapeshellarg($rev));
$cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd; $cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd;
$xmlInfo = shell_exec($cmd); $xmlInfo = shell_exec($cmd);
@ -196,7 +196,7 @@ class IDF_Scm_Svn extends IDF_Scm
$cmd = sprintf(Pluf::f('svn_path', '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->username),
escapeshellarg($this->password), escapeshellarg($this->password),
escapeshellarg($this->repo.'/'.urlencode($folder)), escapeshellarg($this->repo.'/'.self::urlencode($folder)),
escapeshellarg($commit)); escapeshellarg($commit));
$cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd; $cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd;
$xml = simplexml_load_string(shell_exec($cmd)); $xml = simplexml_load_string(shell_exec($cmd));
@ -253,7 +253,7 @@ class IDF_Scm_Svn extends IDF_Scm
$cmd = sprintf(Pluf::f('svn_path', '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->username),
escapeshellarg($this->password), escapeshellarg($this->password),
escapeshellarg($this->repo.'/'.urlencode($filename)), escapeshellarg($this->repo.'/'.self::urlencode($filename)),
escapeshellarg($rev)); escapeshellarg($rev));
$cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd; $cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd;
$xml = simplexml_load_string(shell_exec($cmd)); $xml = simplexml_load_string(shell_exec($cmd));
@ -280,7 +280,7 @@ class IDF_Scm_Svn extends IDF_Scm
$cmd = sprintf(Pluf::f('svn_path', '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->username),
escapeshellarg($this->password), escapeshellarg($this->password),
escapeshellarg($this->repo.'/'.urlencode($def->fullpath)), escapeshellarg($this->repo.'/'.self::urlencode($def->fullpath)),
escapeshellarg($def->rev)); escapeshellarg($def->rev));
$cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd; $cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd;
return ($cmd_only) ? $cmd : shell_exec($cmd); return ($cmd_only) ? $cmd : shell_exec($cmd);
@ -458,7 +458,7 @@ class IDF_Scm_Svn extends IDF_Scm
$cmd = sprintf(Pluf::f('svn_path', '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->username),
escapeshellarg($this->password), escapeshellarg($this->password),
escapeshellarg($this->repo.'/'.urlencode($path)), escapeshellarg($this->repo.'/'.self::urlencode($path)),
escapeshellarg($rev)); escapeshellarg($rev));
$cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd; $cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd;
$xmlProps = shell_exec($cmd); $xmlProps = shell_exec($cmd);
@ -494,7 +494,7 @@ class IDF_Scm_Svn extends IDF_Scm
escapeshellarg($property), escapeshellarg($property),
escapeshellarg($this->username), escapeshellarg($this->username),
escapeshellarg($this->password), escapeshellarg($this->password),
escapeshellarg($this->repo.'/'.urlencode($path)), escapeshellarg($this->repo.'/'.self::urlencode($path)),
escapeshellarg($rev)); escapeshellarg($rev));
$cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd; $cmd = Pluf::f('idf_exec_cmd_prefix', '').$cmd;
$xmlProp = shell_exec($cmd); $xmlProp = shell_exec($cmd);
@ -525,5 +525,11 @@ class IDF_Scm_Svn extends IDF_Scm
$xml = simplexml_load_string($xmlInfo); $xml = simplexml_load_string($xmlInfo);
return (string) $xml->entry->commit['revision']; return (string) $xml->entry->commit['revision'];
} }
public static function urlencode($string)
{
return str_replace('%2F', '/', urlencode($string));
}
} }