Files
music-mirror/tests
Emma Thorpe 67f99e6531
Build and publish container / build (pull_request) Canceled after 2m6s
fix: copy through a temporary file so a cut-short copy is not kept
Copies of already-MP3 sources were written straight to their destination while
encodes went via a temporary file and a rename. A copy interrupted by a full
disk, a killed container or an I/O error therefore left a truncated MP3 in the
mirror -- and because shutil.copy2 reproduces the source's mtime along with its
bytes, staleness detection would read that fragment as up to date and never
replace it. The damage is silent and permanent until someone plays the track.

Give copy the same temporary-file-and-rename path encode already uses, so the
destination either has the whole file or has nothing.
2026-08-24 11:33:23 +01:00
..