╭ changed ──────╮ │src/test/ui.zig│ ╰───────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭─────────────────────────────────────────────────────────────────────╮ │195 const base_oid = "3333333333333333333333333333333333333333";│ │196 │ │197 const data = Commits{ │ │198 - .location = .{ .repo = identity }, │ │198 + .handle = .{ .location = .{ .repo = identity } }, │ │199 .ref_or_oid = .object, │ │200 .ref_or_oid_value = oid0, │ │201 .base_oid = base_oid, │ ╰─────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────╮ │271 defer repo.deinit(io, allocator); │ │272 var arena = std.heap.ArenaAllocator.init(allocator); │ │273 defer arena.deinit(); │ │274 - const location = ui.RoutablePage.RepoLocation{ .repo = "" }; │ │274 + const handle = ui.RepoHandle{ .location = .{ .repo = "" } }; │ │275 const content = ui.RoutablePage.RepoCommitsRoute.Content{ .diff = .{} };│ │276 const branch = xit.ref.Ref{ .kind = .head, .name = "master" }; │ │277 │ ╰─────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │283 previous = tip; │ │284 tip = try repo.commitAtRef(io, allocator, .{ .message = "next" }, null, branch); │ │285 } │ │286 - const first = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, location, .object, &tip, content, &base, "", ""); │ │286 + const first = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, handle, .object, &tip, content, &base, "", ""); │ │287 try std.testing.expectEqual(20, first.commits.len); │ │288 - const last = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, location, .object, first.next_start orelse return error.MissingNext, content, &base, "", "");│ │288 + const last = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, handle, .object, first.next_start orelse return error.MissingNext, content, &base, "", ""); │ │289 try std.testing.expectEqual(1, last.commits.len); │ │290 try std.testing.expectEqual(null, last.next_start); │ │291 │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │292 // the base at a page boundary must not create an empty next page │ │293 - const full = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, location, .object, &previous, content, &base, "", "");│ │293 + const full = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, handle, .object, &previous, content, &base, "", ""); │ │294 try std.testing.expectEqual(20, full.commits.len); │ │295 try std.testing.expectEqual(null, full.next_start); │ │296 const tag_oid = try repo.addTag(io, allocator, .{ .name = "tip", .message = "annotated" }); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │301 .{ .ref = .tag, .value = "tip" }, │ │302 }; │ │303 for (sources) |source| { │ │304 - const empty = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, location, source.ref, source.value, content, &tip, "", ""); │ │304 + const empty = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, handle, source.ref, source.value, content, &tip, "", ""); │ │305 try std.testing.expectEqual(0, empty.commits.len); │ │306 - const paged = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, location, source.ref, source.value, content, &base, "", first.next_start orelse return error.MissingNext);│ │306 + const paged = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, handle, source.ref, source.value, content, &base, "", first.next_start orelse return error.MissingNext); │ │307 try std.testing.expectEqual(1, paged.commits.len); │ │308 try std.testing.expectEqualStrings(last.commits[0].oid, paged.commits[0].oid); │ │309 try std.testing.expectEqual(source.ref, paged.ref_or_oid); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │312 │ │313 // an off-chain stopping point must not hide its parent on this chain │ │314 const other = try repo.commitAtRef(io, allocator, .{ .message = "other", .parent_oids = &.{base} }, null, .{ .kind = .head, .name = "other" }); │ │315 - const off_chain = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, location, .object, last.commits[0].oid, content, &other, "", "");│ │315 + const off_chain = try Commits.init(kind, opts, &arena, &repo, io, allocator, null, handle, .object, last.commits[0].oid, content, &other, "", ""); │ │316 try std.testing.expectEqual(2, off_chain.commits.len); │ │317 try std.testing.expectEqualStrings(&base, off_chain.commits[1].oid); │ │318 } │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯