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 | 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
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 | ... | ... |