- GitHub pull requests have a major problem: they are one giant mutable changeset, causing outdated reviews, lost context, and difficulty scrubbing prior states.
- Proposed solution: changesets (versionable, immutable snapshots of a pull request branch) where each version (v1, v2…) is fixed and feedback is attached to specific versions.
- Changesets allow deferred publishing—contributors can push multiple commits privately before proposing a new version, and reviewers can review atomic versions without confusion.
- Feedback persists across changesets, showing unresolved comments from prior versions, ensuring all issues are addressed before acceptance.
- Changesets can be represented by different Git refs (e.g., refs/pr/1234/v2), enabling easy local checkout and comparison of specific versions.
- This pattern is already used successfully in other tools like Gerrit and Phabricator, and could be added to GitHub without breaking existing workflows.