summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-06-08 16:28:42 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-06-08 16:28:42 +0000
commitec0525d4975b9cae9982695cb0a19ac9c4bd1a3c (patch)
treed1f1afa7c69e6fde7c830f338b34fc49d4af56a2 /app
parent731d15fe9b29a28362fff19ed7dad9df2516d73b (diff)
downloadredmine-ec0525d4975b9cae9982695cb0a19ac9c4bd1a3c.tar.gz
redmine-ec0525d4975b9cae9982695cb0a19ac9c4bd1a3c.zip
Move unified diff parser out of the scm abstract adapter so it can be reused for viewing attached diffs (#1403).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1513 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/controllers/repositories_controller.rb2
-rw-r--r--app/models/repository.rb4
-rw-r--r--app/models/repository/cvs.rb4
-rw-r--r--app/models/repository/darcs.rb4
-rw-r--r--app/views/repositories/diff.rhtml2
5 files changed, 8 insertions, 8 deletions
diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index ea3b117d9..5fb2fdd75 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -153,7 +153,7 @@ class RepositoriesController < ApplicationController
@cache_key = "repositories/diff/#{@repository.id}/" + Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}")
unless read_fragment(@cache_key)
- @diff = @repository.diff(@path, @rev, @rev_to, @diff_type)
+ @diff = @repository.diff(@path, @rev, @rev_to)
show_error_not_found unless @diff
end
rescue Redmine::Scm::Adapters::CommandFailed => e
diff --git a/app/models/repository.rb b/app/models/repository.rb
index e6ed7da52..1cf61393f 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -55,8 +55,8 @@ class Repository < ActiveRecord::Base
scm.entries(path, identifier)
end
- def diff(path, rev, rev_to, type)
- scm.diff(path, rev, rev_to, type)
+ def diff(path, rev, rev_to)
+ scm.diff(path, rev, rev_to)
end
# Default behaviour: we search in cached changesets
diff --git a/app/models/repository/cvs.rb b/app/models/repository/cvs.rb
index c2d8be977..ea75de5d3 100644
--- a/app/models/repository/cvs.rb
+++ b/app/models/repository/cvs.rb
@@ -53,7 +53,7 @@ class Repository::Cvs < Repository
entries
end
- def diff(path, rev, rev_to, type)
+ def diff(path, rev, rev_to)
#convert rev to revision. CVS can't handle changesets here
diff=[]
changeset_from=changesets.find_by_revision(rev)
@@ -76,7 +76,7 @@ class Repository::Cvs < Repository
unless revision_to
revision_to=scm.get_previous_revision(revision_from)
end
- diff=diff+scm.diff(change_from.path, revision_from, revision_to, type)
+ diff=diff+scm.diff(change_from.path, revision_from, revision_to)
end
end
return diff
diff --git a/app/models/repository/darcs.rb b/app/models/repository/darcs.rb
index c7c14a397..034c0c145 100644
--- a/app/models/repository/darcs.rb
+++ b/app/models/repository/darcs.rb
@@ -46,14 +46,14 @@ class Repository::Darcs < Repository
entries
end
- def diff(path, rev, rev_to, type)
+ def diff(path, rev, rev_to)
patch_from = changesets.find_by_revision(rev)
return nil if patch_from.nil?
patch_to = changesets.find_by_revision(rev_to) if rev_to
if path.blank?
path = patch_from.changes.collect{|change| change.path}.join(' ')
end
- patch_from ? scm.diff(path, patch_from.scmid, patch_to ? patch_to.scmid : nil, type) : nil
+ patch_from ? scm.diff(path, patch_from.scmid, patch_to ? patch_to.scmid : nil) : nil
end
def fetch_changesets
diff --git a/app/views/repositories/diff.rhtml b/app/views/repositories/diff.rhtml
index 73c1e8c9e..953c7c02a 100644
--- a/app/views/repositories/diff.rhtml
+++ b/app/views/repositories/diff.rhtml
@@ -12,7 +12,7 @@
<% end %>
<% cache(@cache_key) do -%>
-<% @diff.each do |table_file| -%>
+<% Redmine::UnifiedDiff.new(@diff, @diff_type).each do |table_file| -%>
<div class="autoscroll">
<% if @diff_type == 'sbs' -%>
<table class="filecontent CodeRay">