From d7e8479ee8c7a127ed9cd984755a4ea3a8f1c078 Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Mon, 4 Jul 2016 12:26:28 -0400 Subject: Keep around DiffNote position commits --- app/models/diff_note.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'app') diff --git a/app/models/diff_note.rb b/app/models/diff_note.rb index 881ae5d1cad..cdd1c4b4aef 100644 --- a/app/models/diff_note.rb +++ b/app/models/diff_note.rb @@ -14,6 +14,7 @@ class DiffNote < Note before_validation :set_original_position, :update_position, on: :create before_validation :set_line_code + after_save :keep_around_commits class << self def build_discussion_id(noteable_type, noteable_id, position) @@ -116,4 +117,16 @@ class DiffNote < Note errors.add(:position, "is invalid") end + + def keep_around_commits + project.repository.keep_around(self.original_position.base_sha) + project.repository.keep_around(self.original_position.start_sha) + project.repository.keep_around(self.original_position.head_sha) + + if self.position != self.original_position + project.repository.keep_around(self.position.base_sha) + project.repository.keep_around(self.position.start_sha) + project.repository.keep_around(self.position.head_sha) + end + end end -- cgit v1.2.3