NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Git at any scale (cursor.com)
nikolay 11 minutes ago [-]
There's nothing Cursor can do that GitHub/Microsoft can't in 2026... And vice versa... after several years of Cursor vibecoding a GitHub clone while catching up with GitHub's new features. Git's performance it's not the issue; it's GitHub Actions, PRs, etc. The moment Cursors steals paid GitHub customers and gets the same workloads, they will start having similar issues! Stealing engineers who couldn't fix this at GitHub won't make much of a difference. GitHub is not just source control; everybody can set up Gitolite and have an amazingly configurable and secure Git setup. I did this 10 years ago, and CODEOWNERS, protected branches, and tags can't do 1% of what I had done before. Cursor is going all over the place as it can't compete with their model. So, this is a defeat, a pivot, not something glorious!
brasic 1 days ago [-]
It’s hard to overstate the reputation of the author of this post. Everything good about GitHub’s internal systems seemed to have his name all over it (I realize that today this statement hits different than a few years ago). Our times at GH didn’t overlap much but hearing the fact that he’s working at cursor increases my estimation of their engineering org by leaps and bounds.
vindex10 50 minutes ago [-]
Came here to share a related fact :)

This solution with WAL and compact resembled the database internals as taught by Martin Kleppmann.

I asked Claude about this observation, and learned that the author (Vicent Martí) wasn't only core Github developer but also worked on Vitess from PlanetScale.

So no surprise these two contexts resulted in the design of Continuity as it is.

https://vitess.io/ - Vitess is a database clustering system for horizontal scaling of MySQL.

bryanlarsen 3 hours ago [-]
Is this enough to counteract the reputation of his new boss, Elon Musk?

<edit>: there is lots of demand for a GitHub alternative due to poor uptime, poorly implemented components (CI), and Microsoft stewardship. Switching, especially at this early stage requires a huge component of trust.

jmuguy 52 minutes ago [-]
Cursor isn't covering itself in glory regardless. The flagship app is getting enshittified at a surprising clip. It constantly pops up and interrupts your work pushing new features, changes your model to whatever the latest Grok is without prompting, has this mystery meat UI that is constantly changing, pushes cloud agents in ways that are definitely designed to trick you. We're actively looking at alternatives, I wouldn't touch anything this company produces from here on out.
uracocksucker20 3 hours ago [-]
[flagged]
ricardojoaoreis 3 hours ago [-]
Did you really create an account for this?
rbtprograms 3 hours ago [-]
its literally elon getting mad and making an account calling people cock suckers
bakies 3 hours ago [-]
* spent tokens on this
figmert 2 hours ago [-]
But OP is the loser for leaving a comment.
throwitaway222 2 hours ago [-]
tired of this
mlnj 1 hours ago [-]
There's a reason you say that with a throwaway account. Even you know it's shameful.
croes 1 hours ago [-]
Just like with climate change, the problems Elon creates don’t go away just because people are reminded of them.

He still pushes his agenda, he still has lots of followers who believe his nonsense

newspaper1 2 hours ago [-]
Well, there's going to be a lot more of it. You can't be an outright ultra-right wing racist and expect that it doesn't cause brand damage. It never made business sense for Musk to act the way he does, but he couldn't help himself. Do not expect people to just be ok with it.
catlover76 33 minutes ago [-]
tired of you
biwills 2 days ago [-]
> What about consensus? Elections? Which server is the primary for a given repository? It also doesn't matter! There's no state and no consensus here. Any server can be the primary. All updates to the write-ahead log are synchronized with an atomic compare-and-swap (CAS) operation on S3, so it's always safe for any instance of a repository to receive a push.

Again reminded of what an amaizing piece of engineering S3 is (99.999999999% - 11 nines of durability) [1]

1: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DataDu...

nojvek 1 days ago [-]
Not just durability. But read after write guarantee on a distributed object store.

How many startups and corporations built on top of S3 semantics?

Snowflake and the big lakehouses are one of them. They use S3 as giant disk in the sky.

wibr 4 hours ago [-]
https://cursor.com/en-US/blog/git-at-any-scale to avoid automatic translations (couldn't find a button to switch)
dgellow 3 hours ago [-]
Thank you so much, what an obnoxious behavior!
kibae 3 hours ago [-]
The language selection is in the footer. Interestingly, the URL for English is the original post without en-US.
tex0 25 minutes ago [-]
Fantastic write up, but I still have doubts. As the author states: Serving git at scale is hard. I can only concur.

I feel like the article is a bit light on the design of the WAL and maintenance operations, but maybe it's me.

Anyway, I'd love to have a friendly chat with the author.

killme2008 2 hours ago [-]
It's time to look back on S3's 20-year history

https://blog.fnil.net/s3-at-twenty/

luke5441 1 hours ago [-]
Took me some thinking to figure out where this design is not optimal.

The first step is to separate the problems. The content addressable object storage and storing the refs. libgit2 has two backends for those already.

Then use appropriate distributed dbs for the two backends. With large scale something like Cassandra for the objects (AP) and FoundationDB (CP) for the refs (or the equivalent Amazon services).

For performance the objects need to be cached locally and requests routed to nodes where the objects are cached locally.

p_l 1 hours ago [-]
Part of the problem is that the API you're supposed to provide externally depends on git packs which you might have to reconstruct on the fly from such a system.
tex0 30 minutes ago [-]
Exactly. I would love to see that design work, but it doesn't for any realistic workload.
eatonphil 5 hours ago [-]
> The "fan-out" is synchronized with a classic consensus algorithm called 3PC (three-phase commit) so that a push is only accepted if a majority of the nodes acknowledge it.

Doesn't 3PC require all nodes to agree, not just a majority?

dataplumb3r 1 hours ago [-]
I would think so - outside this sentence the author indicates they're talking about consensus across all members.

IE - the interactive diagram and note about latency being bounded by the slowest replica

wrs 4 hours ago [-]
There’s a trend of doing impressive things by pushing many of the hard problems into S3 and assuming S3 “just works”, then not bothering to explain how S3 works. I guess we do the same thing all the time with other miraculous solutions to hard problems, like assuming that superscalar out-of-order processors “just work”, but in cases like this it makes for an unsatisfying explanation. Especially because S3 is a proprietary product, not an algorithm.
anthonypasq 53 minutes ago [-]
at this point, s3 just means object storage and doesnt mean it actually has to be hosted on aws. theres plenty of other companies that provide s3 compatible storage apis.
wrs 20 minutes ago [-]
APIs, sure, but do they provide the semi-magical consistency, atomicity, durability, and latency guarantees that this depends on?
ovaistariq 6 minutes ago [-]
Yes a good object storage service provider would. It all depends on what you are optimizing for. If you are only optimizing for cost then there are several cheap options that probably don't make sense for hot or warm storage. But if you care about availability, consistency, and latency guarantees then there are different service providers available.
gritzko 4 hours ago [-]
The key part: they decided to use the unchanged git codebase as their building block. Likely assuming that the people who wrote the Linux kernel probably knew what they were doing. That explains some features that look bizarre from the generic distributed-database perspective. I think the author has had this argument many times, because he reiterates it several times in the post. The rest follows from it.
dataplumb3r 1 hours ago [-]
> The productivity cost of five minutes of downtime in your CI system is hard to quantify in dollars, but it is, by any measure, a humongous amount.

Not sure the last month GH had fewer than five minutes of downtime - but I think it's been a while

dewey 4 hours ago [-]
That was a very well written and interesting article. I really enjoyed it. Some good background for people telling GitHub to "just scale".
dgellow 3 hours ago [-]
GitHub issues are mostly with PRs, CI, etc, not with git
speed_spread 59 minutes ago [-]
Reading this, I can't come to a conclusion other than "git rapidly starts sucking balls for use cases outside of Linux development". Github started with ze_current_fastness but then ended up recurrently smashing into walls because of it.

They should have just failed to scale git and leave place for the less idiosyncratic bazaar or mercurial to take the lead. These were slower, but would probably have scaled much better in the long term.

Github's core innovation was re-centralizing a decentralized SCM (as per article) by giving it nice web UI and features such as PRs. Oh and also free code hosting space. None of which relied on git's peculiarities.

ksk23 3 hours ago [-]
I don’t see a button to switch to English and the German text is a pain to read, comparable to Reddit auto translate..
AntonyGarand 3 hours ago [-]
The button is apparently in the footer: Another comment earlier has the english-only link: https://news.ycombinator.com/item?id=49376960
warmwaffles 1 hours ago [-]
Very cool write up. But I do have to wonder, is Git the right solution for version control given where we are heading? The commands are all muscle memory for me now at this point, but all the projects I've been working on lately have just all moved to trunk based development, rebasing, and squashing merging feature branches onto main.

I've been working on another project where I have binary files checked in, assets that move or are moved and then changed that git "loses track of" due to the significant change. This just may be me doing silly things like moving a file and then editing it and then committing it and git thinks I deleted it and created a new file.

sidcool 3 hours ago [-]
WAL on S3 is the new normal.
aghuang 33 minutes ago [-]
Interesting, wonder how Cursor will scale with Git with this approach.
ChrisArchitect 2 days ago [-]
Related:

Cursor Origin Code Hosting

https://news.ycombinator.com/item?id=49334209

vegadw 2 days ago [-]
Remember, don't put large objects in cnt, it makes it a real pain later.
esafak 5 hours ago [-]
cnt?
1qwdq 4 hours ago [-]
Continuity system of Cursor. Brilliant name, just like the octo"cat"! Elon will approve.
tonymet 2 hours ago [-]
how does git lock the repo on extreme concurrency? let's say 1000 devs writing to the same repository? eventually you'll have saturation of the resource locking everyone out.

When I've worked at big companies they had bespoke SCM that resolved this. But i'm curious about mid size teams that are big enough to overwhelm git but not so that they can rewrite it.

aeyes 2 hours ago [-]
If those 1000 devs write to different branches then you only take a light lock on the branch, usually that is not the problem.

The problems start when there is a lot of changes on one branch and usually the first band-aid is to put a commit queue in place. The few very big companies that need even more than that probably aren't going to put their code on a new git hosting provider tomorrow.

tonymet 1 hours ago [-]
that sounds like a practical solution once you reach that size. yeah you're right i think only the refs are locked, the rest of the objects can all be submitted concurrently, so it would be high contention refs/branches that would be a pain point.
newspaper1 4 hours ago [-]
It doesn't matter how many technical blog posts they put out, I will still never host my code with Elon Musk.
sanbor 13 minutes ago [-]
I missed the news about SpaceX acquiring Cursor for 60 billion. Good to know.
mempko 56 minutes ago [-]
Same. Sometimes you have to live with inconvenience to keep a moral stand. Those down-voting don't understand why any sacrifice of convenience or tech is worth it.
newspaper1 51 minutes ago [-]
I agree, although I don't think their offering is even convenient. I also don't use Cursor (I think most people have moved on to Claude Code/Codex), so also not helpful from that point of view. Regardless, not only do I find it morally wrong to give Musk money, I think it's a bad business idea. He can't be trusted and your code is at risk on his platform.

> Those down-voting don't understand why any sacrifice of convenience or tech is worth it.

FWIW my comment was actually highly upvoted but it looks like X employees and/or Musk fans showed up and downvoted all criticism in this thread.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 20:10:36 GMT+0000 (Coordinated Universal Time) with Vercel.