╭ changed ──────────╮ │src/event/Patch.zig│ ╰───────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────╮ │153 if (tag.len > tag_max_len) return false; │ │154 } │ │155 return true; │ │156 +} │ │157 + │ │158 +pub fn branchValid(branch: []const u8) bool { │ │159 + return rf.validateName(branch) and !std.mem.eql(u8, branch, evt.events_ref.name);│ │160 } │ │161 │ │162 pub fn consume( │ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │184 var record = record_maybe orelse try evt.removedRecord(Record, DB, hash_kind, haxy_moment.readOnly(), existing_maybe);│ │185 │ │186 if (!fieldsValid(record.event.title, record.event.tags)) return error.InvalidPatch; │ │183 - if (!rf.validateName(record.event.target_branch)) return error.InvalidTarget; │ │187 + if (!branchValid(record.event.target_branch)) return error.InvalidTargetBranch; │ │188 if (record.event.source_branch) |branch| { │ │185 - if (!rf.validateName(branch) or std.mem.eql(u8, branch, evt.events_ref.name) or │ │186 - std.mem.eql(u8, record.event.target_branch, evt.events_ref.name)) return error.InvalidSourceBranch; │ │189 + if (!branchValid(branch)) return error.InvalidSourceBranch; │ │190 + if (std.mem.eql(u8, branch, record.event.target_branch)) return error.SameBranch; │ │191 } │ │192 const revision_id = if (record.event.revision) |*revision| blk: { │ │193 try evt.PatchRev.validateOid(hash_kind, revision.squash_oid); │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │349 }; │ │350 }, │ │351 .fields => |fields| { │ │348 - if (!rf.validateName(fields.target_branch)) return error.InvalidTargetBranch; │ │352 + if (!branchValid(fields.target_branch)) return error.InvalidTargetBranch; │ │353 if ((try repo.readRef(io, .{ .kind = .head, .name = fields.target_branch })) == null) return error.InvalidTargetBranch;│ │354 updated.title = fields.title; │ │355 updated.tags = fields.tags; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯