╭ changed ─────────╮ │src/test/event.zig│ ╰──────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │738 const theirs = try evt.read(evt.Issue.Record, Repo.DB, repo_opts.hash, &arena, try Repo.DB.HashMap(.read_only).init(their_cursor));│ │739 - try std.testing.expectEqualStrings("bug priority-medium ui", theirs.event.tags); │ │739 + try std.testing.expectEqualStrings("bug priority-medium ui", theirs.event.labels); │ │740 try std.testing.expectEqualStrings(issue.event.title, theirs.event.title); │ │741 try std.testing.expectEqualStrings(issue.event.description, theirs.event.description); │ │742 │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │743 // their value is attributed to the commit that set it on their branch │ │744 const oids_cursor = try conflict.getCursor(hash.hashInt(repo_opts.hash, evt.their_field_to_oid_key)) orelse return error.NotFound;│ │745 const oids = try Repo.DB.SortedMap(.read_only).init(oids_cursor); │ │746 - const oid_cursor = try oids.getCursor("tags") orelse return error.NotFound; │ │746 + const oid_cursor = try oids.getCursor("labels") orelse return error.NotFound; │ │747 var their_oid: [hash.byteLen(repo_opts.hash)]u8 = undefined; │ │748 _ = try oid_cursor.readBytes(&their_oid); │ │749 try std.testing.expectEqualSlices(u8, &conflicting_oids[1], &their_oid); │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │750 │ │751 // ours stays attributed to the commit on the events branch │ │752 - try std.testing.expectEqualSlices(u8, &conflicting_oids[0], &try readOid(Repo.DB, repo_opts.hash, haxy_moment, &issue_id, "tags")); │ │752 + try std.testing.expectEqualSlices(u8, &conflicting_oids[0], &try readOid(Repo.DB, repo_opts.hash, haxy_moment, &issue_id, "labels")); │ │753 │ │754 - // the losing side's tag didn't leak into the tag index │ │755 - const tag_to_issues_cursor = try haxy_moment.getCursor(hash.hashInt(repo_opts.hash, "tag+status->issue-id-set")) orelse return error.NotFound; │ │756 - const tag_to_issues = try Repo.DB.SortedMap(.read_only).init(tag_to_issues_cursor); │ │757 - try std.testing.expect(null != try tag_to_issues.getCursor("priority-low open")); │ │758 - try std.testing.expect(null == try tag_to_issues.getCursor("priority-medium open")); │ │754 + // the losing side's label didn't leak into the label index │ │755 + const label_to_issues_cursor = try haxy_moment.getCursor(hash.hashInt(repo_opts.hash, "label+status->issue-id-set")) orelse return error.NotFound;│ │756 + const label_to_issues = try Repo.DB.SortedMap(.read_only).init(label_to_issues_cursor); │ │757 + try std.testing.expect(null != try label_to_issues.getCursor("priority-low open")); │ │758 + try std.testing.expect(null == try label_to_issues.getCursor("priority-medium open")); │ │759 } │ │760 │ │761 // │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │774 const event = evt.EventWithId{ .id = events_to_consume3[1].id, .author = author, .event = .{ .issue = .{│ │775 .title = their_issue.title, │ │776 .description = "Rewritten on a branch that never merged.", │ │777 - .tags = their_issue.tags, │ │777 + .labels = their_issue.labels, │ │778 } } }; │ │779 try std.json.Stringify.value(event, .{}, &json.writer); │ │780 _ = try repo.commitAtRef(io, allocator, .{ .message = json.written() }, null, other_events_ref); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │824 { │ │825 try evt.Issue.update(.local, .xit, repo_opts, io, allocator, &repo, &issue_id, .{ .fields = .{│ │826 .title = "Login form clears password on validation error", │ │827 - .tags = "bug priority-medium ui", │ │827 + .labels = "bug priority-medium ui", │ │828 .description = "Submitting an invalid email address resets the password field.", │ │829 } }, author); │ │830 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │845 const event = evt.EventWithId{ .id = events_to_consume3[0].id, .author = author, .event = .{ .issue = .{│ │846 .title = conflicted_issue.title, │ │847 .description = conflicted_issue.description, │ │848 - .tags = conflicted_issue.tags, │ │848 + .labels = conflicted_issue.labels, │ │849 .status = .closed, │ │850 } } }; │ │851 try std.json.Stringify.value(event, .{}, &json.writer); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │871 │ │872 // and the resolution stands │ │873 const issue = try readIssue(Repo.DB, repo_opts.hash, haxy_moment, &arena, &issue_id);│ │874 - try std.testing.expectEqualStrings("bug priority-medium ui", issue.event.tags); │ │874 + try std.testing.expectEqualStrings("bug priority-medium ui", issue.event.labels); │ │875 } │ │876 │ │877 // │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │896 const event = evt.EventWithId{ .id = events_to_consume[1].id, .author = author, .event = .{ .issue = .{│ │897 .title = "Search results ignore the archived project filter", │ │898 .description = second_issue.description, │ │899 - .tags = second_issue.tags, │ │899 + .labels = second_issue.labels, │ │900 } } }; │ │901 try std.json.Stringify.value(event, .{}, &json.writer); │ │902 const oid = try repo.commitAtRef(io, allocator, .{ .message = json.written() }, null, evt.events_ref); │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │904 } │ │905 │ │906 // the other branch rewrites the second issue's description and drops one │ │907 - // of its tags, then retags the third issue │ │907 + // of its labels, then relabels the third issue │ │908 { │ │909 json.clearRetainingCapacity(); │ │910 const event = evt.EventWithId{ .id = events_to_consume[1].id, .author = author, .event = .{ .issue = .{│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │911 .title = second_issue.title, │ │912 .description = "Archived projects are ranked before the flag is applied.", │ │913 - .tags = "bug search", │ │913 + .labels = "bug search", │ │914 } } }; │ │915 try std.json.Stringify.value(event, .{}, &json.writer); │ │916 const oid = try repo.commitAtRef(io, allocator, .{ .parent_oids = &.{base_oid}, .message = json.written() }, null, other_events_ref);│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯