From 96efa9ed062e2a690534ac435f960a46f135b773 Mon Sep 17 00:00:00 2001 From: "maul.esel" Date: Fri, 17 May 2013 17:45:51 +0200 Subject: [PATCH] delete old files that have been replaced by a directory Fixes #417. Replaces #1086, more logical code. --- lib/jekyll/site.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index e8b65135..2b70a6f3 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -270,7 +270,11 @@ module Jekyll files.each { |file| dirs << File.dirname(file) } files.merge(dirs) - obsolete_files = dest_files - files + # files that are replaced by dirs should be deleted + files_to_delete = Set.new + dirs.each { |dir| files_to_delete << dir if File.file?(dir) } + + obsolete_files = dest_files - files + files_to_delete FileUtils.rm_rf(obsolete_files.to_a) end