summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/release-notes.md3
-rw-r--r--src/SMAPI.Mods.SaveBackup/ModEntry.cs13
2 files changed, 11 insertions, 5 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md
index efbd7ddb..7724904b 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -2,6 +2,9 @@
## 3.0 (upcoming release)
These changes have not been released yet.
+* For players:
+ * Fixed Save Backup not pruning old backups if they're uncompressed.
+
* For modders:
* Added `IContentPack.HasFile` method.
* Updated to Json.NET 12.0.1.
diff --git a/src/SMAPI.Mods.SaveBackup/ModEntry.cs b/src/SMAPI.Mods.SaveBackup/ModEntry.cs
index 30dbfbe6..33adf76d 100644
--- a/src/SMAPI.Mods.SaveBackup/ModEntry.cs
+++ b/src/SMAPI.Mods.SaveBackup/ModEntry.cs
@@ -124,20 +124,23 @@ namespace StardewModdingAPI.Mods.SaveBackup
try
{
var oldBackups = backupFolder
- .GetFiles()
+ .GetFileSystemInfos()
.OrderByDescending(p => p.CreationTimeUtc)
.Skip(backupsToKeep);
- foreach (FileInfo file in oldBackups)
+ foreach (FileSystemInfo entry in oldBackups)
{
try
{
- this.Monitor.Log($"Deleting {file.Name}...", LogLevel.Trace);
- file.Delete();
+ this.Monitor.Log($"Deleting {entry.Name}...", LogLevel.Trace);
+ if (entry is DirectoryInfo folder)
+ folder.Delete(recursive: true);
+ else
+ entry.Delete();
}
catch (Exception ex)
{
- this.Monitor.Log($"Error deleting old save backup '{file.Name}': {ex}", LogLevel.Error);
+ this.Monitor.Log($"Error deleting old save backup '{entry.Name}': {ex}", LogLevel.Error);
}
}
}