From 5c6edba5fe0a3b45516e44b6e87001749613cbf3 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Wed, 23 Sep 2026 13:21:05 +0200 Subject: dont truncate existing target files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- src/main.zig | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/main.zig') diff --git a/src/main.zig b/src/main.zig index dce7aef..febd896 100644 --- a/src/main.zig +++ b/src/main.zig @@ -198,6 +198,8 @@ const Builder = struct { // atomic? const target_fd = try self.target_dir.createFile(io, target_path, .{ .lock = .exclusive, + .read = true, + .truncate = false, }); defer target_fd.close(io); @@ -377,7 +379,11 @@ const Builder = struct { defer gpa.free(target_name); // TODO: allow customizing tilde dir - const target_fd = try self.target_dir.createFile(io, target_name, .{ .lock = .exclusive }); + const target_fd = try self.target_dir.createFile(io, target_name, .{ + .lock = .exclusive, + .read = true, + .truncate = false, + }); defer target_fd.close(io); if (try targetExists(io, gpa, target_fd, self.root_dir)) return; @@ -420,7 +426,11 @@ const Builder = struct { const source_stem = std.fs.path.basename(self.source.path)[5..]; // trim "meta." log.debug("meta.feed : {s}", .{source_stem}); - const target_fd = try self.target_dir.createFile(io, source_stem, .{ .lock = .exclusive }); + const target_fd = try self.target_dir.createFile(io, source_stem, .{ + .lock = .exclusive, + .read = true, + .truncate = false, + }); defer target_fd.close(io); if (try targetExists(io, gpa, target_fd, self.root_dir)) return; -- cgit 1.4.1