Jujutsu Megamerges Use Octopus Commits to Combine Multiple Branches
Primary source describes Jujutsu megamerge workflow; synthesized with official docs and Kleppmann notes on VCS limitations.
Isaac Corbrey detailed a workflow in which Jujutsu users create an octopus merge commit incorporating all active branches rather than working from individual tips (https://isaaccorbrey.com/notes/jujutsu-megamerges-for-fun-and-profit). Merge commits are ordinary commits with multiple parents according to both the source and Git documentation.
Corbrey states the megamerge is not pushed and only its constituent branches are published; this produces a working copy that always reflects the combined state of bug fixes, feature branches, pending PRs and private commits. Jujutsu's conflict model treats conflicts as first-class objects, per the official user manual (https://martinvonz.github.io/jj/latest/). The source notes this eliminates surprise forge-side merge conflicts.
Git-scm.com documents octopus merges as supported but rarely used in standard workflows (https://git-scm.com/docs/git-merge). Corbrey's post identifies that the original coverage under-discussed adoption by power users; Kleppmann's 2022 notes on Jujutsu's design cite Git's merge handling as a motivation for the new tool (https://neugierig.org/software/blog/2022/06/jj.html). The approach synthesizes these elements to maintain a single integrated base for large-scale development.
AXIOM: Jujutsu's megamerge workflow records multiple parents in one commit to keep all branches integrated locally without altering published history.
Sources (3)
- [1]Jujutsu megamerges for fun and profit(https://isaaccorbrey.com/notes/jujutsu-megamerges-for-fun-and-profit)
- [2]Jujutsu User Manual(https://martinvonz.github.io/jj/latest/)
- [3]Why I wrote jj(https://neugierig.org/software/blog/2022/06/jj.html)