summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-09-07 10:16:21 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-09-07 10:24:48 +0300
commit6f7a3ee69457c89d8b774fd65bdc4da756cc27c3 (patch)
tree5d92cacf95c3f19256bbb4b8f886d6603c0796c8
parent5f0535ac91cdf2a892fb697dc05f0930f2c6d434 (diff)
downloadgitlab-ce-6f7a3ee69457c89d8b774fd65bdc4da756cc27c3.tar.gz
Refactor merge request version compare feature
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/controllers/projects/merge_requests_controller.rb8
-rw-r--r--app/models/merge_request_diff.rb4
-rw-r--r--app/views/projects/merge_requests/show/_versions.html.haml8
3 files changed, 11 insertions, 9 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index b86915e8470..39dec5223df 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -542,7 +542,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController
end
def compared_diff_version
- compare = CompareService.new.execute(@project, @merge_request_diff.head_commit_sha, @project, @start_sha)
+ compare = @merge_request_diff.compare_with(@start_sha)
if compare
@diffs = compare.diffs(diff_options)
@@ -551,11 +551,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController
end
def original_diff_version
- unless @merge_request_diff.latest?
- # Disable comments if browsing older version of the diff
- @diff_notes_disabled = true
- end
-
+ @diff_notes_disabled = !@merge_request_diff.latest?
@diffs = @merge_request_diff.diffs(diff_options)
end
end
diff --git a/app/models/merge_request_diff.rb b/app/models/merge_request_diff.rb
index 445179a4487..18c583add88 100644
--- a/app/models/merge_request_diff.rb
+++ b/app/models/merge_request_diff.rb
@@ -152,6 +152,10 @@ class MergeRequestDiff < ActiveRecord::Base
self == merge_request.merge_request_diff
end
+ def compare_with(sha)
+ CompareService.new.execute(project, head_commit_sha, project, sha)
+ end
+
private
def dump_commits(commits)
diff --git a/app/views/projects/merge_requests/show/_versions.html.haml b/app/views/projects/merge_requests/show/_versions.html.haml
index e8cb7f92c23..00287f2d245 100644
--- a/app/views/projects/merge_requests/show/_versions.html.haml
+++ b/app/views/projects/merge_requests/show/_versions.html.haml
@@ -24,7 +24,7 @@
= time_ago_with_tooltip(merge_request_diff.created_at)
- if @merge_request_diff.base_commit_sha
- &nbsp;and&nbsp;
+ and
%span.dropdown.inline.mr-version-compare-dropdown
%a.btn-link.dropdown-toggle{ data: {toggle: :dropdown} }
%strong
@@ -51,8 +51,10 @@
#{@merge_request.target_branch} (base)
.monospace #{short_sha(@merge_request_diff.base_commit_sha)}
-
- unless @merge_request_diff.latest? && !@start_sha
.prepend-top-10
= icon('info-circle')
- Comments are disabled while viewing outdated merge versions or comparing to versions other than base.
+ - if @start_sha
+ Comments are disabled because you're comparing two versions of this merge request.
+ - else
+ Comments are disabled because you're viewing an old version of this merge request.