From 81cc4f06abc644b047e0758309cfbd982dac18ed Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 12 Nov 2026 02:33:44 +0000 Subject: populate pipe: deliver changed output of the same size pipe sources get a fixed modification time, so rsync's quick check took changed output of the same size, e.g. a new commit hash or token, for unchanged, and didn't deliver it. pipe sources get synced comparing checksums now. An edge case changes a pipe source's output without changing its size. --- pkgs/populate/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pkgs/populate') diff --git a/pkgs/populate/default.nix b/pkgs/populate/default.nix index 0992b0c..5939742 100644 --- a/pkgs/populate/default.nix +++ b/pkgs/populate/default.nix @@ -773,7 +773,9 @@ let ${quote source.command} > "$out" ${coreutils}/bin/touch -t 300001010000 "$out" - ${rsync' target rsyncDefaultConfig /* sh */ "$out"} + # With the fixed modification time, only checksums tell outputs of the + # same size apart. + ${rsync' target (rsyncDefaultConfig // { useChecksum = true; }) /* sh */ "$out"} ''; # TODO rm -fR instead of ln -f? -- cgit v1.3.1