Artwork
iconShare
 
Manage episode 520368267 series 3271778
Content provided by https://brainsandbeards.com, Wojciech Ogrodowczyk, and Patryk Peszko. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by https://brainsandbeards.com, Wojciech Ogrodowczyk, and Patryk Peszko or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://staging.podcastplayer.com/legal.

Key Moments

Onboarding & docs are weak: They highlight that JJ’s official website has limited documentation, there’s no clear “I’m a Git user, how do I switch?” guide, and the flexibility of many possible workflows can be overwhelming for newcomers.

Tutorials that stop halfway: Wojciech describes learning JJ via Steve Klabnik’s tutorial (great for basics and GitHub PRs), but notes it stops at a “to be continued” point and doesn’t cover advanced workflows like stacked PRs or mega merges.

Rebase is harder to discover: Wojciech explains that he frequently has to look up how to “rebase” his feature branches in JJ, because the commands are less obvious than in Git and official docs feel more like technical references than user tutorials.

AI help is hit-and-miss: They mention that asking AI tools about JJ used to produce outdated or incorrect commands; it’s improved, but still tends to lag behind JJ’s latest versions.

Powerful primitives, missing batteries-included UX: JJ gives very low-level, powerful tools (like refsets and named bookmarks), but many higher-level conveniences are missing, forcing users to copy snippets from Discord or write custom commands (like tug to move bookmarks).

Refsets are strong but complex: Refsets are described as a powerful language for describing revision sets, but way too advanced for beginners; newcomers shouldn’t be forced to learn them in their first months just to get common workflows.

Bookmark and branch friction: Because named bookmarks in JJ effectively stand in for Git branches, users must manually move and update them, which can feel as clumsy as moving tags in Git unless you script it yourself.

Tagging still done in Git: Wojciech shares that for release tagging he still drops down to raw Git commands, since he doesn’t have a smooth JJ-based tagging workflow.

GitHub & divergent commits: A big pain point is that when pushing/pulling from GitHub, commits may get different IDs, resulting in “divergent changes” that JJ can’t automatically reconcile, so users must manually pick which ones to keep.

Ecosystem still catching up: They mention tools like Tangled and an unreleased JJ-focused hosting platform being built by core maintainers, hoping it will be for JJ what GitHub was for Git.

Performance & features on large repos: From community feedback, they note JJ can be slower on very large repos due to tracking every file change, and features like workspaces aren’t supported yet.

Interactive rebase vs JJ workflows: Some users miss Git’s powerful interactive rebase that can reshuffle many commits at once; in JJ similar effects often require more manual work or complex refsets, though many gaps already have open issues and planned improvements.

Real-world experience is still positive: Despite the rough edges, both hosts say working with GitHub is still nicer through JJ than pure Git, especially when checking out others’ branches and avoiding git stash/cleanup chores.

Maturity and trade-offs: They frame JJ’s current state as “growing pains” of a young tool (v0.33), with drawbacks that are small compared to the benefits for their everyday work.

Closing encouragement: They stress they’ve been JJ-only for months, recommend listeners give it a try alongside Git, and suggest re-listening to the previous positive episode or watching their Brain Picks YouTube video for a more enthusiastic, hands-on view.

👋 Visit us on https://brainsandbeards.com/

  continue reading

22 episodes