Commit 8d493019c4d2205a1020e6e72ca4f9a92534193f
1 parent
ef396d08
Exists in
master
and in
4 other branches
Show commits for merge request immediatly
Showing
6 changed files
with
40 additions
and
50 deletions
Show diff stats
app/assets/javascripts/merge_requests.js
| @@ -10,40 +10,19 @@ var MergeRequest = { | @@ -10,40 +10,19 @@ var MergeRequest = { | ||
| 10 | }); | 10 | }); |
| 11 | 11 | ||
| 12 | $(".tabs a.merge-notes-tab").live("click", function() { | 12 | $(".tabs a.merge-notes-tab").live("click", function() { |
| 13 | - $(".merge-request-commits, .merge-request-diffs").hide(); | 13 | + $(".merge-request-diffs").hide(); |
| 14 | $(".merge-request-notes").show(); | 14 | $(".merge-request-notes").show(); |
| 15 | }); | 15 | }); |
| 16 | 16 | ||
| 17 | - $(".tabs a.merge-commits-tab").live("click", function() { | ||
| 18 | - if(!MergeRequest.commits_loaded) { | ||
| 19 | - MergeRequest.loadCommits(); | ||
| 20 | - } | ||
| 21 | - $(".merge-request-notes, .merge-request-diffs").hide(); | ||
| 22 | - $(".merge-request-commits").show(); | ||
| 23 | - }); | ||
| 24 | - | ||
| 25 | $(".tabs a.merge-diffs-tab").live("click", function() { | 17 | $(".tabs a.merge-diffs-tab").live("click", function() { |
| 26 | if(!MergeRequest.diffs_loaded) { | 18 | if(!MergeRequest.diffs_loaded) { |
| 27 | MergeRequest.loadDiff(); | 19 | MergeRequest.loadDiff(); |
| 28 | } | 20 | } |
| 29 | - $(".merge-request-notes, .merge-request-commits").hide(); | 21 | + $(".merge-request-notes").hide(); |
| 30 | $(".merge-request-diffs").show(); | 22 | $(".merge-request-diffs").show(); |
| 31 | }); | 23 | }); |
| 32 | }, | 24 | }, |
| 33 | 25 | ||
| 34 | - loadCommits: | ||
| 35 | - function() { | ||
| 36 | - $(".dashboard-loader").show(); | ||
| 37 | - $.ajax({ | ||
| 38 | - type: "GET", | ||
| 39 | - url: $(".merge-commits-tab").attr("data-url"), | ||
| 40 | - complete: function(){ | ||
| 41 | - MergeRequest.commits_loaded = true; | ||
| 42 | - $(".merge-request-notes, .merge-request-diffs").hide(); | ||
| 43 | - $(".dashboard-loader").hide()}, | ||
| 44 | - dataType: "script"}); | ||
| 45 | - }, | ||
| 46 | - | ||
| 47 | loadDiff: | 26 | loadDiff: |
| 48 | function() { | 27 | function() { |
| 49 | $(".dashboard-loader").show(); | 28 | $(".dashboard-loader").show(); |
| @@ -52,7 +31,7 @@ var MergeRequest = { | @@ -52,7 +31,7 @@ var MergeRequest = { | ||
| 52 | url: $(".merge-diffs-tab").attr("data-url"), | 31 | url: $(".merge-diffs-tab").attr("data-url"), |
| 53 | complete: function(){ | 32 | complete: function(){ |
| 54 | MergeRequest.diffs_loaded = true; | 33 | MergeRequest.diffs_loaded = true; |
| 55 | - $(".merge-request-notes, .merge-request-commits").hide(); | 34 | + $(".merge-request-notes").hide(); |
| 56 | $(".dashboard-loader").hide()}, | 35 | $(".dashboard-loader").hide()}, |
| 57 | dataType: "script"}); | 36 | dataType: "script"}); |
| 58 | } | 37 | } |
app/assets/stylesheets/common.scss
| @@ -233,6 +233,10 @@ img.lil_av { | @@ -233,6 +233,10 @@ img.lil_av { | ||
| 233 | @include round-borders-all(4px); | 233 | @include round-borders-all(4px); |
| 234 | border-color:#ddd; | 234 | border-color:#ddd; |
| 235 | 235 | ||
| 236 | + ul { | ||
| 237 | + margin:0; | ||
| 238 | + } | ||
| 239 | + | ||
| 236 | h5 { | 240 | h5 { |
| 237 | padding: 0 10px; | 241 | padding: 0 10px; |
| 238 | background:#f5f5f5; | 242 | background:#f5f5f5; |
| @@ -247,6 +251,11 @@ img.lil_av { | @@ -247,6 +251,11 @@ img.lil_av { | ||
| 247 | @include round-borders-top(4px); | 251 | @include round-borders-top(4px); |
| 248 | border-top:none; | 252 | border-top:none; |
| 249 | } | 253 | } |
| 254 | + | ||
| 255 | + &:last-child { | ||
| 256 | + @include round-borders-bottom(4px); | ||
| 257 | + border:none; | ||
| 258 | + } | ||
| 250 | } | 259 | } |
| 251 | 260 | ||
| 252 | } | 261 | } |
app/controllers/merge_requests_controller.rb
| @@ -40,6 +40,12 @@ class MergeRequestsController < ApplicationController | @@ -40,6 +40,12 @@ class MergeRequestsController < ApplicationController | ||
| 40 | @notes = @merge_request.notes.inc_author.order("created_at DESC").limit(20) | 40 | @notes = @merge_request.notes.inc_author.order("created_at DESC").limit(20) |
| 41 | @note = @project.notes.new(:noteable => @merge_request) | 41 | @note = @project.notes.new(:noteable => @merge_request) |
| 42 | 42 | ||
| 43 | + @commits = @project.repo. | ||
| 44 | + commits_between(@merge_request.target_branch, @merge_request.source_branch). | ||
| 45 | + map {|c| Commit.new(c)}. | ||
| 46 | + sort_by(&:created_at). | ||
| 47 | + reverse | ||
| 48 | + | ||
| 43 | render_full_content | 49 | render_full_content |
| 44 | 50 | ||
| 45 | respond_to do |format| | 51 | respond_to do |format| |
| @@ -48,14 +54,6 @@ class MergeRequestsController < ApplicationController | @@ -48,14 +54,6 @@ class MergeRequestsController < ApplicationController | ||
| 48 | end | 54 | end |
| 49 | end | 55 | end |
| 50 | 56 | ||
| 51 | - def commits | ||
| 52 | - @commits = @project.repo. | ||
| 53 | - commits_between(@merge_request.target_branch, @merge_request.source_branch). | ||
| 54 | - map {|c| Commit.new(c)}. | ||
| 55 | - sort_by(&:created_at). | ||
| 56 | - reverse | ||
| 57 | - end | ||
| 58 | - | ||
| 59 | def diffs | 57 | def diffs |
| 60 | @diffs = @merge_request.diffs | 58 | @diffs = @merge_request.diffs |
| 61 | @commit = @merge_request.last_commit | 59 | @commit = @merge_request.last_commit |
app/views/merge_requests/_commits.html.haml
| 1 | -- if @commits.size > 0 | ||
| 2 | - .merge-request-commits | ||
| 3 | - %ul.unstyled= render @commits | 1 | +- unless @commits.empty? |
| 2 | + .ui-box | ||
| 3 | + %h5 Commits | ||
| 4 | + .merge-request-commits | ||
| 5 | + %ul.unstyled= render @commits | ||
| 4 | 6 | ||
| 5 | -- if @commits.empty? | ||
| 6 | - %p.cgray Nothing to merge | 7 | +- else |
| 8 | + %h5 | ||
| 9 | + Nothing to merge from | ||
| 10 | + %span.label #{@merge_request.source_branch} | ||
| 11 | + to | ||
| 12 | + %span.label #{@merge_request.target_branch} | ||
| 13 | + %br |
app/views/merge_requests/show.html.haml
| @@ -41,19 +41,18 @@ | @@ -41,19 +41,18 @@ | ||
| 41 | 41 | ||
| 42 | %div= simple_format @merge_request.title | 42 | %div= simple_format @merge_request.title |
| 43 | 43 | ||
| 44 | += render "merge_requests/commits" | ||
| 44 | 45 | ||
| 45 | -.tabs | ||
| 46 | - %li.active | ||
| 47 | - = link_to "#notes", :class => "merge-notes-tab tab" do | ||
| 48 | - Notes | ||
| 49 | - %li | ||
| 50 | - = link_to "#commits", "data-url" => commits_project_merge_request_path(@project, @merge_request), :class => "merge-commits-tab tab" do | ||
| 51 | - Commits | ||
| 52 | - %li | ||
| 53 | - = link_to "#diffs", "data-url" => diffs_project_merge_request_path(@project, @merge_request), :class => "merge-diffs-tab tab" do | ||
| 54 | - Diff | 46 | +- unless @commits.empty? |
| 47 | + .tabs | ||
| 48 | + %li.active | ||
| 49 | + = link_to "#notes", :class => "merge-notes-tab tab" do | ||
| 50 | + Notes | ||
| 51 | + %li | ||
| 52 | + = link_to "#diffs", "data-url" => diffs_project_merge_request_path(@project, @merge_request), :class => "merge-diffs-tab tab" do | ||
| 53 | + Diff | ||
| 55 | 54 | ||
| 56 | - %img{:src => "/assets/ajax-loader-facebook.gif", :class => "dashboard-loader"} | 55 | + %img{:src => "/assets/ajax-loader-facebook.gif", :class => "dashboard-loader"} |
| 57 | 56 | ||
| 58 | .merge-request-notes | 57 | .merge-request-notes |
| 59 | .merge_request_notes= render "notes/notes" | 58 | .merge_request_notes= render "notes/notes" |
| @@ -61,7 +60,6 @@ | @@ -61,7 +60,6 @@ | ||
| 61 | %center= image_tag "ajax-loader.gif" | 60 | %center= image_tag "ajax-loader.gif" |
| 62 | .clear | 61 | .clear |
| 63 | 62 | ||
| 64 | -.merge-request-commits | ||
| 65 | .merge-request-diffs | 63 | .merge-request-diffs |
| 66 | 64 | ||
| 67 | 65 |
config/routes.rb