╭ changed ────╮ │src/event.zig│ ╰─────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────╮ │1843 return order_key[@sizeOf(u64)..][0..event_id_size].*; │ │1844 } │ │1845 │ │1846 -// split a pushed "<owner>/<repo>" path into its two components, or null if it │ │1847 -// isn't exactly two non-empty segments. │ │1846 +// split a pushed "<owner>:<repo>" path into its two components, or null if it │ │1847 +// isn't exactly two non-empty parts with no "/". │ │1848 pub fn parseOwnerRepoPath(path: []const u8) ?struct { owner: []const u8, name: []const u8 } {│ │1849 - var it = std.mem.splitScalar(u8, path, '/'); │ │1849 + if (std.mem.indexOfScalar(u8, path, '/') != null) return null; │ │1850 + var it = std.mem.splitScalar(u8, path, ':'); │ │1851 const owner = it.next() orelse return null; │ │1852 const name = it.next() orelse return null; │ │1853 if (it.next() != null) return null; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────╮ │1866 repo_id: [event_id_size]u8, │ │1867 }; │ │1868 │ │1868 -// resolve a pushed `<owner>/<repo>` to the ids that locate its on-disk directory│ │1869 +// resolve a pushed `<owner>:<repo>` to the ids that locate its on-disk directory│ │1870 pub fn resolveOrCreateRepo( │ │1871 io: std.Io, │ │1872 allocator: std.mem.Allocator, │ ╰───────────────────────────────────────────────────────────────────────────────────────╯