<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: schacon</title><link>https://news.ycombinator.com/user?id=schacon</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 11:44:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=schacon" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by schacon in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>Git is awesome in lots of ways. As a data storage layer and as a transport protocol, it's pretty great. The porcelain was built for a different era and is slow to adapt. Originally, Git was meant to just be these primitives and everyone was supposed to write their own "porcelain" or SCM on top. We're doing that and then some - creating new standards for more metadata, real time communications, built in review, etc. If anything, we're going back to the original point of git and doing what Linus wanted other people to do in the first place - write a good SCM for their workflows on top of the foundation he started.</p>
]]></description><pubDate>Fri, 10 Apr 2026 16:34:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47720585</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=47720585</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47720585</guid></item><item><title><![CDATA[New comment by schacon in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>Ah, I see. You missed the part where that was funny.</p>
]]></description><pubDate>Fri, 10 Apr 2026 14:25:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47718660</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=47718660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47718660</guid></item><item><title><![CDATA[New comment by schacon in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>I would like to take this opportunity to kindly inform you that I wrote that post, as I write all of the blog posts on our blog (and everywhere else I write). You will never see something with my name on it that was written by AI. Thanks.</p>
]]></description><pubDate>Fri, 10 Apr 2026 14:24:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47718653</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=47718653</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47718653</guid></item><item><title><![CDATA[New comment by schacon in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>Actually, it is. We're currently leading a conversation among several players in this space to agree on a metadata standard that helps make attaching, collaborating on and transmitting information like this simple, extensible and scalable.<p>Keep an eye on our blog to see how we're doing this, and how we're doing it in a way that hopefully the entire community joins us in a way where we're not all reinventing the same wheels.</p>
]]></description><pubDate>Fri, 10 Apr 2026 14:15:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47718512</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=47718512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47718512</guid></item><item><title><![CDATA[New comment by schacon in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>I'm trying not to comment on too many of these, but this one is interestingly wrong to me, so why not indeed?<p>GitButler came about many years ago because I have been using Git for almost the full 20 years of it being around and I thought there could be a better way to do the things it's trying to solve for us. I want version control to do more for us, easier, faster and smarter. Git is still pretty dumb. Plus, now, everything in the dev workflow is changing - it's an interesting problem to think about what a _great_ toolset for how we'll all soon be developing software will be.<p>As a _single_ example - agents can't use interactive editors, yet _so many_ of the powerful parts of Git absolutely _require_ it. Agents can't interactively rebase, meaning they can't very effectively squash, amend, reword, reorder, absorb. They can't very easily interactively add. They are middling at best when it comes to stacking branches. Git is designed to send patches over email and agents are not concerned with that.<p>I would love to debate all of the lessons learned about the history of Git, but I was around for all of that. I know why Git was started, I know what it was meant to do, I understand how it's evolved. I still think there are a lot of interesting things that we could have in our change control tooling and Git is not the perfect solution.<p>Nearly everyone in this thread suffers from the same basic local maxima blindness that you do. Git is great, GitHub made it more valuable. But maybe the answer to the papercuts we've constantly been dealing with for decades isn't faster horses. (To, you know, mix metaphors)</p>
]]></description><pubDate>Fri, 10 Apr 2026 14:10:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47718444</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=47718444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47718444</guid></item><item><title><![CDATA[New comment by schacon in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>Just to clarify (and we do say this when you run `but setup`), the `pre-commit` hook is needed because of the way that we manage commits - we allow for multiple parallel applied branches, which Git cannot do. The way we accomplish this is to maintain a hidden 'megamerge' commit (as JJ would say). All Git commands work fine the way we're doing it except 'git commit', which is not aware of our operating model and will commit on top of our megamerge, which is problematic. So we install pre-commit to protect against getting yourself in a poor situation by using both Git and GitButler interchangeably.<p>It's not difficult to "escape" - using `git checkout` will tear everything down properly - that's the only task of the `post-checkout` - to determine that you want to go back to using vanilla git commit tooling and remove our shims.<p>We also don't have a prepare-commit-msg hook - our commit tooling will inject an extra Change-Id header (of the same format and interchangeable with Jujutsu) but that affects nothing that vanilla git cares about.</p>
]]></description><pubDate>Fri, 10 Apr 2026 13:55:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47718227</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=47718227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47718227</guid></item><item><title><![CDATA[New comment by schacon in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>Hey, this is Scott - the guy in the photo who wrote this post. AMA.</p>
]]></description><pubDate>Fri, 10 Apr 2026 13:48:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47718131</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=47718131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47718131</guid></item><item><title><![CDATA[New comment by schacon in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>I'm seriously funny...</p>
]]></description><pubDate>Fri, 10 Apr 2026 11:58:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47716757</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=47716757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47716757</guid></item><item><title><![CDATA[New comment by schacon in "Stacked Diffs with git rebase —onto"]]></title><description><![CDATA[
<p>GitButler handles all of this pretty automatically, if you don't want to deal with the Git gymnastics needed here.<p><a href="https://blog.gitbutler.com/stacked-branches-with-gitbutler" rel="nofollow">https://blog.gitbutler.com/stacked-branches-with-gitbutler</a></p>
]]></description><pubDate>Fri, 05 Dec 2025 11:15:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46159766</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=46159766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46159766</guid></item><item><title><![CDATA[Deep dive into the new Cursor Hooks]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.gitbutler.com/cursor-hooks-deep-dive">https://blog.gitbutler.com/cursor-hooks-deep-dive</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45418648">https://news.ycombinator.com/item?id=45418648</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 29 Sep 2025 20:54:52 +0000</pubDate><link>https://blog.gitbutler.com/cursor-hooks-deep-dive</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=45418648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45418648</guid></item><item><title><![CDATA[Building a Responsive Item Counter in CSS Only]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.gitbutler.com/responsive-item-counter-css">https://blog.gitbutler.com/responsive-item-counter-css</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45346137">https://news.ycombinator.com/item?id=45346137</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 23 Sep 2025 12:33:47 +0000</pubDate><link>https://blog.gitbutler.com/responsive-item-counter-css</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=45346137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45346137</guid></item><item><title><![CDATA[New comment by schacon in "20 years of Git"]]></title><description><![CDATA[
<p>If this is something you're interested in, you may want to try the patch-based review system that we recently launched for GitButler: <a href="https://blog.gitbutler.com/gitbutlers-new-patch-based-code-review/" rel="nofollow">https://blog.gitbutler.com/gitbutlers-new-patch-based-code-r...</a></p>
]]></description><pubDate>Mon, 07 Apr 2025 23:08:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616891</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=43616891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616891</guid></item><item><title><![CDATA[New comment by schacon in "20 years of Git"]]></title><description><![CDATA[
<p>"One particular aspect that often gets left out of this creation myth, especially by the author of Github is that Mercurial had a prominent role." implies to me that Hg had a role in the creation of Git, which is why I was reacting to that.<p>For the deadnaming comment, it wasn't out of disrespect, but when referring to an email chain, it could otherwise be confusing if you're not aware of her transition.<p>I wasn't sponsoring hg-git, I wrote it. I also wrote the original Subversion bridge for GitHub, which was actually recently deprecated.<p><a href="https://github.blog/news-insights/product-news/sunsetting-subversion-support/" rel="nofollow">https://github.blog/news-insights/product-news/sunsetting-su...</a></p>
]]></description><pubDate>Mon, 07 Apr 2025 23:05:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616877</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=43616877</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616877</guid></item><item><title><![CDATA[New comment by schacon in "20 years of Git"]]></title><description><![CDATA[
<p>This is all fairly speculative, but I didn't get the impression that Monotone was a main inspiration for Git. I think BitKeeper was, in that it was a tool that Linus actually liked using. Monotone had the content addressable system, which was clearly an inspiration, but that's the only thing I've seen Linus reference from Monotone. He tried using it and bailed because it was slow, but took the one idea that he found interesting and built a very different thing with that concept as one part of it is how I would interpret the history between these projects.</p>
]]></description><pubDate>Mon, 07 Apr 2025 22:31:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616656</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=43616656</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616656</guid></item><item><title><![CDATA[New comment by schacon in "20 years of Git"]]></title><description><![CDATA[
<p>I'm curious why you think hg had a prominent role in this. I mean, it did pop up at almost exactly the same time for exactly the same reasons (BK, kernel drama) but I don't see evidence of Matt's benchmarks or development affecting the Git design decisions at all.<p>Here's one of the first threads where Matt (Olivia) introduces the project and benchmarks, but it seems like the list finds it unremarkable enough comparatively to not dig into it much:<p><a href="https://lore.kernel.org/git/Pine.LNX.4.58.0504251859550.18901@ppc970.osdl.org/T/#u" rel="nofollow">https://lore.kernel.org/git/Pine.LNX.4.58.0504251859550.1890...</a><p>I agree that the UI is generally better and some decisions where arguably better (changeset evolution, which came much later, is pretty amazing) but I have a hard time agreeing that hg influenced Git in some fundamental way.</p>
]]></description><pubDate>Mon, 07 Apr 2025 22:28:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616639</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=43616639</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616639</guid></item><item><title><![CDATA[New comment by schacon in "20 years of Git"]]></title><description><![CDATA[
<p>Good pull. I was wondering if that was a true statement or not. I am curious if Linus knew about that or made it up independently, or if both came from somewhere else. I really don't know.</p>
]]></description><pubDate>Mon, 07 Apr 2025 21:43:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616273</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=43616273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616273</guid></item><item><title><![CDATA[New comment by schacon in "20 years of Git"]]></title><description><![CDATA[
<p>Ah yes. It was pretty cool that when Peepcode was acquired, Pluralsight asked me what I wanted to do with my royalties there and was fine with me waiving them and just open-sourcing the content.<p>It also is a testament to the backwards compatibility of Git that even after 17 years, most of the contents of that book are still relevant.</p>
]]></description><pubDate>Mon, 07 Apr 2025 21:42:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616264</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=43616264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616264</guid></item><item><title><![CDATA[New comment by schacon in "20 years of Git"]]></title><description><![CDATA[
<p>You can use smudge and clean filters to expand this into something on disk and then remove it again before the hash computation runs.<p>However, I don't think you would want to use the SHA, since that's somewhat meaningless to read. You would probably want to expand ID to `git describe SHA` so it's more like `v1.0.1-4-ga691733dc`, so you can see something more similar to a version number.</p>
]]></description><pubDate>Mon, 07 Apr 2025 21:37:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616219</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=43616219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616219</guid></item><item><title><![CDATA[New comment by schacon in "20 years of Git"]]></title><description><![CDATA[
<p>You can probably setup smudge and clean filters in Git to do keyword expansion in a CVS-like way.</p>
]]></description><pubDate>Mon, 07 Apr 2025 21:34:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616195</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=43616195</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616195</guid></item><item><title><![CDATA[New comment by schacon in "20 years of Git"]]></title><description><![CDATA[
<p>You'll be the first to know when I write it. However, if anything, GitHub sort of killed the mailing list as a generally viable collaboration format outside of very specific use cases, so I'm not sure if I'm the right person to do it justice. However, it is a very cool and unique format that has several benefits that GitHub PR based workflows really lose out on.</p>
]]></description><pubDate>Mon, 07 Apr 2025 21:33:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=43616192</link><dc:creator>schacon</dc:creator><comments>https://news.ycombinator.com/item?id=43616192</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43616192</guid></item></channel></rss>