diff options
author | Douwe Maan <douwe@selenight.nl> | 2016-07-04 12:26:28 -0400 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2016-07-06 18:51:01 -0400 |
commit | d7e8479ee8c7a127ed9cd984755a4ea3a8f1c078 (patch) | |
tree | 01354b0f96ebac9a2b66343c6b1c0d0b6ce3a89d | |
parent | ddec2ed0dfb0981bf1f022f705470402e20ef9bc (diff) | |
download | gitlab-ce-d7e8479ee8c7a127ed9cd984755a4ea3a8f1c078.tar.gz |
Keep around DiffNote position commits
-rw-r--r-- | app/models/diff_note.rb | 13 |
1 files changed, 13 insertions, 0 deletions
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 |