From 816d8a3ada149acf061b8a594ab24a39d1d782c5 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Tue, 18 Dec 2018 08:12:46 +0000
Subject: [PATCH] Sorting of file lists again (if wrong order in cached archive).
---
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java | 2 +-
borgbutler-core/src/test/java/de/micromata/borgbutler/data/FileSystemFilterTest.java | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
index 36527fd..aab4900 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
@@ -32,7 +32,6 @@
@Getter
private Archive archive;
- private List<BorgFilesystemItem> content;
public void save(BorgRepoConfig repoConfig, Archive archive, List<BorgFilesystemItem> filesystemItems) {
File file = getFile(repoConfig, archive);
@@ -128,6 +127,7 @@
} catch (IOException | ClassNotFoundException ex) {
log.error("Error while reading file list '" + file.getAbsolutePath() + "': " + ex.getMessage(), ex);
}
+ Collections.sort(list); // Sort by path (if archive list order wasn't correct).
log.info("Loading done.");
if (filter != null) {
return filter.reduce(list);
diff --git a/borgbutler-core/src/test/java/de/micromata/borgbutler/data/FileSystemFilterTest.java b/borgbutler-core/src/test/java/de/micromata/borgbutler/data/FileSystemFilterTest.java
index 83622a5..3454bc0 100644
--- a/borgbutler-core/src/test/java/de/micromata/borgbutler/data/FileSystemFilterTest.java
+++ b/borgbutler-core/src/test/java/de/micromata/borgbutler/data/FileSystemFilterTest.java
@@ -38,7 +38,9 @@
}
}
list = filter.reduce(list);
- assertEquals(2, list.size());
+ assertEquals(4, list.size());
+ assertEquals(".bashrc", list.get(0).getDisplayPath());
+ assertEquals(".borgbutler", list.get(1).getDisplayPath());
}
@@ -55,6 +57,8 @@
private List<BorgFilesystemItem> createList() {
List<BorgFilesystemItem> list = new ArrayList<>();
list.add(create("home", true));
+ list.add(create("home/.bashrc", false));
+ list.add(create("home/.borgbutler", true));
list.add(create("home/admin", false));
list.add(create("home/kai", true));
list.add(create("home/kai/borg/cache", false));
--
Gitblit v1.10.0