diff options
Diffstat (limited to 'app/models/diff_note.rb')
-rw-r--r-- | app/models/diff_note.rb | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/app/models/diff_note.rb b/app/models/diff_note.rb index c8a0773cc5b..6ebac6384bc 100644 --- a/app/models/diff_note.rb +++ b/app/models/diff_note.rb @@ -22,7 +22,7 @@ class DiffNote < Note validate :verify_supported, unless: :importing? before_validation :set_line_code, if: :on_text?, unless: :importing? - after_save :keep_around_commits, unless: :importing? + after_save :keep_around_commits, unless: -> { importing? || skip_keep_around_commits } NoteDiffFileCreationError = Class.new(StandardError) @@ -115,6 +115,20 @@ class DiffNote < Note position&.multiline? end + def shas + [ + self.original_position.base_sha, + self.original_position.start_sha, + self.original_position.head_sha + ].tap do |a| + if self.position != self.original_position + a << self.position.base_sha + a << self.position.start_sha + a << self.position.head_sha + end + end + end + private def enqueue_diff_file_creation_job @@ -173,18 +187,6 @@ class DiffNote < Note end def keep_around_commits - shas = [ - self.original_position.base_sha, - self.original_position.start_sha, - self.original_position.head_sha - ] - - if self.position != self.original_position - shas << self.position.base_sha - shas << self.position.start_sha - shas << self.position.head_sha - end - repository.keep_around(*shas) end |