diff --git a/app/models/attachment.rb b/app/models/attachment.rb index 8e8cc0ac1..7e6b6bd03 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -422,9 +422,16 @@ class Attachment < ActiveRecord::Base .first original_diskfile = self.diskfile - self.update_columns disk_directory: existing.disk_directory, - disk_filename: existing.disk_filename - File.delete(original_diskfile) if File.exist?(original_diskfile) + existing_diskfile = existing.diskfile + + if File.readable?(original_diskfile) && + File.readable?(existing_diskfile) && + FileUtils.identical?(original_diskfile, existing_diskfile) + + self.update_columns disk_directory: existing.disk_directory, + disk_filename: existing.disk_filename + File.delete(original_diskfile) + end end end end