HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Jujutsu: A Git-Compatible VCS - Git Merge 2022

GitHubCited 4× on HN, 2022-2024
YouTube
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.

Testing, debugging & developer tools#jujutsu#git#first-classconflicts#dvcs#gitmerge

4 comments from Hacker News

@snthpy2024 · in “Jujutsu: A Next Generation Replacement for Git”

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?

CitesView on HN
@aseipp2023 · in “I (kind of) killed Mercurial at Mozilla”

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

CitesView on HN
@teleforce2023 · in “Jujutsu: A Git-compatible DVCS that is both simple and powerful”

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

CitesView on HN
@martinvonz2022 · in “Sapling: A new source control system with Git-compatible client”

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 ).

CitesView on HN
Introduction to Git with Scott Chacon of GitHub1:22:12

Introduction to Git with Scott Chacon of GitHub

InfoQ
396K views • 15 years ago
Tech Talk: Linus Torvalds on git1:10:15

Tech Talk: Linus Torvalds on git

Google
4.1M views • 19 years ago
Lecture 6: Version Control (git) (2020)1:25:00

Lecture 6: Version Control (git) (2020)

Missing Semester
751K views • 6 years ago
[Linux.conf.au 2013] - Git For Ages 4 And Up1:39:43

[Linux.conf.au 2013] - Git For Ages 4 And Up

HackersOnBoard
208K views • 13 years ago
So You Think You Know Git - FOSDEM 202447:00

So You Think You Know Git - FOSDEM 2024

GitButler
1.6M views • 2 years ago
Why Google Stores Billions of Lines of Code in a Single Repository30:50

Why Google Stores Billions of Lines of Code in a Single Repository

@Scale
317K views • 11 years ago
15 Lazygit Features In Under 15 Minutes12:12

15 Lazygit Features In Under 15 Minutes

Jesse Duffield
271K views • 7 years ago
Linux Kernel Development, Greg Kroah-Hartman - Git Merge 201637:34

Linux Kernel Development, Greg Kroah-Hartman - Git Merge 2016

GitHub
72K views • 9 years ago
Richard Hipp - Git: Just Say No1:01:15

Richard Hipp - Git: Just Say No

southeastlinuxfest
16K views • 11 years ago
"The Clean Code Talks  -- Inheritance, Polymorphism, & Testing"38:25

"The Clean Code Talks -- Inheritance, Polymorphism, & Testing"

Google TechTalks
438K views • 17 years ago
Tudor Gîrba - Moldable development37:49

Tudor Gîrba - Moldable development

Curry On!
26K views • 7 years ago
Brandt Bucher – A JIT Compiler for CPython47:51

Brandt Bucher – A JIT Compiler for CPython

encukou
14K views • 2 years ago
Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs40:02

Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs

thoughtbot
563K views • 11 years ago
Hitler uses git3:23

Hitler uses git

ronopolis
823K views • 15 years ago
"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki40:55

"Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki

Strange Loop Conference
69K views • 12 years ago
Live ClojureScript Game Editor5:27

Live ClojureScript Game Editor

ibdknox
34K views • 14 years ago
Barliman: trying the halting problem backwards, blindfolded - William Byrd, Greg Rosenblatt36:14

Barliman: trying the halting problem backwards, blindfolded - William Byrd, Greg Rosenblatt

ClojureTV
8K views • 9 years ago
Brian Goetz - Stewardship: the Sobering Parts1:03:31

Brian Goetz - Stewardship: the Sobering Parts

ClojureTV
39K views • 11 years ago
Ruby Conf 12 - Boundaries by Gary Bernhardt45:55

Ruby Conf 12 - Boundaries by Gary Bernhardt

Confreaks
58K views • 13 years ago
Two decades of Git: A conversation with creator Linus Torvalds41:50

Two decades of Git: A conversation with creator Linus Torvalds

GitHub
548K views • 1 year ago