if (fd)
{
DEBUG_1("planned change: using %s -> %s", path_utf8, fd->path);
- file_data_ref(fd);
- file_data_apply_ci(fd);
+ if (!isfile(fd->path))
+ {
+ file_data_ref(fd);
+ file_data_apply_ci(fd);
+ }
+ else
+ {
+ fd = NULL;
+ }
}
}
/* During a rename operation, check if another planned destination file has
* the same filename
*/
- if(fd->change->type == FILEDATA_CHANGE_RENAME)
+ if(fd->change->type == FILEDATA_CHANGE_RENAME ||
+ fd->change->type == FILEDATA_CHANGE_COPY ||
+ fd->change->type == FILEDATA_CHANGE_MOVE)
{
work = list;
while (work)