From: Lady <redacted>
Date: Sun, 15 Dec 2024 00:48:17 +0000 (-0500)
Subject: Support expanded archives in multi‐step data
X-Git-Tag: 0.13.3~1
X-Git-Url: https://git.ladys.computer/Shushe/commitdiff_plain/c1a08dff0fcba3fc28ec3061a359d71efeb438be?ds=sidebyside;hp=d8f8ff2443740df40b41e7bedfd71f4b3422031f

Support expanded archives in multi‐step data

When attempting to delete outdated files, if there is an exact match
for a line in `build/data.out`, prevent checking for nested files.
Previously, these lines would match, but `find` would keep descending
into them, so the directories would not be deleted but all files inside
would be.
---

diff --git a/GNUmakefile b/GNUmakefile
index fac1491..5634264 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -807,7 +807,7 @@ clean :
 ifneq ($(twostep),)
 # Build the data and remove outdated data files.
 data : $(BUILDDIR)/data.out
-	$(silent)$(FIND) $(call quote,$(BUILDDIR)/data/public) '!' -exec $(GREP) -F -q -x '{}' $(call quote,$<) ';' -a '(' -type d -o -print ')' | $(xargsmultiquote) | $(XARGS) -E '' $(RM)
+	$(silent)$(FIND) $(call quote,$(BUILDDIR)/data/public) '!' '(' -exec $(GREP) -F -q -x '{}' $(call quote,$<) ';' -a -prune ')' -a '(' -type d -o -print ')' | $(xargsmultiquote) | $(XARGS) -E '' $(RM)
 endif
 
 # Provide help.