╭ changed ──────────────╮ │src/ui/Repo/Patches.zig│ ╰───────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │331 pub fn emptyResult(aa: std.mem.Allocator, identity: []const u8, tag: []const u8, selected_id: []const u8, comment_id: []const u8, comments_start: usize, theirs_picks: []const u8, view: ui.RoutablePage.PatchesView) !Self {│ │332 return .{ │ │333 .identity = try aa.dupe(u8, identity), │ │334 + .default_target_branch = "", │ │335 .tag = try aa.dupe(u8, tag), │ │336 .selected_id = try aa.dupe(u8, selected_id), │ │337 .comment_id = try aa.dupe(u8, comment_id), │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │402 ) !Self { │ │403 const allowed_view: ui.RoutablePage.PatchesView = if (session.local != null and (view == .new or view == .drafts)) .open else view;│ │404 var empty = try emptyResult(arena.allocator(), identity, tag, selected_id, comment_id, comments_start, theirs_picks, allowed_view);│ │405 + empty.default_target_branch = try arena.allocator().dupe(u8, target_branch); │ │406 │ │407 const aa = arena.allocator(); │ │408 const DB = evt.EventDB(repo_opts.hash); │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │411 const drafts_window = if (admin_moment) |admin| │ │412 if (repo_id_maybe) |repo_id| │ │413 if (session.data.user_id != null and session.repos_dir != null) │ │403 - try loadDraftWindow(repo_kind, repo_opts, arena, session, admin, &repo_id, empty.selected_id, repo, target_branch)│ │414 + try loadDraftWindow(repo_kind, repo_opts, arena, session, admin, &repo_id, empty.selected_id, repo) │ │415 else │ │416 Window.empty │ │417 else │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │545 var closed_window = try thread.loadWindow(Self, repo_opts.hash, arena, admin_moment, haxy_moment, event_id_to_patch, closed_set, closed_root, conflict_set, empty.selected_id, thread_comments_start); │ │546 var merged_window = try thread.loadWindow(Self, repo_opts.hash, arena, admin_moment, haxy_moment, event_id_to_patch, merged_set, merged_root, conflict_set, empty.selected_id, thread_comments_start); │ │547 var conflicts_window = try thread.loadWindow(Self, repo_opts.hash, arena, admin_moment, haxy_moment, event_id_to_patch, conflict_set, conflicts_root, conflict_set, empty.selected_id, thread_comments_start);│ │537 - try setForkDetails(repo_kind, repo_opts, io, arena, admin_moment, repo, target_branch, &open_window); │ │538 - try setForkDetails(repo_kind, repo_opts, io, arena, admin_moment, repo, target_branch, &closed_window); │ │539 - try setForkDetails(repo_kind, repo_opts, io, arena, admin_moment, repo, target_branch, &merged_window); │ │540 - try setForkDetails(repo_kind, repo_opts, io, arena, admin_moment, repo, target_branch, &conflicts_window); │ │548 + try setForkDetails(repo_kind, repo_opts, io, arena, admin_moment, repo, &open_window); │ │549 + try setForkDetails(repo_kind, repo_opts, io, arena, admin_moment, repo, &closed_window); │ │550 + try setForkDetails(repo_kind, repo_opts, io, arena, admin_moment, repo, &merged_window); │ │551 + try setForkDetails(repo_kind, repo_opts, io, arena, admin_moment, repo, &conflicts_window); │ │552 if (view == .conflicts and conflicts_window.count > 0) resolved_view = .conflicts; │ │553 │ │554 const comment_page = if (empty.comment_id.len == 0) │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────╮ │560 │ │561 return .{ │ │562 .identity = empty.identity, │ │563 + .default_target_branch = empty.default_target_branch,│ │564 .tag = empty.tag, │ │565 .selected_id = empty.selected_id, │ │566 .comment_id = empty.comment_id, │ ╰──────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────╮ │586 arena: *std.heap.ArenaAllocator, │ │587 admin_moment: ?evt.AdminDB.HashMap(.read_only),│ │588 repo: *rp.Repo(repo_kind, repo_opts), │ │577 - default_target_branch: []const u8, │ │589 target: *Window, │ │590 ) !void { │ │591 if (target.items.len == 0) return; │ ╰────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │596 const record = try evt.Fork.readById(evt.AdminDB, evt.admin_repo_opts.hash, moment, arena, &id);│ │597 item.fork_exists = if (record) |value| !value.removed else false; │ │598 } │ │588 - const revision = item.record.event.revision orelse { │ │589 - if (item.fork_exists) item.target_branch = default_target_branch; │ │590 - continue; │ │591 - }; │ │592 - const target_branch = revision.targetBranch() orelse continue; │ │599 + const target_branch = item.record.event.target_branch; │ │600 + const revision = item.record.event.revision orelse continue; │ │601 item.fork_oid = switch (item.record.event.status) { │ │602 .merged => |oid| oid, │ │603 else => revision.source_oid, │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │604 }; │ │597 - item.target_branch = target_branch; │ │605 if (item.record.event.status.kind() == .merged) continue; │ │606 const target_oid = try repo.readRef(io, .{ .kind = .head, .name = target_branch }); │ │607 item.no_changes = if (target_oid) |oid| std.mem.eql(u8, &oid, revision.source_oid) else false;│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────╮ │618 repo_id: *const [evt.event_id_size]u8, │ │619 selected_id: []const u8, │ │620 target_repo: *rp.Repo(repo_kind, repo_opts), │ │614 - default_target_branch: []const u8, │ │621 ) !Window { │ │622 const user_id = session.data.user_id orelse return .empty;│ │623 if (user_id.len != evt.event_id_size) return .empty; │ ╰───────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │669 const path = try fork.forkPath(aa, repos_dir, &id_hex); │ │670 var fork_repo = rp.Repo(.xit, .{}).open(io, arena.child_allocator, .{ .path = path, .require_repo_root = true }) catch continue; │ │671 defer fork_repo.deinit(io, arena.child_allocator); │ │666 - const entry = (try loadDraftEntry(repo_kind, repo_opts, arena, io, admin_moment, &fork_repo, target_repo, id, default_target_branch)) orelse continue;│ │672 + const entry = (try loadDraftEntry(repo_kind, repo_opts, arena, io, admin_moment, &fork_repo, target_repo, id)) orelse continue; │ │673 try items.append(aa, entry); │ │674 } │ │675 return .{ │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯