A pastebin for patches, supercharged for git collaboration

Welcome to pico's managed patchbin service! This is a public service that is free to anyone who wants to collaborate on git patches.

Contributions are designed to be anonymous: the quality of your work is what matters. No signup required, just connect with an SSH key.
The target project doesn't need to run patchbin for someone to submit a patch request against it. It works like a pull request, except both sides collaborate by sending rounds of patchsets: a contributor sends patches, a reviewer replies with their own patches on top, back and forth, as commits rather than comments. The result is a collaborative workspace built entirely out of patches. Reviewing means pulling the code down, not clicking through a diff viewer. Issues work the same way: an issue is just a patch request without any code attached yet, and anyone can follow up with a real patch request on top of it.
There's no accept or reject step. A patch request is simply active or inactive: active ones go inactive after 14 days without activity. When a reviewer is happy with the code, they pull it, merge it, and push upstream themselves; there's nothing to manage here beyond that.

Quickstart

Submit a patch request (new or follow-up):
git format-patch main --stdout | ssh pr.pico.sh {repo}:{slug}
Checkout the latest patchset from a patch request:
ssh pr.pico.sh pull {repo}:{slug} | git am -3
# or shorthand:
ssh pr.pico.sh {repo}:{slug}.patch | git am -3
View PR metadata and discussion:
ssh pr.pico.sh show {repo}:{slug}
Help guide:
ssh pr.pico.sh help

Commands

{repo}:{slug} - submit a patchset
{repo}:{slug} - submit a patchset from stdin (creates PR if new, appends if exists)
git format-patch main --stdout | ssh pr.pico.sh {repo}:{slug}
pull - print patches for checkout
pull {repo}:{slug} [rev] - print mbox patchset for checkout (pipes to git am)
ssh pr.pico.sh pull {repo}:{slug} | git am -3
{repo}:{slug}.patch - shorthand to pull latest patchset
ssh pr.pico.sh {repo}:{slug}.patch | git am -3
show - view PR summary
show {repo}:{slug} - show metadata, patchsets, and patches for a PR
ssh pr.pico.sh show {repo}:{slug}
ls - list patch requests
ls [repo] [--active|--inactive|--mine] - list PRs
ssh pr.pico.sh ls {repo}
comment - add a comment
comment {repo}:{slug} [msg] - add a comment via argument or stdin
ssh pr.pico.sh comment {repo}:{slug} "looks good!"
edit - rename a PR
edit {repo}:{slug} {title} - rename a PR (creator only)
ssh pr.pico.sh edit {repo}:{slug} "new title"
rm - remove a patchset
rm {repo}:{slug}.{rev} - remove a patchset and its patches (creator only)
ssh pr.pico.sh rm {repo}:{slug}.2
issue - text-only patch requests (no code required)
issue {repo}:{slug} [title] [body] - submit a new issue
ssh pr.pico.sh issue {repo}:{slug} "crash on startup" "steps to reproduce..."
logs - event history
logs [--pr {repo}:{slug}] [--pubkey] - list event logs, optionally filtered to a PR or your own activity
ssh pr.pico.sh logs --pr {repo}:{slug}