From 4b3afe2325e063943bdec123154a576f6a300bce Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 22 Jan 2014 20:22:20 +0200 Subject: [PATCH] Always create merge_request_diff if MR created --- app/controllers/projects/merge_requests_controller.rb | 1 - app/models/merge_request.rb | 2 ++ app/observers/merge_request_observer.rb | 1 - lib/api/merge_requests.rb | 1 - 4 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb index 0c7a442..baaa3c7 100644 --- a/app/controllers/projects/merge_requests_controller.rb +++ b/app/controllers/projects/merge_requests_controller.rb @@ -76,7 +76,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController @merge_request.author = current_user @target_branches ||= [] if @merge_request.save - @merge_request.reload_code redirect_to [@merge_request.target_project, @merge_request], notice: 'Merge request was successfully created.' else @source_project = @merge_request.source_project diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 076463f..c53b24b 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -30,7 +30,9 @@ class MergeRequest < ActiveRecord::Base belongs_to :target_project, foreign_key: :target_project_id, class_name: "Project" belongs_to :source_project, foreign_key: :source_project_id, class_name: "Project" + has_one :merge_request_diff, dependent: :destroy + after_create :create_merge_request_diff delegate :commits, :diffs, :last_commit, :last_commit_short_sha, to: :merge_request_diff, prefix: nil diff --git a/app/observers/merge_request_observer.rb b/app/observers/merge_request_observer.rb index 9a3e90d..0ac555f 100644 --- a/app/observers/merge_request_observer.rb +++ b/app/observers/merge_request_observer.rb @@ -6,7 +6,6 @@ class MergeRequestObserver < ActivityObserver create_event(merge_request, Event.determine_action(merge_request)) end - merge_request.create_merge_request_diff notification.new_merge_request(merge_request, current_user) merge_request.create_cross_references!(merge_request.project, current_user) execute_hooks(merge_request) diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb index 3f4bec8..4bd57f5 100644 --- a/lib/api/merge_requests.rb +++ b/lib/api/merge_requests.rb @@ -88,7 +88,6 @@ module API end if merge_request.save - merge_request.reload_code present merge_request, with: Entities::MergeRequest else handle_merge_request_errors! merge_request.errors -- libgit2 0.21.2