╭ changed ───╮ │src/push.zig│ ╰────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭─────────────────────────────────────────────────────────────────────────────╮ │358 if (err == error.CancelTransaction) return; │ │359 return err; │ │360 }; │ │361 + │ │362 + response.progress(writer, "Checking merges...\n") catch {}; │ │363 │ │364 // best-effort update the published patch so it has the new revision│ │365 update: { │ ╰─────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │379 } │ │380 var patch = published_patch.event; │ │381 patch.revision = selected; │ │380 - evt.consume(.repo, .xit, repo_opts, io, allocator, target_repo, evt.events_ref, &.{.{ │ │382 + evt.consume(.server, .repo, .xit, repo_opts, io, allocator, target_repo, evt.events_ref, &.{.{│ │383 .id = id.*, │ │384 .timestamp = timestamp, │ │385 .author = author, │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │386 .event = .{ .patch = patch }, │ │387 }}) catch |update_err| { │ │388 serve_common.logError(io, error_writer, "failed to update published patch {s}: {s}\n", .{ id, @errorName(update_err) });│ │389 + break :update; │ │390 }; │ │391 + // consume refreshed the published patch before acknowledging the push │ │392 + return response.finish(writer, null); │ │393 } │ │394 │ │390 - response.progress(writer, "Checking merges...\n") catch {}; │ │395 pch.refreshMergeability(repo_opts, io, allocator, target_repo, patch_id); │ │396 │ │397 // the client may read either repo as soon as it gets the final response. │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯