borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ArchiveFilelistCache.java
@@ -97,11 +97,14 @@ int maxSize = filter != null ? filter.getMaxResultSize() : -1; list = new ArrayList<>(); int counter = 0; int fileNumber = -1; for (int i = 0; i < size; i++) { ++fileNumber; obj = inputStream.readObject(); if (obj instanceof BorgFilesystemItem) { if (filter == null || filter.matches(((BorgFilesystemItem) obj))) { list.add((BorgFilesystemItem) obj); BorgFilesystemItem item = (BorgFilesystemItem) obj; if (filter == null || filter.matches(item)) { list.add(item.setFileNumber(fileNumber)); if (maxSize > 0 && counter++ >= maxSize) break; } } else { borgbutler-core/src/main/java/de/micromata/borgbutler/cache/ButlerCache.java
@@ -238,11 +238,13 @@ archiveFilelistCache.save(repoConfig, archive, list); items = new ArrayList<>(); int counter = 0; int fileNumber = -1; boolean search = filter != null && StringUtils.isNotBlank(filter.getSearchString()); int maxSize = filter != null ? filter.getMaxResultSize() : -1; for (BorgFilesystemItem item : list) { ++fileNumber; if (filter == null || filter.matches(item)) { items.add(item); items.add(item.setFileNumber(fileNumber)); if (maxSize > 0 && counter++ >= maxSize) break; } } borgbutler-core/src/main/java/de/micromata/borgbutler/json/borg/BorgFilesystemItem.java
@@ -41,6 +41,12 @@ private String mtime; @Getter private long size; /** * Represents the number of the file in the archive (for downloading). This field is created and only known by BorgButler. */ @Getter @Setter private int fileNumber; @Override public int compareTo(BorgFilesystemItem o) {