From 793ab605f4e4bf77f73f8c18d84020f1f5e05501 Mon Sep 17 00:00:00 2001 From: dramforever Date: Thu, 28 Jan 2021 13:14:14 +0800 Subject: [PATCH] nix-channels: Check release is complete before GC Assumes that the existence of binary-cache-url indicates that a release is completely downloaded, because it is the last file written when in the clone_channels function. --- nix-channels.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nix-channels.py b/nix-channels.py index 8493cf2..c65ea1e 100755 --- a/nix-channels.py +++ b/nix-channels.py @@ -372,6 +372,9 @@ def garbage_collect(): alive = set() for release in (working_dir / RELEASES_DIR).iterdir(): + # This release never finished downloading + if (release / 'binary-cache-url').exists(): continue + channel = release.name.split('@')[0] date_str = (release / '.released-time').read_text() released_date = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')