╭ changed ───────────╮ │src/ui/Repo/Diff.zig│ ╰────────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │27 const Self = @This(); │ │28 │ │29 pub const Route = union(enum) { │ │30 - commit: struct { location: ui.RoutablePage.RepoLocation, oid: []const u8 }, │ │30 + commit: struct { location: ui.RoutablePage.RepoLocation, oid: []const u8, base_oid: []const u8 = "" },│ │31 fork: struct { identity: []const u8, id: []const u8 }, │ │32 │ │33 fn link(self: Route, arena: *std.heap.ArenaAllocator, start: usize, path: []const u8) ![]const u8 { │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────╮ │34 const route = switch (self) { │ │35 - .commit => |c| c.location.commitsRoute(.object, c.oid, start, path), │ │35 + .commit => |c| c.location.commitsRoute(.object, c.oid, start, path, c.base_oid),│ │36 .fork => |f| ui.RoutablePage.forkDiffRoute(f.identity, f.id, start, path), │ │37 } orelse return error.RouteTooLong; │ │38 return std.fmt.allocPrint(arena.allocator(), "a:{s}", .{try route.toUrl(arena)}); │ ╰────────────────────────────────────────────────────────────────────────────────────────────────╯