From cd329f122b6407505b1139b7b39fdd084d926870 Mon Sep 17 00:00:00 2001 From: Jens Kraemer Date: Thu, 2 Mar 2017 15:28:54 +0800 Subject: [PATCH 2/2] adds file equality check to deduplication hook --- app/models/attachment.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/models/attachment.rb b/app/models/attachment.rb index 7265471..112d802 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -398,9 +398,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 -- 2.1.4