Jujutsu: A Git-Compatible VCS - Git Merge 2022
GitHubCited 4× on HN, 2022-2024
17K views · 4 years ago · talk · dated
Martin von Zweigbergk presents Jujutsu (jj), a Git-compatible VCS with undo, anonymous branches, first-class conflicts, automatic rebasing, and the working copy as a commit. He also covers plans at Google.
HN links it as the canonical talk on Jujutsu's design, especially conflict handling.
1:22:12Introduction to Git with Scott Chacon of GitHub
InfoQ
396K views • 15 years ago
1:10:15Tech Talk: Linus Torvalds on git
Google
4.1M views • 19 years ago
1:25:00Lecture 6: Version Control (git) (2020)
Missing Semester
751K views • 6 years ago
1:39:43[Linux.conf.au 2013] - Git For Ages 4 And Up
HackersOnBoard
208K views • 13 years ago
47:00So You Think You Know Git - FOSDEM 2024
GitButler
1.6M views • 2 years ago
30:50Why Google Stores Billions of Lines of Code in a Single Repository
@Scale
317K views • 11 years ago
12:1215 Lazygit Features In Under 15 Minutes
Jesse Duffield
271K views • 7 years ago
37:34Linux Kernel Development, Greg Kroah-Hartman - Git Merge 2016
GitHub
72K views • 9 years ago
1:01:15Richard Hipp - Git: Just Say No
southeastlinuxfest
16K views • 11 years ago
38:25"The Clean Code Talks -- Inheritance, Polymorphism, & Testing"
Google TechTalks
438K views • 17 years ago
37:49Tudor Gîrba - Moldable development
Curry On!
26K views • 7 years ago
47:51Brandt Bucher – A JIT Compiler for CPython
encukou
14K views • 2 years ago
40:02Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs
thoughtbot
563K views • 11 years ago
3:23Hitler uses git
ronopolis
823K views • 15 years ago
40:55"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki
Strange Loop Conference
69K views • 12 years ago
5:27Live ClojureScript Game Editor
ibdknox
34K views • 14 years ago
36:14Barliman: trying the halting problem backwards, blindfolded - William Byrd, Greg Rosenblatt
ClojureTV
8K views • 9 years ago
1:03:31Brian Goetz - Stewardship: the Sobering Parts
ClojureTV
39K views • 11 years ago
45:55Ruby Conf 12 - Boundaries by Gary Bernhardt
Confreaks
58K views • 13 years ago
41:50Two decades of Git: A conversation with creator Linus Torvalds
GitHub
548K views • 1 year ago
4 comments from Hacker News
I think this was the talk: ▶ this video I would like to know more about the first class conflict handling. That could potentially be useful for an application I have in mind but I need to understand the algorithms better. How does it compare to CRDTs or other merge strategies?
I completely rewrote the README recently to be more "user friendly"; does it address some of your question? I'm not trying to be snarky, I'm genuinely interested in if the README is now tantalizing enough to make you interested: link But in short, it has a better UX than Git by a mile while remaining interoperable at the storage level, so you can use GitHub; it has many of the niceties of Mercurial's UX like revsets, no staging area, and a templating language for log output. Conflict resolution and rebasing is clean, easy, and nearly automatic. It has features neither support, like a real undo command and "operation log"[1]. The UX is smaller and conceptually cleaner; fewer "verbs" that operate on less "nouns", so many things are more regular. It is available as an API (Rust crates) so you can extend it naturally to handle your own workflow, without monkey-patching things. You could even use Mercurial itself as a storage backend, or a custom, centralized server like Google does. Most importantly though, its internal "automatic snapshot model" design is quite elegant and makes the design and internals very clear. And storage system is completely independent and abstracted from this, and many of the other algorithmic details (Git sort of intertwines the data model, the algorithms, and the UX in various ways.) Features like hg changeset evolution, git rerere, and rebase --update-refs are all obsoleted and naturally handled by this design, among other things. Martin, the lead d
Jujutsu started as author's personal project and now author's full-time project at Google. It's presented at Git Merge 2022: Jujutsu: A Git-Compatible VCS - Git Merge 2022: Video: ▶ this video Slides: link
I think those two things that arxanas mentioned are the biggest differences (i.e. working-copy-as-commit and conflicts in commits). I haven't used Sapling, but I suspect Jujutsu has better support for moving commits (and parts of commits) around without touching the working copy. Sapling, on the other hand, has much better support very large repositories, since they've spent a lot of time on that over the years. We're going to copy some of Sapling's solutions to Jujutsu soon, since we're working on integrating it with Google's monorepo (slides: link , recording: ▶ this video ).