{"version":"1.0","type":"rich","provider_name":"Acast","provider_url":"https://acast.com","height":250,"width":700,"html":"<iframe src=\"https://embed.acast.com/$/65de32896569fa0017d17653/693bfe379bb376c45d33d161?\" frameBorder=\"0\" width=\"700\" height=\"250\"></iframe>","title":"Deferred Conflict (with Steve Klabnik)","description":"<p>Jared interviews Steve Klabnik (Rust author and longtime OSS contributor) about JJ (Jujutsu), a newer version control system that can operate on Git repos via pluggable backends so you can adopt it locally without forcing teammates to switch, while getting a simpler, more flexible workflow. Steve explains JJ’s core shift: no staging/index—your working copy is effectively a mutable commit you shape as you work, making it easier to split, squash, and rewrite history without juggling Git’s extra layers and flags, and even “stash” becomes just more visible commits. He highlights JJ’s stable change IDs (so you can refer to work even as hashes change), its conflict model where rebases complete immediately and mark conflicted commits for later resolution (great for many parallel branches), and features like <strong>jj absorb</strong> (auto-placing review fixes into the right earlier commits) and <strong>jj undo</strong> (a full operation history that makes experimentation feel safe). Steve also teases work on a JJ-native collaboration/review product inspired by Gerrit-style patch workflows.</p><p><br></p><p><strong>Links:</strong></p><p><br></p><p><a href=\"https://github.com/jj-vcs/jj\" rel=\"noopener noreferrer\" target=\"_blank\">Jujutsu (jj) on GitHub</a></p><p><a href=\"https://docs.jj-vcs.dev/\" rel=\"noopener noreferrer\" target=\"_blank\">Jujutsu docs</a></p><p><a href=\"https://steveklabnik.github.io/jujutsu-tutorial/\" rel=\"noopener noreferrer\" target=\"_blank\">Steve’s Jujutsu tutorial</a></p><p><a href=\"https://steveklabnik.com/writing/i-see-a-future-in-jj/\" rel=\"noopener noreferrer\" target=\"_blank\">“I see a future in jj” (Steve Klabnik)</a></p><p><a href=\"https://ersc.io/\" rel=\"noopener noreferrer\" target=\"_blank\">East River Source Control (ERSC)</a></p><p><a href=\"https://docs.jj-vcs.dev/latest/cli-reference/\" rel=\"noopener noreferrer\" target=\"_blank\">jj CLI reference</a></p><p><a href=\"https://docs.jj-vcs.dev/latest/cli-reference/#jj-absorb\" rel=\"noopener noreferrer\" target=\"_blank\">jj absorb</a></p><p><a href=\"https://docs.jj-vcs.dev/latest/cli-reference/#jj-undo\" rel=\"noopener noreferrer\" target=\"_blank\">jj undo</a></p><p><a href=\"https://docs.jj-vcs.dev/latest/gerrit/\" rel=\"noopener noreferrer\" target=\"_blank\">Working with Gerrit (jj docs)</a></p><p><a href=\"https://git-scm.com/docs/git-interpret-trailers\" rel=\"noopener noreferrer\" target=\"_blank\">Git commit “trailers” / metadata</a></p><p><a href=\"https://git-scm.com/docs/githooks\" rel=\"noopener noreferrer\" target=\"_blank\">Git hooks</a></p><p><a href=\"https://git-lfs.com/\" rel=\"noopener noreferrer\" target=\"_blank\">Git LFS</a></p><p><a href=\"https://www.perforce.com/products/helix-core\" rel=\"noopener noreferrer\" target=\"_blank\">Perforce Helix Core</a></p><p><a href=\"https://sapling-scm.com/\" rel=\"noopener noreferrer\" target=\"_blank\">Sapling SCM</a></p><p><a href=\"https://www.mercurial-scm.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Mercurial</a></p><p><a href=\"https://gitbutler.com/\" rel=\"noopener noreferrer\" target=\"_blank\">GitButler</a></p><p><a href=\"https://doc.rust-lang.org/book/\" rel=\"noopener noreferrer\" target=\"_blank\">The Rust Programming Language (“The Book”)</a></p><p><a href=\"https://steveklabnik.com/\" rel=\"noopener noreferrer\" target=\"_blank\">Steve Klabnik’s site</a></p><p><a href=\"https://en.wikipedia.org/wiki/Why_the_lucky_stiff\" rel=\"noopener noreferrer\" target=\"_blank\">why the lucky stiff (Wikipedia)</a></p><p><br></p><p><strong>Dead Code Podcast Links:</strong></p><p><br></p><p><a href=\"https://hachyderm.io/@deadcode\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/DeadCodePod\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><strong>Jared’s Links:</strong></p><p><br></p><p><a href=\"https://supergood.social/@jared\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><a href=\"https://www.twitch.tv/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">twitch.tv/jardonamron</a></p><p><a href=\"https://jardo.dev\" rel=\"noopener noreferrer\" target=\"_blank\">Jared’s Newsletter &amp; Website</a></p><p><br></p><p><a href=\"https://docs.google.com/document/d/11pmjE7JtnqwIG1rhi0-7g3sb_hwEY4x46Xt_QnR23JE/edit?pli=1&amp;tab=t.0\" rel=\"noopener noreferrer\" target=\"_blank\">Episode Transcript</a></p>","author_name":"Jared Norman"}