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 |