Scott Chacon's Avatar

Scott Chacon

@scottchacon.com.bsky.social

CEO of @gitbutler.com, previously cofounder of @github.com. All opinions are my own, but also objectively the best.

476 Followers  |  46 Following  |  42 Posts  |  Joined: 14.11.2024  |  1.9864

Latest posts by scottchacon.com on Bluesky

Preview
20 years of Git. Still weird, still wonderful. Twenty years ago, Git was born. How did this unlikely "information manager" take over the world?

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

07.04.2025 16:23 β€” πŸ‘ 26    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0

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`

30.03.2025 17:40 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Everyone rallied around moving away from β€œmaster” but we’re still collectively ok with gimp?

28.03.2025 21:30 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

He’s right, your rebase also strips extra headers. Do you know where the whitelist of headers is hard coded?

27.03.2025 17:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

25.03.2025 13:08 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

25.03.2025 13:06 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

24.03.2025 21:02 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Merci

21.03.2025 11:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Currently no, but it's on our short list.

21.03.2025 11:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Not the entire history, just the commits you are trying to review.

21.03.2025 06:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
GitButler's new patch based Code Review (Beta) Introducing Butler Review, a new commit-based, chat centered code review tool, now in beta.

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

20.03.2025 14:30 β€” πŸ‘ 14    πŸ” 2    πŸ’¬ 3    πŸ“Œ 3

my god, the russian bear octocat. probably my favorite one.

17.03.2025 12:50 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
libgit2 | Ep. 11 Bits and Booze
YouTube video by GitButler libgit2 | Ep. 11 Bits and Booze

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

15.03.2025 19:06 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1

This is awesome.

14.03.2025 09:48 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
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?

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

13.03.2025 08:51 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
GitButler - Twitch GitButler - Building the Best code review

Time for streaming some Rust/Typescript goodness with Caleb!

www.twitch.tv/gitbutler

11.03.2025 19:29 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I think they come up a few days later or something.

04.03.2025 20:55 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitButler - Twitch GitButler - Building the Best code review

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

03.03.2025 18:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Git Interview Part 2: Hard | Ep. 9 Bits and Booze
YouTube video by GitButler Git Interview Part 2: Hard | Ep. 9 Bits and Booze

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

02.03.2025 23:13 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Dont worry, my next post is about bundle-uri, which I think is more Derrick.

01.03.2025 15:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

In fact, I thought I _just_ saw in the GerritForge summit video that branch based review was _maybe_ on the horizon

28.02.2025 20:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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?

28.02.2025 20:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Preview
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.

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

28.02.2025 12:10 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Preview
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.

Fun new blog post today about some git config values that should probably be the defaults.

blog.gitbutler.com/how-git-core...

22.02.2025 09:57 β€” πŸ‘ 49    πŸ” 15    πŸ’¬ 4    πŸ“Œ 0

This is how shit gets done.

07.02.2025 11:27 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Why is Git Autocorrect too fast for Formula One drivers? Why does Git's autocorrect wait 0.1s before executing a mistyped command? Let's dig in.

Why is Git Autocorrect too fast for Formula One drivers to react to?

I dug a bit into DHH's surprise experience of noticing Git wait for only 100ms to autocorrect a command. The answer involves "deciseconds" and Levenshtein distances.

blog.gitbutler.com/why-is-git-a...

13.01.2025 13:28 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Finally, GitHub has attestations. What are those you ask?

"Attestations bind some subject (a named artifact along with its digest) to a SLSA build provenance predicate using the in-toto format."

Finally.

10.01.2025 14:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Can we all agree that a Prius+ is not an β€œXL”, Uber?

05.01.2025 13:19 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

That seems like the innovation we needed. The TI keyboard is the best way to write code, I’ve found. πŸ˜‚

05.01.2025 09:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

I just learned that students today use the TI-84 graphing calculator in the classroom. When I was in high school 30 years ago, I was the first class that used the TI-81 and our teacher was trying to get used to it. But it's fascinating how _little_ this tech has really changed over that time.

04.01.2025 14:25 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0

@scottchacon.com is following 20 prominent accounts