Rendered at 22:40:58 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
teiferer 16 hours ago [-]
2/3 down the article I gave up. What are you trying to tell me? What is this revolution about? How are agent things fundamentally different and how are they being solved? What is this "second coming"?
Also, why "second"? Was git the first? But then what about all the other things before it? CVS was huge before, for better or worse.
vanderZwan 15 hours ago [-]
The author has a severe case of being oblivious to the fact that not everyone knows what they know, or views the world the way they do. As shown for example by their assertion that "we all stopped coding manually around December 2025", as if AI critics don't exist.
As a result you have to look at what they share about themselves to infer where they're going with things, because they never explicitly state it. All traits amplified for the worse when people use chat bots too much, in my experience.
Scrolling to the end, they write:
> In 2005 a dozen version control systems fought to replace Bitkeeper, and the winner ended up ruling software development for two decades. Nobody in that race predicted that the decisive factor would be a hosting site with a social network on top.
They had a VCM start-up around their own technology, then Git displaced all other technologies, and then Github ate everyone's lunch. So the first revolution not-so-coincidentally overlaps with the time they ran a SCM startup, and they ignore anything that happened before they entered the space. Funny that.
So the implicit context is the business case and programmer culture around VCM systems.
Meaning the second revolution is anything that challenges Git and Github.
They also keep bringing up gigantic mono-repos and how Git can't handle the scale at which AI increases the amount of code bloat or commits.
So what I read between the lines is that they believe that there are enough people who don't want to actually address the automated hyperscaled Wirth's Law in the room, and are willing to pay services and technology to adapt around it instead.
That's their new business case that will power the second "revolution".
Which sounds horrifying to me, and the worst part is that I can actually see it happening if this AI bubble doesn't pop fast enough.
collabs 15 hours ago [-]
> They also keep bringing up gigantic mono-repos and how Git can't handle the scale at which AI increases the amount of code bloat or commits.
I don't understand why everyone keeps saying "AI" can write code and somehow the rest of the world can't keep up when we haven't even solved a more basic problem that "AI" itself can't keep up with the code it writes. Claude on the web has to search and scan to find the relevant parts and for whatever reason there is a size limit to how much context I can give to claude and it is laughably low. Shouldn't we be trying to see if it can keep up with itself first? Also not all project files fit in the "context" so once you are in search mode anyway, why is the limit so arbitrarily small? Why not allow at least about 1GiB of plain text? Claude tells me 1 GiB is 250 million tokens and it is too much for current capacity but I thought the whole point of project files was not all of it is in the context window or whatever. It says it is in search mode anyway... So only search for the relevant bit and put only that in the context. You can limit your search to a particular submodule or something but still have broader context where required
skydhash 14 hours ago [-]
>> > They also keep bringing up gigantic mono-repos and how Git can't handle the scale at which AI increases the amount of code bloat or commits.
I also doubt very much that the average monorepo is bigger than the linux kernel. While the latter is a single software as things go, it contains quasi independent subsystems. And those repos don't usually have a merge flow that is as smooth as the Linux kernel. If you have chaotic process, then the result won't be very good and it's not git's fault.
rhdunn 11 hours ago [-]
I'm not an AI critic (I use it for autocompletions and asking some questions) but still write my own code.
I'm not sold on the agentic workflows that AI labs are pushing and haven't yet figured out if/when/how to integrate it into my workflow.
There are two general things I'm weary of with agentic workflows compared to the chat-based workflows:
1. the agentic workflows are much more inclined to go and do the thing rather than involve you in the loop -- e.g. if you are trying to design/plan something;
2. the agents are happy to go and run any command -- you can get them to prompt to confirm the action, but they could easily do something like wipe your home directory, install a random package, or something else.
Supermancho 10 hours ago [-]
> "we all stopped coding manually around December 2025", as if AI critics don't exist.
It was obviously a generalization. The number of AI critics (which eschew AI for coding) are a minority. I would say tiny minority at this point.
gritzko 14 hours ago [-]
> Wirth's law is an adage on computer performance which states that software is getting slower more rapidly than hardware is becoming faster.
So, datacenters will fix that.
vanderZwan 13 hours ago [-]
Is this an ironic "tell me you don't learn from history without telling me you don't learn from history" joke?
beaker52 16 hours ago [-]
Same. I had no idea if the article was for me and what I was going to get out of it, so I just gave up.
gritzko 14 hours ago [-]
I read it yesterday and had a discussion on Git Discord. The author believes people will slop Google-scale repos and Google-type SCM is needed now.
Some say a USB-C cable has more computing power than the Apollo program, so maybe.
Banks, airlines, power infra, and other high-stakes customers got computerized in the 60s and 70s. IBM still holds a chunk of that market. Microsoft and Google are not going anywhere. So I guess all that slop will serve something less critical than all of the above.
imp0cat 14 hours ago [-]
USB-C charger, not cable.
gritzko 13 hours ago [-]
My Claude says that a decent cable has an ARM Cortex-M0 running at tens of MHz, while the Apollo Guidance Computer was 1MHz. I am afraid to think what a charger packs.
colesantiago 16 hours ago [-]
I gave up after 5 seconds.
Blog authors need a straight up TL;DR because I ain't reading all of that.
teiferer 16 hours ago [-]
Well, I like a good story, there is big potential in this long form stuff that's more than a tweet or two. There can be a great reward when the crux is revealed after building a foundation and then looking at it from different angles. But if that crux never comes then it's really just leaving a feeling of disappointment and waste of time that I invested into reading all this. And that does a disservice to everybody else writing blog posts.
I think that's part of why tiktok and yt shorts really took off. It's so short that if you realize it's bad and move on then your wasted investment in terms of time and energy was negligible. (Times 200 that's a different story but signal-to-noise is still high enough that people accept this.)
thorum 15 hours ago [-]
FWIW, I flagged and downvoted both of your comments. The article is a very interesting overview of the space and recent developments, and having to scroll past multiple paragraphs about your low attention span and reading difficulties to get to some actual technical discussion was quite frustrating!
teiferer 15 hours ago [-]
Is flagging and downvoting really the right tool to express disagreement of opinion here? I disagree very much with what you just wrote, but I would not flag it.
For the next time, instead of scrolling, you can just press the little "-" next to a post which collapses it and its whole subtree. Out of sight.
Besides, I explicitly stated that I read 2/3 of the article. How is that "low attention span"? And I didn't just bash it, I formulated what I find missing in it. Do you have answers to those questions? And how does asking such questions indicate "reading difficulties"?
It's quite fascinating that if my comment is so appaling to you, why you'd take the time to respond. I thank you for that though.
CalRobert 15 hours ago [-]
There is no reason to flag this.
testdelacc1 16 hours ago [-]
This is my dilemma. Do I feel like giving up because it isn’t written well or because my attention span is shot? Hard to tell.
rippy56 16 hours ago [-]
It isn't written well.
soltanov 15 hours ago [-]
fully agree. cant even started to read this. just skipped directly.
hanspagel 15 hours ago [-]
You should try TikTok, I bet you’ll like it.
bolangi 17 hours ago [-]
Dreaming of "virtual filesystems everywhere". Hmm, sorta sounds like Plan 9.
Great to have an inside view of wrangling technologies for these behemoth data sets.
black_knight 17 hours ago [-]
Plan 9 had such a powerful model for networked systems using these virtual file systems, it sounds like a fairytale!
Oh, want to use that other machine as a gateway? Just mount its /net.
Oh, want to route audio through another machine? Just mount their soundcard into your /dev.
Oh, your machine is too puny to do the task at hand? Just run “cpu thebigmachine” which transplanted your entire environment over there (all the virtual file systems) so that you can continue doing what you were doing, but using that machine’s CPU and memory.
This solved the problem of having to transplant your setup to the remote machine, which you have with modern SSH. If you wanted a different environment you instead created it locally. Each process har its own virtual file tree with mounts.
There were cool things at the local level too: All the programs would expose virtual file systems to interact with. Text editor? Each window had a directory with files containing window content, current selection, even the UI “tagline” with commands. This meant you could write scripts for your programs in any language, because you just had to interact with files.
A modern take on plan 9 is definitely on my Christmas wishlist!
mpweiher 16 hours ago [-]
Have a look at Objective-Smalltalk[1][2], with polymorphic identifiers[3] (all identifiers are URIs), storage combinators[4] (virtual filesystems on steroids), and polymorphic write streams[5] (streams everywhere).
Objective-Smalltalk basically provides the sorts of things you write about locally at the language level. You could also move specific instances behind an operating system boundary.
Could you explain the connection you see a bit more?
Part of the appeal of the Plan 9 approach was that you could use any program in your distributed environment, written in any language, because the abstraction layer was the file system – the lingua Franca of IO.
duttish 16 hours ago [-]
Oh wow, I didn't know it had things like that.
Especially the CPU functionality is really interesting. I'm pondering similar problems and the current solutions just aren't good enough.
akshitgaur2005 16 hours ago [-]
Redox seems to take inspiration from it and has all things exposed as schemes so /home/user is actually /scheme/file/home/user, etc.
nosioptar 8 hours ago [-]
I'd love a Plan9 with a keyboard driven UI.
ithkuil 16 hours ago [-]
I wonder if we're doing virtual filesystems wrong.
There is a good reason why traditionally filesystem access was mediated by the OS layer, but there are many use cases where you just want to give processes a different view of what they already can access and it could be done as a library in the same userspace process.
However, for that to work across all the processes in a session we'd need a standard way to install such a hook in all peocesses and that's achievable to some extent using LD preload but falls apart quite rapidly with statically built binaries or different libcs
mpweiher 16 hours ago [-]
I think there is a good case to be made for these things not to be mediated by the operating system by default.
In Objective-Smalltalk[1], I can access a file as follows:
hello ← file:hello-world.txt
This is structurally the same way I would access a local variable, environment variable, database, remote http server etc.
Sending -asScheme to a reference is just a shorthand that actually constructs a composition[2] of a "path relative" store with the underlying store of the original reference. So the following two are identical:
This composition mechanism can be carried further with post-processing, so for example an img-scheme can be constructed by composing an image-decoder store with the previous store
Git is incredibly mediocre. But it's all most people know. It's a version control tool that can't handle binary files; and no GitLFS does not count. The end result is a version control tool that is unable to actually version control all the things you need for a project.
This results in a Meta VCS layer where a ton of critical assets are stored in Docker files and other misery. If you want to re-compile a project for 2015 then good luck and god speed.
Personally I think full toolchains belong in source control. And that you should be able to clone / materialize a repro, yank your network cable, and build. This is how big tech monorepos work. It is TheWay imho.
ahartmetz 16 hours ago [-]
IMO screw that. It's maybe a good way to build software in exactly one environment for exactly one environment, deployment to a corporate server fleet.
Consider a Linux desktop distro: if every little binary (out of order of magnitude 1000) acted like the center of the universe with gigabytes of build environment and "opinions" galore instead of portability, builds would take much more resources than they already do and parts wouldn't necessarily work together.
forrestthewoods 32 minutes ago [-]
Deduping files is easy.
Kwpolska 16 hours ago [-]
Visual Studio and Xcode take up tens of gigabytes, are updated often, and include system components. Storing them in VCS is impossible, and would be a waste of disk space.
forrestthewoods 33 minutes ago [-]
Literally not impossible. And also not tens of gigabytes.
maccard 16 hours ago [-]
Disagree. They’re stored _somewhwre_ anyway, and they may as well be versioned.
Putting toolchains in perforce is how it works for lots of C++ shops, the setup instructions are “sync and hit build”, whether there’s a toolchain upgrade required or not
dist-epoch 16 hours ago [-]
You could consider ZFS a VCS, and it can easily store multiple versions (snapshots) of Visual Studio.
It's not impossible, there just isn't that much demand for it.
bob1029 16 hours ago [-]
It sounds like the author went through a lot of pain to avoid using git+lfs or perforce.
I use git+lfs for unity projects and it works out great. If I had a real studio I'd buy some perforce seats.
Reinventing the wheel like this is quite exhausting. There are options that are proven to work. AI authorship does not fundamentally violate the idea of some thing owning a specific commit. We don't need new schemas in our source control system. "Provenance" is a bullshit word used to make the AI sound like it's some kind of oracular source with superhuman capabilities.
MindSpunk 14 hours ago [-]
From my experience Git LFS is extremely brittle and will break your local check out if you so much as breath on it wrong. Perforce is an expensive solution to the problems of LFS, and I've yet to find a workflow as powerful as my git workflows for managing code.
I don't really see what the article is talking about as the future, but if P4 or Git LFS is the best we can do as a species then we're doomed. All VCS options suck for one reason or another, I hope we don't stop trying to make something better. If only to save me from perforce.
bob1029 8 hours ago [-]
Git and P4 are not meant to be directly competitive here.
Git is for teams that are distributed across space & time. P4 is significantly better at centralized teams who work in the same physical office.
I am curious what in LFS is breaking for you.
vlfig 14 hours ago [-]
Love the enthusiasm but I don't buy the two macro tailwinds he's counting on: ever larger monorepos & more centralisation.
What you version together you build and release together, and there are architectural tensions pushing that size down. E.g. dependency indirection and change frequency. Mileage will surely vary by domain, but the idea that the "future is monorepo because agents" doesn't track with me.
The centralisation aspect has less to do with connectedness and more with topology, I'd say. Here, the agentic ways might actually push towards more hierarchical and distributed topologies than the centralised hub-and-spoke.
pjmlp 15 hours ago [-]
What second coming? If I had the option I would still be using either Mercurial or SVN.
In fact, the way I use Git is hardly any different, I have no interest in getting a black belt in git magic.
snovymgodym 7 hours ago [-]
I think this article conflates GitHub and Git a few times, though the author definitely knows better.
For better or for worse, I don't think Git is going anywhere. A lot of the recent developments in source control amount to providing a better user experience for git repos.
We might well see companies move away from GitHub as source of truth in favor of alternate forges with better SLAs or self-hosting, but dethroning git itself at this point feels very unlikely.
That being said, Git has two big weaknesses: non-text files and handling massive repositories. This is why you see continued use of centralized version control systems (e.g. Perforce, ClearCase) at organizations that need these things. Git LFS tries to address large non-text files, but in my experience teams tend to prefer VCS systems that handle this natively.
At a few big tech companies that decided to use huge monorepos 20 years ago, they've since hand-rolled custom non-git version control systems tailored to their unique scale. These systems usually work by combining a centralized version control server (similar to SVN or Perforce) with a virtual file system that selectively populates code paths based on the current checkout.
But the vast majority of orgs don't need massive monorepos or large amounts of non-text files checked into their repo.
rjsw 16 hours ago [-]
People complained about having to use ClearCase back then, it wasn't just the price that was wrong with it.
monster_truck 16 hours ago [-]
I helped swap a mess of ClearCase & Subversion over to git (early 2010s). What a fucking cursed piece of software!
Will admit it got exactly one thing right, which could absolutely justify everything else (including the price) for a long time: Software Bill of Materials, which is non negotiable in a lot of more serious/heavily regulated development contexts
That still didn't excuse the hacked together pile of ruby scripts our QA lead maintained, each one designed to unfuck a specific weird thing clearcase did. Once everything was on git, they just wrote another script that grabbed a bunch of tags from git and shoved them into clearcase to spit out the bom.
theandrewbailey 12 hours ago [-]
My first programming job was an internal line of business application at a mortgage vending company. There was an uncomfortable amount of time wasted waiting for someone to do something in ClearCase so I could commit. I've turned down interviews solely on the basis that I would be using that dumpster fire of lost productivity and UX from hell.
bitwize 16 hours ago [-]
> Software Bill of Materials
Yet another thing that came from PRIDE, despite that PRIDE itself is little known in today's software industry.
heisenbit 14 hours ago [-]
The author praises the enterprise version vs. the more simpler one. Having had the pleasure coordinating one clearcase site in a very large distributed setup with significant replication traffic and windows and unix clients: It was an unstable mess.
mrkeen 15 hours ago [-]
> If only 2 years ago somebody said GitHub would be no longer relevant soon, nobody would believe them. GitHub was the undisputed leader in repository hosting [..]
> GitHub has done too many great things over the years, so I hope it remains, but there is obviously an earthquake going on.
Is the 'earthquake' referring to the frequent outages over the last couple of years, and if so are those outages because Microsoft can't keep up with the demand?
It's closer to 'too relevant' than it is to 'no longer relevant'.
foreigner 15 hours ago [-]
The author mentions it briefly, but I'd like to see more exploration of what we can do differently now that we're all online all the time. I think that could potentially enable a Git-level revolution in the way we do things, similar to the way unlimited disk space did for Git.
jillesvangurp 16 hours ago [-]
I half agree here. Now that the primary usage of Git is increasingly centered on providing auditable and revertible history for organizations that use a mix of AI (mostly) and people to do stuff with it, the requirements are going to shift away from being user friendly towards just being fit for purpose and efficient.
Git is so far good enough for this. It's not particularly user friendly. But that's not a problem for AI agents. What is a problem is that GitHub is a shared resource that is bottle necked on massively increased usage. That's nice if you are sharing code with other people but it becomes a bottleneck otherwise with a clear solution in the form of maybe using faster and compatible (or completely different) alternatives that do things faster/better.
If you sit back and watch what agents do with Git, it involves a lot of agents going through the moves of creating lots of pull requests, waiting for whatever CI systems to kick in, dealing with failures, etc. All that takes a lot of time and tokens and it's designed to compensate for human failures to properly follow processes. So, at least some of that is kind of becoming redundant. With AI we can compensate with more complicated processes instead.
There's definitely some optimization potential lurking there. If you have tens of thousands of agents working on a thing, it might be more efficient to share the burden of integration testing instead of each agent trying to do this independently and testing each micro change in isolation. Also you could question the logic of needing some centralized hub to dump and integrate code. Git is decentralized by design. GitHub is nice as a backup strategy but there are probably cheaper or different ways to do QA and integration with agents. As the development process changes and adapts to all this, the role of Git and Github also needs to be rethought.
As for the rest of the article, it seems a bit too people centric. Virtual file systems are cool. But do AI agents really need them?
imtringued 16 hours ago [-]
AI makes running a deterministic workflow after a code change useless, because unlike humans, agents are not fallible, got it.
cynicalsecurity 16 hours ago [-]
Not worth reading.
1over137 14 hours ago [-]
“and a sudden urge to replace GitHub.” Says someone making a blog post on github…
asgeirn 14 hours ago [-]
TLDR for those who gave up reading:
The distributed repos and "commit-then-push" metaphor might be due for a replacement since we're always online anyways and repos grow larger and larger. Perhaps using VFS where all files are always instantly available with copy-on-write semantics.
There are several players working on systems that work on thousands of commits per second scale, some based on Git and others not.
gigatexal 17 hours ago [-]
Funny this is hosted on GitHub pages
blahblaher 13 hours ago [-]
what everyone wants is the code in those repos to train their AI, or train someone else's AI
IshKebab 16 hours ago [-]
> While we all stopped coding manually around December 2025
Come on at least say "many people". There are plenty of people still coding by hand.
bargainbin 16 hours ago [-]
I can accept the authors bias, but all credibility was gone when I read “AccuRev was a fantastic system”. AccuRevs UX was akin to putting your face next to a farting anus and breathing deeply.
Honestly felt like I was missing some sort of satirical masterpiece as the author gleefully declared all the up and coming projects that are going to scatter open source projects to the four corners of the Earth.
Maybe they’ve been so locked into version control tooling as a career they’ve missed the bigger picture, but version control before git ubiquity sucked. Not saying Git is perfect but come on, are our memories so short?
not-so-darkstar 10 hours ago [-]
why suddenly all websites look the same?
raegis 16 hours ago [-]
Now that the revolution has apparently started, does anyone know of a version control system which uses encrypted storage? (I'm not concerned about performance, for I will use it for small projects only.)
teiferer 16 hours ago [-]
Git on an encrypted volume?
shevy-java 17 hours ago [-]
> GitHub is still gigantic in both repos and minds, and its impact in the world of software development and collaboration in general has been enormous, and most likely it will continue to be.
Well - Microsoft worsened GitHub in the last few months with regards to reliability. The next corporate slayer move is to worsen it feature wise. GitHub will indeed most likely remain strong, but the outer shell has some cracks and that means people will be more eager to look for alternatives. It is also a problem that Microsoft has a say in open source projects via GitHub - I never liked that, and many others did not like that either, even more so with Trump acting in a political and ideological manner with his TechBros (who all have nothing to do with Epstein ... right? because what if some of them do ...).
alphaentity 17 hours ago [-]
[flagged]
alansaber 14 hours ago [-]
TL;DR better scale and concurrency. But really, just for for human-assisted AI swarms? I guess this is a cool concept if you think everyone will be handling 100+ agent swarms regularly?
gmueckl 16 hours ago [-]
It's great to see some moves to break up this great calcification around git. Gut greatest contribution to version control was stagnation. The space was evolving with great fresh ideas before git became a quasi-religion among the early adopters because Linus made it in a day and therefore it must be great or something. I'm exaggerating somewhat, but the zeal of some people back then was next level annoying.
Beyond that, git has a great deal of shortcomings, some obvious, some subtle. It was a regression against SVN in some ways and inferior to Mercurial in others. But the strengths of SCN and Mercurial are again vastly different. There is a reason SVN isn't dead.
My biggest gripe with the open source VCSes is that in the last 20 years, no meaningful evolution happened in the established tools, especially around any weaknesses. Commercial systems like Plastic and Perforce as well as proprietary solutions like piper/jujutsu and sapling show that the tools can still improve drastically. I'm excited for a future where we get better open tools for the masses.
dxdm 15 hours ago [-]
I don't think jujutsu is proprietary (unless you want to redefine that term). Source is freely available, and it uses Apache License 2.0.
While you're right about the disadvantages of git, pretending that it became ubiquitous because it "became a quasi-religion because Linus made it in a day" is selling short its advantages. If you think about it for even just a little bit, it should be obvious what a simplistic statement that it. Also, git was not the stagnation you make it out to be. Even with its warts, it was a breath of fresh air, not unlike jujutsu is now a breath of fresh air vs git.
I remember working with SVN, and all things considered, git was a vast net improvement. Git took a lot of pain away. It made working with a versioned code base faster and simpler, to the point of enabling much better collaborative software development. There's a reason we got GitHub and not SVNhub. And GitHub was what helped git become so dominant.
Would it have been better if Mercurial had beat out git in the propularity contest? Possibly? There's trade-offs between the two, but Mercurial's easier interface counts for a lot. But if it had won, I'm sure we'd be griping about its shortcomings by now.
So yeah, I'm also happy to see some movement around the ergonomics of version control, but I don't understand the need to disparage the tools that got us where we are. It just seems that you're more bitter than happy, and like you're letting that bitterness cloud your judgment.
gmueckl 13 hours ago [-]
The combination jujutsu/piper is proprietary. As I understand it, sapling as released is also not the entire internal system used at Meta.
Git was an improvement over SVN in some aspects, but a monumental regression in others. There are no two ways around that.
Mercurial is better than git in a bunch of ways. It is much more usable because it has way fewer footguns. But it has some of the same shortcomings as git when compared to SVN. I won't call it perfect.
The reason we didn't get svnhub is that some git fanboy nabbed the domain and essentially said "you shall not have it". Joking aside, there was Sourceforge with working SVN support. But I would say that Sourceforge lost market share for a lot of reasons, not all of them technical. Wrapping Windows downloads in adware installers was only one of those many crazy unforced errors.
Am I bitter? Maybe, because I have to use tools that could be so much better. I've experienced better and every time I am forced back to git, it feels a bit painful because I know what we could have instead. If am bitter, it is because of my experience with a wide range of tools.
dxdm 11 hours ago [-]
Well, then I'm sorry. Your issue seems not so much that tools have shortcomings, but rather, that you seem to focus on these shortcomings so much that everything looks like crap. Maybe not in general, but at least in relation to VCSes, it sure seems like you're wearing some brown-tinted glasses, so to speak.
As a point in case, it's certainly interesting to see you completely disregard jujutsu because it happens to also work (optionally!) with a proprietary backend, when its most useful feature is that it makes working with git night-and-day better, nothing proprietary required. This thing could be a ray of light for you, but for some curious reason, you seem to go out of your way to ignore it.
I mean, it's definitely possible that you think to this day that SVN was the bee's knees and its demise in favor of git or mercurial made us all poorer, but that's certainly a rare perspective. In that context, I'm also finding it hard to reconcile your initial statement around the calcification in VCS land, and now it sounds like you would have preferred to stick with SVN instead.
I'm sure you can give me a rationale for it all, but I wonder how much of it will be just picking rotten (or declared-rotten) cherries out of an otherwise tasty pile. If you stack up the present against a rosy-tinted version of the past and some inexistent pie-in-the-sky, it's no surprise it comes up wanting; but that's just a way to make yourself unhappy, really.
gmueckl 5 hours ago [-]
What's wrong with stating my opinion when it's relevant to the topic?
I feel like you are somehow irritated by what I said. Are you personally invested in this discussion somehow?
You have a point in calling me out on jujutsu. I haven't spent enough time looking into it because I have been busy with lots of other things. And I haven't seen any forge-like tooling around it, which further reduced this in my personal priorities. I also got the impression that jujutsu by itself is less scalable than the proprietary jujutsu/piper combo.
The other VCS that I should look into more is Lore. But again, time has been a limiting factor for the past year or so.
You know the really funny thing? I talked to many people with similar skills and experiences as mine and we all essentially have very similar issues with the established open source VCSes.
I had a list of missing features here and it's long and it's boring and I deleted it because it's the kind of stuff that tedious to litigate and what's the point? I'm not here to make anyone switch to something else. I really just hope that we can move past git-as-default into a better era. That's all.
dxdm 4 hours ago [-]
I don't want to stop you from providing your opinion, and looking back, I shouldn't have questioned it the way I did.
I didn't consider, after my own experience switching from the time of CVS and then SVN to git, with the substantial liberation of workflow that it brought, that somebody would not have that experience, but maybe even an opposite one instead. To be honest, I still find that hard to imagine. That's silly of me, but here we are. I apologize.
(Edit: I do want to add that I also reacted to the hyperbole in your previous comments in this thread, which honestly did not help your opinion to come across as particularly well-considered, so that colored my impression of your position and my response to it.)
> I really just hope that we can move past git-as-default into a better era. That's all.
Than I can only recommend to give jujutsu a try, with its git backend, as sacrilegious as it might sound to you. It offers a much saner and more consistent approach to version control, and with with its abstraction over different possible backends, it offers a way out without having to overcome the considerable problem of having to replace git _first_. A better backed can come later.
Depending on what exactly your issues with git are, you might like it, and it could allow you to have a small part in moving past git right now.
I'm usually not one to fall for, or advocate for new-ish tooling, but jj is one of the few that convinced me. I started using it exclusively with existing git repos; colleagues are still using git with the same repos and are none the wiser. I haven't looked back.
But that depends on your list of missing features, I suppose. If they don't match, I'd be curious what they are and why they might not have been picked up.
Also, why "second"? Was git the first? But then what about all the other things before it? CVS was huge before, for better or worse.
As a result you have to look at what they share about themselves to infer where they're going with things, because they never explicitly state it. All traits amplified for the worse when people use chat bots too much, in my experience.
Scrolling to the end, they write:
> In 2005 a dozen version control systems fought to replace Bitkeeper, and the winner ended up ruling software development for two decades. Nobody in that race predicted that the decisive factor would be a hosting site with a social network on top.
They had a VCM start-up around their own technology, then Git displaced all other technologies, and then Github ate everyone's lunch. So the first revolution not-so-coincidentally overlaps with the time they ran a SCM startup, and they ignore anything that happened before they entered the space. Funny that.
So the implicit context is the business case and programmer culture around VCM systems.
Meaning the second revolution is anything that challenges Git and Github.
They also keep bringing up gigantic mono-repos and how Git can't handle the scale at which AI increases the amount of code bloat or commits.
So what I read between the lines is that they believe that there are enough people who don't want to actually address the automated hyperscaled Wirth's Law in the room, and are willing to pay services and technology to adapt around it instead.
That's their new business case that will power the second "revolution".
Which sounds horrifying to me, and the worst part is that I can actually see it happening if this AI bubble doesn't pop fast enough.
I don't understand why everyone keeps saying "AI" can write code and somehow the rest of the world can't keep up when we haven't even solved a more basic problem that "AI" itself can't keep up with the code it writes. Claude on the web has to search and scan to find the relevant parts and for whatever reason there is a size limit to how much context I can give to claude and it is laughably low. Shouldn't we be trying to see if it can keep up with itself first? Also not all project files fit in the "context" so once you are in search mode anyway, why is the limit so arbitrarily small? Why not allow at least about 1GiB of plain text? Claude tells me 1 GiB is 250 million tokens and it is too much for current capacity but I thought the whole point of project files was not all of it is in the context window or whatever. It says it is in search mode anyway... So only search for the relevant bit and put only that in the context. You can limit your search to a particular submodule or something but still have broader context where required
I also doubt very much that the average monorepo is bigger than the linux kernel. While the latter is a single software as things go, it contains quasi independent subsystems. And those repos don't usually have a merge flow that is as smooth as the Linux kernel. If you have chaotic process, then the result won't be very good and it's not git's fault.
I'm not sold on the agentic workflows that AI labs are pushing and haven't yet figured out if/when/how to integrate it into my workflow.
There are two general things I'm weary of with agentic workflows compared to the chat-based workflows:
1. the agentic workflows are much more inclined to go and do the thing rather than involve you in the loop -- e.g. if you are trying to design/plan something;
2. the agents are happy to go and run any command -- you can get them to prompt to confirm the action, but they could easily do something like wipe your home directory, install a random package, or something else.
It was obviously a generalization. The number of AI critics (which eschew AI for coding) are a minority. I would say tiny minority at this point.
So, datacenters will fix that.
Banks, airlines, power infra, and other high-stakes customers got computerized in the 60s and 70s. IBM still holds a chunk of that market. Microsoft and Google are not going anywhere. So I guess all that slop will serve something less critical than all of the above.
Blog authors need a straight up TL;DR because I ain't reading all of that.
I think that's part of why tiktok and yt shorts really took off. It's so short that if you realize it's bad and move on then your wasted investment in terms of time and energy was negligible. (Times 200 that's a different story but signal-to-noise is still high enough that people accept this.)
For the next time, instead of scrolling, you can just press the little "-" next to a post which collapses it and its whole subtree. Out of sight.
Besides, I explicitly stated that I read 2/3 of the article. How is that "low attention span"? And I didn't just bash it, I formulated what I find missing in it. Do you have answers to those questions? And how does asking such questions indicate "reading difficulties"?
It's quite fascinating that if my comment is so appaling to you, why you'd take the time to respond. I thank you for that though.
Great to have an inside view of wrangling technologies for these behemoth data sets.
Oh, want to use that other machine as a gateway? Just mount its /net.
Oh, want to route audio through another machine? Just mount their soundcard into your /dev.
Oh, your machine is too puny to do the task at hand? Just run “cpu thebigmachine” which transplanted your entire environment over there (all the virtual file systems) so that you can continue doing what you were doing, but using that machine’s CPU and memory.
This solved the problem of having to transplant your setup to the remote machine, which you have with modern SSH. If you wanted a different environment you instead created it locally. Each process har its own virtual file tree with mounts.
There were cool things at the local level too: All the programs would expose virtual file systems to interact with. Text editor? Each window had a directory with files containing window content, current selection, even the UI “tagline” with commands. This meant you could write scripts for your programs in any language, because you just had to interact with files.
A modern take on plan 9 is definitely on my Christmas wishlist!
Objective-Smalltalk basically provides the sorts of things you write about locally at the language level. You could also move specific instances behind an operating system boundary.
[1] https://objective.st
[2] https://dl.acm.org/doi/10.1145/3689492.3690052
[3] https://dl.acm.org/doi/10.1145/2508168.2508169
[4] https://2019.splashcon.org/details/splash-2019-Onward-papers...
[5] https://dl.acm.org/doi/10.1145/3359619.3359748
Part of the appeal of the Plan 9 approach was that you could use any program in your distributed environment, written in any language, because the abstraction layer was the file system – the lingua Franca of IO.
Especially the CPU functionality is really interesting. I'm pondering similar problems and the current solutions just aren't good enough.
There is a good reason why traditionally filesystem access was mediated by the OS layer, but there are many use cases where you just want to give processes a different view of what they already can access and it could be done as a library in the same userspace process.
However, for that to work across all the processes in a session we'd need a standard way to install such a hook in all peocesses and that's achievable to some extent using LD preload but falls apart quite rapidly with statically built binaries or different libcs
In Objective-Smalltalk[1], I can access a file as follows:
This is structurally the same way I would access a local variable, environment variable, database, remote http server etc. etc.And you can also introduce shortcuts
Or Sending -asScheme to a reference is just a shorthand that actually constructs a composition[2] of a "path relative" store with the underlying store of the original reference. So the following two are identical: This composition mechanism can be carried further with post-processing, so for example an img-scheme can be constructed by composing an image-decoder store with the previous store And so on and so forth, caching is also a nice example.[1] https://objective.st
[2] https://dl.acm.org/doi/10.1145/3359591.3359729
Please universe I beg you.
Git is incredibly mediocre. But it's all most people know. It's a version control tool that can't handle binary files; and no GitLFS does not count. The end result is a version control tool that is unable to actually version control all the things you need for a project.
This results in a Meta VCS layer where a ton of critical assets are stored in Docker files and other misery. If you want to re-compile a project for 2015 then good luck and god speed.
Personally I think full toolchains belong in source control. And that you should be able to clone / materialize a repro, yank your network cable, and build. This is how big tech monorepos work. It is TheWay imho.
Consider a Linux desktop distro: if every little binary (out of order of magnitude 1000) acted like the center of the universe with gigabytes of build environment and "opinions" galore instead of portability, builds would take much more resources than they already do and parts wouldn't necessarily work together.
Putting toolchains in perforce is how it works for lots of C++ shops, the setup instructions are “sync and hit build”, whether there’s a toolchain upgrade required or not
It's not impossible, there just isn't that much demand for it.
I use git+lfs for unity projects and it works out great. If I had a real studio I'd buy some perforce seats.
Reinventing the wheel like this is quite exhausting. There are options that are proven to work. AI authorship does not fundamentally violate the idea of some thing owning a specific commit. We don't need new schemas in our source control system. "Provenance" is a bullshit word used to make the AI sound like it's some kind of oracular source with superhuman capabilities.
I don't really see what the article is talking about as the future, but if P4 or Git LFS is the best we can do as a species then we're doomed. All VCS options suck for one reason or another, I hope we don't stop trying to make something better. If only to save me from perforce.
Git is for teams that are distributed across space & time. P4 is significantly better at centralized teams who work in the same physical office.
I am curious what in LFS is breaking for you.
What you version together you build and release together, and there are architectural tensions pushing that size down. E.g. dependency indirection and change frequency. Mileage will surely vary by domain, but the idea that the "future is monorepo because agents" doesn't track with me.
The centralisation aspect has less to do with connectedness and more with topology, I'd say. Here, the agentic ways might actually push towards more hierarchical and distributed topologies than the centralised hub-and-spoke.
In fact, the way I use Git is hardly any different, I have no interest in getting a black belt in git magic.
For better or for worse, I don't think Git is going anywhere. A lot of the recent developments in source control amount to providing a better user experience for git repos.
We might well see companies move away from GitHub as source of truth in favor of alternate forges with better SLAs or self-hosting, but dethroning git itself at this point feels very unlikely.
That being said, Git has two big weaknesses: non-text files and handling massive repositories. This is why you see continued use of centralized version control systems (e.g. Perforce, ClearCase) at organizations that need these things. Git LFS tries to address large non-text files, but in my experience teams tend to prefer VCS systems that handle this natively.
At a few big tech companies that decided to use huge monorepos 20 years ago, they've since hand-rolled custom non-git version control systems tailored to their unique scale. These systems usually work by combining a centralized version control server (similar to SVN or Perforce) with a virtual file system that selectively populates code paths based on the current checkout.
But the vast majority of orgs don't need massive monorepos or large amounts of non-text files checked into their repo.
Will admit it got exactly one thing right, which could absolutely justify everything else (including the price) for a long time: Software Bill of Materials, which is non negotiable in a lot of more serious/heavily regulated development contexts
That still didn't excuse the hacked together pile of ruby scripts our QA lead maintained, each one designed to unfuck a specific weird thing clearcase did. Once everything was on git, they just wrote another script that grabbed a bunch of tags from git and shoved them into clearcase to spit out the bom.
Yet another thing that came from PRIDE, despite that PRIDE itself is little known in today's software industry.
> GitHub has done too many great things over the years, so I hope it remains, but there is obviously an earthquake going on.
Is the 'earthquake' referring to the frequent outages over the last couple of years, and if so are those outages because Microsoft can't keep up with the demand?
It's closer to 'too relevant' than it is to 'no longer relevant'.
Git is so far good enough for this. It's not particularly user friendly. But that's not a problem for AI agents. What is a problem is that GitHub is a shared resource that is bottle necked on massively increased usage. That's nice if you are sharing code with other people but it becomes a bottleneck otherwise with a clear solution in the form of maybe using faster and compatible (or completely different) alternatives that do things faster/better.
If you sit back and watch what agents do with Git, it involves a lot of agents going through the moves of creating lots of pull requests, waiting for whatever CI systems to kick in, dealing with failures, etc. All that takes a lot of time and tokens and it's designed to compensate for human failures to properly follow processes. So, at least some of that is kind of becoming redundant. With AI we can compensate with more complicated processes instead.
There's definitely some optimization potential lurking there. If you have tens of thousands of agents working on a thing, it might be more efficient to share the burden of integration testing instead of each agent trying to do this independently and testing each micro change in isolation. Also you could question the logic of needing some centralized hub to dump and integrate code. Git is decentralized by design. GitHub is nice as a backup strategy but there are probably cheaper or different ways to do QA and integration with agents. As the development process changes and adapts to all this, the role of Git and Github also needs to be rethought.
As for the rest of the article, it seems a bit too people centric. Virtual file systems are cool. But do AI agents really need them?
The distributed repos and "commit-then-push" metaphor might be due for a replacement since we're always online anyways and repos grow larger and larger. Perhaps using VFS where all files are always instantly available with copy-on-write semantics.
There are several players working on systems that work on thousands of commits per second scale, some based on Git and others not.
Come on at least say "many people". There are plenty of people still coding by hand.
Honestly felt like I was missing some sort of satirical masterpiece as the author gleefully declared all the up and coming projects that are going to scatter open source projects to the four corners of the Earth.
Maybe they’ve been so locked into version control tooling as a career they’ve missed the bigger picture, but version control before git ubiquity sucked. Not saying Git is perfect but come on, are our memories so short?
Well - Microsoft worsened GitHub in the last few months with regards to reliability. The next corporate slayer move is to worsen it feature wise. GitHub will indeed most likely remain strong, but the outer shell has some cracks and that means people will be more eager to look for alternatives. It is also a problem that Microsoft has a say in open source projects via GitHub - I never liked that, and many others did not like that either, even more so with Trump acting in a political and ideological manner with his TechBros (who all have nothing to do with Epstein ... right? because what if some of them do ...).
Beyond that, git has a great deal of shortcomings, some obvious, some subtle. It was a regression against SVN in some ways and inferior to Mercurial in others. But the strengths of SCN and Mercurial are again vastly different. There is a reason SVN isn't dead.
My biggest gripe with the open source VCSes is that in the last 20 years, no meaningful evolution happened in the established tools, especially around any weaknesses. Commercial systems like Plastic and Perforce as well as proprietary solutions like piper/jujutsu and sapling show that the tools can still improve drastically. I'm excited for a future where we get better open tools for the masses.
While you're right about the disadvantages of git, pretending that it became ubiquitous because it "became a quasi-religion because Linus made it in a day" is selling short its advantages. If you think about it for even just a little bit, it should be obvious what a simplistic statement that it. Also, git was not the stagnation you make it out to be. Even with its warts, it was a breath of fresh air, not unlike jujutsu is now a breath of fresh air vs git.
I remember working with SVN, and all things considered, git was a vast net improvement. Git took a lot of pain away. It made working with a versioned code base faster and simpler, to the point of enabling much better collaborative software development. There's a reason we got GitHub and not SVNhub. And GitHub was what helped git become so dominant.
Would it have been better if Mercurial had beat out git in the propularity contest? Possibly? There's trade-offs between the two, but Mercurial's easier interface counts for a lot. But if it had won, I'm sure we'd be griping about its shortcomings by now.
So yeah, I'm also happy to see some movement around the ergonomics of version control, but I don't understand the need to disparage the tools that got us where we are. It just seems that you're more bitter than happy, and like you're letting that bitterness cloud your judgment.
Git was an improvement over SVN in some aspects, but a monumental regression in others. There are no two ways around that.
Mercurial is better than git in a bunch of ways. It is much more usable because it has way fewer footguns. But it has some of the same shortcomings as git when compared to SVN. I won't call it perfect.
The reason we didn't get svnhub is that some git fanboy nabbed the domain and essentially said "you shall not have it". Joking aside, there was Sourceforge with working SVN support. But I would say that Sourceforge lost market share for a lot of reasons, not all of them technical. Wrapping Windows downloads in adware installers was only one of those many crazy unforced errors.
Am I bitter? Maybe, because I have to use tools that could be so much better. I've experienced better and every time I am forced back to git, it feels a bit painful because I know what we could have instead. If am bitter, it is because of my experience with a wide range of tools.
As a point in case, it's certainly interesting to see you completely disregard jujutsu because it happens to also work (optionally!) with a proprietary backend, when its most useful feature is that it makes working with git night-and-day better, nothing proprietary required. This thing could be a ray of light for you, but for some curious reason, you seem to go out of your way to ignore it.
I mean, it's definitely possible that you think to this day that SVN was the bee's knees and its demise in favor of git or mercurial made us all poorer, but that's certainly a rare perspective. In that context, I'm also finding it hard to reconcile your initial statement around the calcification in VCS land, and now it sounds like you would have preferred to stick with SVN instead.
I'm sure you can give me a rationale for it all, but I wonder how much of it will be just picking rotten (or declared-rotten) cherries out of an otherwise tasty pile. If you stack up the present against a rosy-tinted version of the past and some inexistent pie-in-the-sky, it's no surprise it comes up wanting; but that's just a way to make yourself unhappy, really.
I feel like you are somehow irritated by what I said. Are you personally invested in this discussion somehow?
You have a point in calling me out on jujutsu. I haven't spent enough time looking into it because I have been busy with lots of other things. And I haven't seen any forge-like tooling around it, which further reduced this in my personal priorities. I also got the impression that jujutsu by itself is less scalable than the proprietary jujutsu/piper combo.
The other VCS that I should look into more is Lore. But again, time has been a limiting factor for the past year or so.
You know the really funny thing? I talked to many people with similar skills and experiences as mine and we all essentially have very similar issues with the established open source VCSes.
I had a list of missing features here and it's long and it's boring and I deleted it because it's the kind of stuff that tedious to litigate and what's the point? I'm not here to make anyone switch to something else. I really just hope that we can move past git-as-default into a better era. That's all.
I didn't consider, after my own experience switching from the time of CVS and then SVN to git, with the substantial liberation of workflow that it brought, that somebody would not have that experience, but maybe even an opposite one instead. To be honest, I still find that hard to imagine. That's silly of me, but here we are. I apologize.
(Edit: I do want to add that I also reacted to the hyperbole in your previous comments in this thread, which honestly did not help your opinion to come across as particularly well-considered, so that colored my impression of your position and my response to it.)
> I really just hope that we can move past git-as-default into a better era. That's all.
Than I can only recommend to give jujutsu a try, with its git backend, as sacrilegious as it might sound to you. It offers a much saner and more consistent approach to version control, and with with its abstraction over different possible backends, it offers a way out without having to overcome the considerable problem of having to replace git _first_. A better backed can come later.
Depending on what exactly your issues with git are, you might like it, and it could allow you to have a small part in moving past git right now.
I'm usually not one to fall for, or advocate for new-ish tooling, but jj is one of the few that convinced me. I started using it exclusively with existing git repos; colleagues are still using git with the same repos and are none the wiser. I haven't looked back.
But that depends on your list of missing features, I suppose. If they don't match, I'd be curious what they are and why they might not have been picked up.