Commit 79b64ef4aced8c030b23b2b7c4aa9b1bea192e1b

Authored by Dmitriy Zaporozhets
1 parent 958497fe

fixed merge request diff

app/controllers/merge_requests_controller.rb
... ... @@ -34,8 +34,9 @@ class MergeRequestsController < ApplicationController
34 34 end
35 35  
36 36 def diffs
37   - @commit = @project.commit(@merge_request.source_branch)
38   - @diffs = @project.repo.diff(@merge_request.target_branch, @merge_request.source_branch)
  37 + @diffs = @merge_request.diffs
  38 + @commit = @merge_request.last_commit
  39 +
39 40 render :template => "merge_requests/_diffs", :layout => false
40 41 end
41 42  
... ...
app/models/commit.rb
... ... @@ -36,4 +36,8 @@ class Commit
36 36 def author_name
37 37 encode(author.name)
38 38 end
  39 +
  40 + def prev_commit
  41 + parents.first
  42 + end
39 43 end
... ...
app/models/merge_request.rb
... ... @@ -33,4 +33,14 @@ class MergeRequest < ActiveRecord::Base
33 33 def new?
34 34 today? && created_at == updated_at
35 35 end
  36 +
  37 + def diffs
  38 + commit = project.commit(source_branch)
  39 + commits = project.repo.commits_between(target_branch, source_branch).map {|c| Commit.new(c)}
  40 + diffs = project.repo.diff(commits.first.prev_commit.id, commits.last.id)
  41 + end
  42 +
  43 + def last_commit
  44 + project.commit(source_branch)
  45 + end
36 46 end
... ...