From 4b48fccaddd2f8f840f34779c07ad1fa634d09c5 Mon Sep 17 00:00:00 2001 From: Timon Kruiper Date: Mon, 19 Oct 2020 14:31:43 +0200 Subject: [PATCH] When checking a cache hit, make sure to handle a (re)moved source file When a file cannot be found in the cache, it is not a hit. Closes #6729 --- src/Cache.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Cache.zig b/src/Cache.zig index 299eb0cfa2..dd96e68d3e 100644 --- a/src/Cache.zig +++ b/src/Cache.zig @@ -315,8 +315,9 @@ pub const Manifest = struct { cache_hash_file.path = try self.cache.gpa.dupe(u8, file_path); } - const this_file = fs.cwd().openFile(cache_hash_file.path.?, .{ .read = true }) catch { - return error.CacheUnavailable; + const this_file = fs.cwd().openFile(cache_hash_file.path.?, .{ .read = true }) catch |err| switch (err) { + error.FileNotFound => return false, + else => return error.CacheUnavailable, }; defer this_file.close();