From 2c1e63720ec972837b1bae3fde1acc3902ec23b0 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 12 Mar 2008 23:00:11 +0000 Subject: [PATCH] SCM AbstractAdapter use shell_quote to more properly escape path (closes #838 by John Goerzen). git-svn-id: http://redmine.rubyforge.org/svn/trunk@1238 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/scm/adapters/abstract_adapter.rb | 6 +++--- lib/redmine/scm/adapters/subversion_adapter.rb | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/redmine/scm/adapters/abstract_adapter.rb b/lib/redmine/scm/adapters/abstract_adapter.rb index 5db4964e9..41edf00ad 100644 --- a/lib/redmine/scm/adapters/abstract_adapter.rb +++ b/lib/redmine/scm/adapters/abstract_adapter.rb @@ -101,9 +101,9 @@ module Redmine end def target(path) - path ||= "" - base = path.match(/^\//) ? root_url : url - " \"" << "#{base}/#{path}".gsub(/["?<>\*]/, '') << "\"" + path ||= '' + base = path.match(/^\//) ? root_url : url + shell_quote("#{base}/#{path}".gsub(/[?<>\*]/, '')) end def logger diff --git a/lib/redmine/scm/adapters/subversion_adapter.rb b/lib/redmine/scm/adapters/subversion_adapter.rb index 5b6bfa97c..1e0320e2c 100644 --- a/lib/redmine/scm/adapters/subversion_adapter.rb +++ b/lib/redmine/scm/adapters/subversion_adapter.rb @@ -100,7 +100,7 @@ module Redmine cmd = "#{SVN_BIN} log --xml -r #{identifier_from}:#{identifier_to}" cmd << credentials_string cmd << " --verbose " if options[:with_paths] - cmd << target(path) + cmd << ' ' + target(path) shellout(cmd) do |io| begin doc = REXML::Document.new(io) @@ -139,7 +139,7 @@ module Redmine cmd = "#{SVN_BIN} diff -r " cmd << "#{identifier_to}:" cmd << "#{identifier_from}" - cmd << "#{target(path)}@#{identifier_from}" + cmd << " #{target(path)}@#{identifier_from}" cmd << credentials_string diff = [] shellout(cmd) do |io| -- 2.39.5