╭─────────────╮ │scroll to top│ ╰─────────────╯ ╭ fork.zig ─────────────────────────────────────────────────────╮ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────────────────────────────────────────────────────╯
╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╮ │http│ ssh │ │ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╯
255 author: evt.CommitAuthor, 256 ) !void { 257 const fork_id = try evt.parseEventId(id); 258 var user_repo = (try evt.openUserRepo(io, allocator, users_dir, forker_id)) orelse return error.InvalidPatchDraft; 259 defer user_repo.deinit(io, allocator); 260 var arena = std.heap.ArenaAllocator.init(allocator); 261 defer arena.deinit(); 262 const moment = (try evt.userMoment(&user_repo)) orelse return error.InvalidPatchDraft; 263 const record = (try evt.Fork.readById(evt.UserDB, evt.user_repo_opts.hash, moment, &arena, &fork_id)) orelse return error.InvalidPatchDraft; 264 if (!record.removed) try evt.remove(.{ .server = .{ .users_dir = users_dir } }, .user, .xit, evt.user_repo_opts, io, allocator, &user_repo, &fork_id, .fork, author); 265 266 const path = try forkPath(allocator, users_dir, forker_id, &fork_id); 267 defer allocator.free(path); 268 try std.Io.Dir.cwd().deleteTree(io, path); 269 } 270