╭ changed ──╮ │src/try.zig│ ╰───────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │172 // commit the seed events and consume them into the database │ │173 try evt.commitAndConsume(evt.admin_repo_opts, io, allocator, &repo, evt.events_ref, &events_to_consume); │ │174 │ │175 + // create the actual repos on disk, named by their hex-encoded event id │ │176 + for (repo_data, 0..) |r, i| { │ │177 + const repo_id = std.fmt.bytesToHex(repo_event_ids[i], .lower); │ │178 + const repo_path = try std.fs.path.join(arena.allocator(), &.{ cwd_path, temp_dir_name, "server", "repos", &repo_id });│ │179 + │ │180 + var repo_i = try rp.Repo(.xit, .{}).init(io, allocator, .{ .path = repo_path }); │ │181 + defer repo_i.deinit(io, allocator); │ │182 + │ │183 + try repo_i.addConfig(io, allocator, .{ .name = "user.name", .value = "haxy" }); │ │184 + try repo_i.addConfig(io, allocator, .{ .name = "user.email", .value = "admin@haxy" }); │ │185 + │ │186 + // write the repo's name and description into a README │ │187 + { │ │188 + var repo_dir = try cwd.openDir(io, repo_path, .{}); │ │189 + defer repo_dir.close(io); │ │190 + const readme = try repo_dir.createFile(io, "README.md", .{}); │ │191 + defer readme.close(io); │ │192 + const readme_content = try std.fmt.allocPrint(arena.allocator(), "# {s}\n\n{s}\n", .{ r.name, r.description }); │ │193 + try readme.writeStreamingAll(io, readme_content); │ │194 + } │ │195 + │ │196 + try repo_i.add(io, allocator, &.{"README.md"}); │ │197 + _ = try repo_i.commit(io, allocator, .{ .message = "let there be light" }); │ │198 + } │ │199 + │ │200 break :blk try ui.Session.init(&session_arena, &repo, .{}); │ │201 }; │ │202 session.is_terminal = true; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯