From e91b9a3e9f4f6dee70fe298606df665b83058718 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 23 Nov 2011 12:33:12 +0100 Subject: [PATCH] Stricter logging for IDEA-77314 --- .../src/com/intellij/util/io/SafeFileOutputStream.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/util/src/com/intellij/util/io/SafeFileOutputStream.java b/platform/util/src/com/intellij/util/io/SafeFileOutputStream.java index 5790a8e29d05..4eaa949a306a 100644 --- a/platform/util/src/com/intellij/util/io/SafeFileOutputStream.java +++ b/platform/util/src/com/intellij/util/io/SafeFileOutputStream.java @@ -106,9 +106,13 @@ public class SafeFileOutputStream extends OutputStream { throw e; } + if (failed) { + throw new IOException("Failed to save to backup file (" + backdoorFile() + "). Original file (" + myTargetFile + ") left unchanged."); + } + final int permissions = myPreserveAttributes ? FileSystemUtil.getPermissions(myTargetFile) : -1; - if (failed || !FileUtil.delete(myTargetFile)) { - throw new IOException("Failed to save to " + myTargetFile + ". No data were harmed. Attempt result left at " + backdoorFile()); + if (!FileUtil.delete(myTargetFile) && myTargetFile.exists()) { + throw new IOException("Failed to save to " + myTargetFile + ". The file left unchanged. Attempt result stored to " + backdoorFile()); } FileUtil.rename(backdoorFile(), myTargetFile);