Commit 79b64ef4aced8c030b23b2b7c4aa9b1bea192e1b
1 parent
958497fe
Exists in
master
and in
4 other branches
fixed merge request diff
Showing
3 changed files
with
17 additions
and
2 deletions
Show diff stats
app/controllers/merge_requests_controller.rb
@@ -34,8 +34,9 @@ class MergeRequestsController < ApplicationController | @@ -34,8 +34,9 @@ class MergeRequestsController < ApplicationController | ||
34 | end | 34 | end |
35 | 35 | ||
36 | def diffs | 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 | render :template => "merge_requests/_diffs", :layout => false | 40 | render :template => "merge_requests/_diffs", :layout => false |
40 | end | 41 | end |
41 | 42 |
app/models/commit.rb
app/models/merge_request.rb
@@ -33,4 +33,14 @@ class MergeRequest < ActiveRecord::Base | @@ -33,4 +33,14 @@ class MergeRequest < ActiveRecord::Base | ||
33 | def new? | 33 | def new? |
34 | today? && created_at == updated_at | 34 | today? && created_at == updated_at |
35 | end | 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 | end | 46 | end |