NIFIREG-205: Allow Git repo to delete a flow with snapshot version 0

This closes #146.

Signed-off-by: Bryan Bende <bbende@apache.org>
diff --git a/nifi-registry-core/nifi-registry-framework/src/main/java/org/apache/nifi/registry/provider/flow/git/GitFlowPersistenceProvider.java b/nifi-registry-core/nifi-registry-framework/src/main/java/org/apache/nifi/registry/provider/flow/git/GitFlowPersistenceProvider.java
index f642632..e34c86f 100644
--- a/nifi-registry-core/nifi-registry-framework/src/main/java/org/apache/nifi/registry/provider/flow/git/GitFlowPersistenceProvider.java
+++ b/nifi-registry-core/nifi-registry-framework/src/main/java/org/apache/nifi/registry/provider/flow/git/GitFlowPersistenceProvider.java
@@ -188,7 +188,14 @@
     @Override
     public void deleteAllFlowContent(String bucketId, String flowId) throws FlowPersistenceException {
         final Bucket bucket = getBucketOrFail(bucketId);
-        final Flow flow = getFlowOrFail(bucket, flowId);
+        final Optional<Flow> flowOpt = bucket.getFlow(flowId);
+        if (!flowOpt.isPresent()) {
+            logger.debug(format("Tried deleting all versions, but the Flow ID %s was not found in bucket %s:%s.",
+                    flowId, bucket.getBucketDirName(), bucket.getBucketId()));
+            return;
+        }
+
+        final Flow flow = flowOpt.get();
         final Optional<Integer> latestVersionOpt = flow.getLatestVersion();
         if (!latestVersionOpt.isPresent()) {
             throw new IllegalStateException("Flow version is not added yet, can not be deleted.");