╭ changed ───╮ │src/fork.zig│ ╰────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │30 │ │31 // a fork's path, inside its forker's dir │ │32 pub fn forkPath(allocator: std.mem.Allocator, users_dir: []const u8, forker_id: *const [evt.event_id_size]u8, fork_id: *const [evt.event_id_size]u8) ![]u8 {│ │33 - return try std.fs.path.join(allocator, &.{ users_dir, &std.fmt.bytesToHex(forker_id.*, .lower), "forks", &std.fmt.bytesToHex(fork_id.*, .lower) }); │ │33 + return try std.Io.Dir.path.join(allocator, &.{ users_dir, &std.fmt.bytesToHex(forker_id.*, .lower), "forks", &std.fmt.bytesToHex(fork_id.*, .lower) }); │ │34 } │ │35 │ │36 const forker_section = "haxy"; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │112 if ((try target_repo.readRef(io, .{ .kind = .head, .name = input.target_branch })) == null) return error.TargetNotFound;│ │113 │ │114 // create the fork repo dir │ │115 - const forks_path = std.fs.path.dirname(fork_path) orelse return error.InvalidPatchDraft; │ │115 + const forks_path = std.Io.Dir.path.dirname(fork_path) orelse return error.InvalidPatchDraft; │ │116 var forks_dir = try std.Io.Dir.cwd().createDirPathOpen(io, forks_path, .{}); │ │117 defer forks_dir.close(io); │ │118 - const fork_name = std.fs.path.basename(fork_path); │ │118 + const fork_name = std.Io.Dir.path.basename(fork_path); │ │119 forks_dir.createDir(io, fork_name, .default_dir) catch |err| switch (err) { │ │120 error.PathAlreadyExists => return error.InvalidPatchDraft, │ │121 else => |other| return other, │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │196 const na = names_arena.allocator(); │ │197 var names: std.ArrayList([]const u8) = .empty; │ │198 for (section.keys()) |key| { │ │199 - if (std.mem.startsWith(u8, key, forker_prefix)) try names.append(na, try std.fmt.allocPrint(na, forker_section ++ ".{s}", .{key}));│ │199 + if (std.mem.startsWith(u8, key, forker_prefix)) try names.append(na, try na.print(forker_section ++ ".{s}", .{key})); │ │200 } │ │201 for (names.items) |name| try config.remove(state, ctx.io, .{ .name = name }); │ │202 } │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯