diff options
| author | Robert Günzler <r@gnzler.io> | 2026-09-23 13:21:05 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2026-09-23 13:21:05 +0200 |
| commit | 5c6edba5fe0a3b45516e44b6e87001749613cbf3 (patch) | |
| tree | f77b9d788aa27f209dc353bd56b7bb6ad1302c04 | |
| parent | 8e68d18cf296ec8122b57b555004acbbefb44815 (diff) | |
| download | site-5c6edba5fe0a3b45516e44b6e87001749613cbf3.tar.gz | |
dont truncate existing target files
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '')
| -rw-r--r-- | src/main.zig | 14 |
1 files changed, 12 insertions, 2 deletions
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; |