diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-06-08 16:28:42 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-06-08 16:28:42 +0000 |
commit | ec0525d4975b9cae9982695cb0a19ac9c4bd1a3c (patch) | |
tree | d1f1afa7c69e6fde7c830f338b34fc49d4af56a2 /app | |
parent | 731d15fe9b29a28362fff19ed7dad9df2516d73b (diff) | |
download | redmine-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.rb | 2 | ||||
-rw-r--r-- | app/models/repository.rb | 4 | ||||
-rw-r--r-- | app/models/repository/cvs.rb | 4 | ||||
-rw-r--r-- | app/models/repository/darcs.rb | 4 | ||||
-rw-r--r-- | app/views/repositories/diff.rhtml | 2 |
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"> |