scm: cvs: use scm_cmd() for diff.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5393 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2011-04-11 05:53:35 +00:00
parent f86779bd59
commit 71360a0f66
1 changed files with 7 additions and 3 deletions

View File

@ -275,15 +275,19 @@ module Redmine
logger.debug "<cvs> diff path:'#{path}'" + logger.debug "<cvs> diff path:'#{path}'" +
",identifier_from #{identifier_from}, identifier_to #{identifier_to}" ",identifier_from #{identifier_from}, identifier_to #{identifier_to}"
path_with_project="#{url}#{with_leading_slash(path)}" path_with_project="#{url}#{with_leading_slash(path)}"
cmd = "#{self.class.sq_bin} -d #{shell_quote root_url} rdiff -u -r#{identifier_to} -r#{identifier_from} #{shell_quote path_with_project}" cmd_args = %w|rdiff -u|
cmd_args << "-r#{identifier_to}"
cmd_args << "-r#{identifier_from}"
cmd_args << path_with_project
diff = [] diff = []
shellout(cmd) do |io| scm_cmd(*cmd_args) do |io|
io.each_line do |line| io.each_line do |line|
diff << line diff << line
end end
end end
return nil if $? && $?.exitstatus != 0
diff diff
rescue ScmCommandAborted
nil
end end
def cat(path, identifier=nil) def cat(path, identifier=nil)