HeadlinesBriefing favicon HeadlinesBriefing.com

Jujutsu Tames Git Rigour Fatigue with Laundry Basket Workflow

Hacker News •
×

Developers building large features often struggle with maintaining clean, logically-scoped commits throughout development. The pressure to create perfect commit histories leads to what one developer calls 'git rigour fatigue' - the exhaustion of constantly restructuring changes mid-development. Jujutsu offers tools to combat this, but even its helpful commands like `jj absorb` and `jj squash -i` have limitations.

The proposed solution flips traditional workflow: instead of maintaining clean commits throughout development, developers can create one messy 'everything commit' containing all changes. Then using `jj squash -i`, they sort changes into properly-scoped commits afterward. This approach avoids the merge conflicts that arise when squashing fixes back into feature commits mid-development.

Unlike `jj split`, this technique allows sorting easy changes first without worrying about commit sequencing. The final 'everything commit' is guaranteed conflict-free. However, intermediate commits may not compile, which could be a dealbreaker for teams requiring every commit to be functional.

This 'laundry basket' approach essentially trades continuous discipline for batch refinement, making large feature development less mentally exhausting.