Scott Chacon
banner
scottchacon.com
Scott Chacon
@scottchacon.com
CEO of @gitbutler.com, previously cofounder of @github.com. All opinions are my own, but also objectively the best.
20 years ago today, Linus made the first commit on the Git project. Here is my birthday present post, looking back.

Happy birthday git, and thanks for all the fish.

blog.gitbutler.com/20-years-of-...
20 years of Git. Still weird, still wonderful.
Twenty years ago, Git was born. How did this unlikely "information manager" take over the world?
blog.gitbutler.com
April 7, 2025 at 4:23 PM
This is so strange, for some reason I thought rebase preserved them. `git replay` does, which is probably why GitHub works, so it can do these in memory. I believe libgit2 does as well, so maybe they're still using that. @gitlab.com and @gitea.com don't, so they're prob shelling out to `git rebase`
March 30, 2025 at 5:40 PM
Everyone rallied around moving away from “master” but we’re still collectively ok with gimp?
github.com GitHub @github.com · Mar 28
GIMP 3.0 is finally here 🥹

@itsthatladydev.bsky.social has the details in this episode of The Download ⬇️
youtu.be/hhCMggZXQYU
March 28, 2025 at 9:30 PM
He’s right, your rebase also strips extra headers. Do you know where the whitelist of headers is hard coded?
March 27, 2025 at 5:44 PM
We actually have a third structure, which is virtual branches - you can work on multiple branches (or stacks of branches) at the same time in one working directory. In case multiple stacks or branches have no interdependencies.
March 25, 2025 at 1:08 PM
I like the two levels.

Per-commit review within a branch means they are all merged together. Stacking branches means the bottom should be merged first, but stacks above it depend on those but don’t need to be merged at the same time.

Its a useful mental difference when working on them.
March 25, 2025 at 1:06 PM
Really? That seems like an unlikely reason. The signature just verifies the commit data minus the signature, it shouldn't matter what is in there for a verification. Can you point me at a use case?

In fact, if this were true, Gitea would break with any new future official git headers.
March 24, 2025 at 9:02 PM
Merci
March 21, 2025 at 11:03 AM
Currently no, but it's on our short list.
March 21, 2025 at 11:03 AM
Not the entire history, just the commits you are trying to review.
March 21, 2025 at 6:51 AM
For the last few months, @gitbutler.com has been working on a new code review tool and using it in place of PR review.

It's commit-based, treating your branch like a series of patches and it's completely changed my workflow.

Check it out!

blog.gitbutler.com/gitbutlers-n...
GitButler's new patch based Code Review (Beta)
Introducing Butler Review, a new commit-based, chat centered code review tool, now in beta.
blog.gitbutler.com
March 20, 2025 at 2:30 PM
my god, the russian bear octocat. probably my favorite one.
March 17, 2025 at 12:50 PM
If you haven't been watching, we are now on our 11th(!) episode of Bits and Booze. This latest one is us showing off libgit2 by building a simple git client in Tauri while drinking non-alcoholic wine.

www.youtube.com/watch?v=WKWf...
libgit2 | Ep. 11 Bits and Booze
YouTube video by GitButler
www.youtube.com
March 15, 2025 at 7:06 PM
This is awesome.
Updated my GitHub readme. It's a node script that updates an animated SVG each day and hits Accuweather's API. Best part now is it links to Bluesky instead of the other site

github.com/jasonlong
March 14, 2025 at 9:48 AM
This week in "Scott writing up dark corners of Git", it's the story of Git's new bundle-uri and issues that I found that resulted in yet another patch to Git.

blog.gitbutler.com/going-down-t...
Going down the rabbit hole of Git's new bundle-uri
Git's new bundle-uri could help significantly speed up clones, but what bugs lurk within?
blog.gitbutler.com
March 13, 2025 at 8:51 AM
Time for streaming some Rust/Typescript goodness with Caleb!

www.twitch.tv/gitbutler
GitButler - Twitch
GitButler - Building the Best code review
www.twitch.tv
March 11, 2025 at 7:29 PM
I think they come up a few days later or something.
March 4, 2025 at 8:55 PM
Once again, @gitbutler.com's Caleb is live streaming working on our upcoming review stuff. This time at a new, shorter URL that we forgot we had squatted.

www.twitch.tv/gitbutler
GitButler - Twitch
GitButler - Building the Best code review
www.twitch.tv
March 3, 2025 at 6:41 PM
Reposted by Scott Chacon
Scott Chacon is back in Bits & Booze Ep. 9 for Git Interview Part 2: Hard. Can he still handle the heat? Watch the fun unfold! 🍷💻
youtu.be/FbW9wlve8sI?...
Git Interview Part 2: Hard | Ep. 9 Bits and Booze
YouTube video by GitButler
youtu.be
March 2, 2025 at 11:13 PM
Dont worry, my next post is about bundle-uri, which I think is more Derrick.
March 1, 2025 at 3:45 PM
In fact, I thought I _just_ saw in the GerritForge summit video that branch based review was _maybe_ on the horizon
February 28, 2025 at 8:53 PM
I’m curious. You say “series” but my last run in with Gerrit was that it was very single commit based. Even looking at the docs now, it still appears single patch based. Can you do a series of commits as a change basis now?
February 28, 2025 at 8:52 PM
Another week, another super fun Git nerd article. Today I posted about doing interdiff review with the git range-diff command.

blog.gitbutler.com/interdiff-re...
Interdiff review with git range-diff
Diving into `range-diff`, the little known Git power tool to compare two versions of a series of patches.
blog.gitbutler.com
February 28, 2025 at 12:10 PM
Fun new blog post today about some git config values that should probably be the defaults.

blog.gitbutler.com/how-git-core...
How Core Git Developers Configure Git
What `git config` settings should be defaults by now? Here are some settings that even the core developers change.
blog.gitbutler.com
February 22, 2025 at 9:57 AM
This is how shit gets done.
February 7, 2025 at 11:27 AM