# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: E:\ezwork\redmine\lib\redmine\scm\adapters # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: subversion_adapter.rb --- subversion_adapter.rb Base (BASE) +++ subversion_adapter.rb Locally Modified (Based On LOCAL) @@ -76,7 +76,7 @@ path ||= '' identifier = (identifier and identifier.to_i > 0) ? identifier.to_i : "HEAD" entries = Entries.new - cmd = "#{SVN_BIN} list --xml #{target(path)}@#{identifier}" + cmd = "#{SVN_BIN} list --xml #{target(URI.escape(path))}@#{identifier}" cmd << credentials_string shellout(cmd) do |io| output = io.read @@ -86,7 +86,7 @@ # Skip directory if there is no commit date (usually that # means that we don't have read access to it) next if entry.attributes['kind'] == 'dir' && entry.elements['commit'].elements['date'].nil? - entries << Entry.new({:name => entry.elements['name'].text, + entries << Entry.new({:name => URI.unescape(entry.elements['name'].text), :path => ((path.empty? ? "" : "#{path}/") + entry.elements['name'].text), :kind => entry.attributes['kind'], :size => (entry.elements['size'] and entry.elements['size'].text).to_i, @@ -112,7 +112,7 @@ return nil unless self.class.client_version_above?([1, 5, 0]) identifier = (identifier and identifier.to_i > 0) ? identifier.to_i : "HEAD" - cmd = "#{SVN_BIN} proplist --verbose --xml #{target(path)}@#{identifier}" + cmd = "#{SVN_BIN} proplist --verbose --xml #{target(URI.escape(path))}@#{identifier}" cmd << credentials_string properties = {} shellout(cmd) do |io| @@ -137,7 +137,7 @@ cmd = "#{SVN_BIN} log --xml -r #{identifier_from}:#{identifier_to}" cmd << credentials_string cmd << " --verbose " if options[:with_paths] - cmd << ' ' + target(path) + cmd << ' ' + target(URI.escape(path)) shellout(cmd) do |io| begin doc = REXML::Document.new(io) @@ -174,7 +174,7 @@ cmd = "#{SVN_BIN} diff -r " cmd << "#{identifier_to}:" cmd << "#{identifier_from}" - cmd << " #{target(path)}@#{identifier_from}" + cmd << " #{target(URI.escape(path))}@#{identifier_from}" cmd << credentials_string diff = [] shellout(cmd) do |io| @@ -188,7 +188,7 @@ def cat(path, identifier=nil) identifier = (identifier and identifier.to_i > 0) ? identifier.to_i : "HEAD" - cmd = "#{SVN_BIN} cat #{target(path)}@#{identifier}" + cmd = "#{SVN_BIN} cat #{target(URI.escape(path))}@#{identifier}" cmd << credentials_string cat = nil shellout(cmd) do |io| @@ -201,7 +201,7 @@ def annotate(path, identifier=nil) identifier = (identifier and identifier.to_i > 0) ? identifier.to_i : "HEAD" - cmd = "#{SVN_BIN} blame #{target(path)}@#{identifier}" + cmd = "#{SVN_BIN} blame #{target(URI.escape(path))}@#{identifier}" cmd << credentials_string blame = Annotate.new shellout(cmd) do |io|