Hello,
I scratched my head over this one for a long time. Java's File.moveTo(), which Smith uses to move files, fails when the source and destination files are in directories in different filesystems.
In FileTagImpl.java, in the private void move() method, I modified the last code block as follows:
Code:
if (!source.equalsIgnoreCase(destination) && !s.renameTo(new_file)) {
new_file.delete();
if (!s.renameTo(new_file)) {
// file.renameTo() does not work across different filesystems,
// so we have to copy the file and then delete the source instead.
try {
this.copyFile(source, destination);
s.delete();
} catch (Exception ex) {
throw new ApplicationException(new ErrMsg(
"error.misc.invalid_variable", source, "FILE"));
}
}
}