From a6154cbb43a5a02c851d38683e213241cfc71b6a Mon Sep 17 00:00:00 2001 From: CalDescent Date: Wed, 18 Aug 2021 07:51:50 +0100 Subject: [PATCH] Don't allow a new layer to be created if it matches the existing state. --- src/main/java/org/qortal/arbitrary/ArbitraryDataDiff.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataDiff.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataDiff.java index c8f2c2b6..70c8c361 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataDiff.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataDiff.java @@ -49,6 +49,7 @@ public class ArbitraryDataDiff { this.hashPreviousState(); this.findAddedOrModifiedFiles(); this.findRemovedFiles(); + this.validate(); this.writeMetadata(); } finally { @@ -222,6 +223,12 @@ public class ArbitraryDataDiff { } } + private void validate() { + if (this.addedPaths.isEmpty() && this.modifiedPaths.isEmpty() && this.removedPaths.isEmpty()) { + throw new IllegalStateException("Current state matches previous state. Nothing to do."); + } + } + private void writeMetadata() throws IOException { ArbitraryDataMetadataPatch metadata = new ArbitraryDataMetadataPatch(this.diffPath); metadata.setAddedPaths(this.addedPaths);