diff -u b/mappers/file.inc b/mappers/file.inc --- b/mappers/file.inc +++ b/mappers/file.inc @@ -158,6 +158,7 @@ if ($skip) { // Create a new dummy feeds enclosure where the value is the file // already in the file system (it will be skipped by getFile()) + $mapping['file_exists'] = FEEDS_FILE_EXISTS_SKIP; $existing_path = $destination . '/' . basename($v->getValue()); $v = new FeedsEnclosure($existing_path, file_get_mimetype($existing_path)); } diff -u b/plugins/FeedsParser.inc b/plugins/FeedsParser.inc --- b/plugins/FeedsParser.inc +++ b/plugins/FeedsParser.inc @@ -466,6 +466,9 @@ $existing_files = file_load_multiple(array(), array('uri' => $file->uri)); if (count($existing_files)) { $existing = reset($existing_files); + if ($replace == FEEDS_FILE_EXISTS_SKIP) { + return $existing; + } $file->fid = $existing->fid; $file->filename = $existing->filename; }