diff options
| author | tv <tv@krebsco.de> | 2026-11-12 02:33:44 +0000 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-12 02:33:44 +0000 |
| commit | 81cc4f06abc644b047e0758309cfbd982dac18ed (patch) | |
| tree | 81ae9e2440212e976086ba7a8d0b4e6295c62e32 /pkgs | |
| parent | 352dd5ce3107e2547db56802d773b919df03690f (diff) | |
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.
Diffstat (limited to 'pkgs')
| -rw-r--r-- | pkgs/populate/default.nix | 4 |
1 files changed, 3 insertions, 1 deletions
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? |
