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.
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.
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.
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.
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.
Of course you can call things over engineered, but seem to want to include questioning the requirements, specifically also those of the example we're talking about.
Once you start that, you also need to stop somewhere. For example, we could even question the need for a door in the first place. Not saying that we should, but if you want to take over defining other people's requirements, you're putting this on yourself.
So if you don't want somebody else to call you out for over engineering somebody else's requirements, where do you stop?
I agree that requirements need to be kept in check to avoid over engineering. However, I think it's hard to decide for other people far away what their requirements ought to be.
So I don't agree that you can call mrb's basic wireless doorbell "overengineered" for requirements reasons alone without opening yourself up to the same scrutiny that you're applying to him.
> I agree that requirements need to be kept in check to avoid over engineering
Then we are in agreement!
The person who originally called it "overengineered" wasn't me, it was another user.
I did joke that an electric doorbel "does a similar job" but that was to demonstrate that "similar" is also a judgement call.
I am just saying that lukeify or anyone can call it overengineered from their point of view, similar to how GP called commercial products overengineered.
Love the pedantry here. I'm currently at: no op code does anything, it's all fancy effects in the hardware that can be described in arbitrary detail, which somehow allows me to cause these letters to appear on your screen.
There was a boy
A very strange, enchanted boy
They say he wandered very far
Very far, over land and sea
A little shy and sad of eye
But very wise was he.
And then one day
A magic day he passed my way
And while we spoke of many things
Fools and kings
This he said to me:
"The greatest thing you'll ever learn
Is just to love and be loved in return."
But Wikipedia tells you in the first paragraph what it's all about.
A "Pareto front represents the set of solutions where no solution outperforms any other solution in the set at every objective, and every solution not in the set is outperformed by at least one solution in the Pareto front in every objective"
Knowing a definition is not the same as understanding. I know this first hand from interviewing people who at the beginning of the interview can confidently tell me the definition of certain principles in statistics that I ask them about, and then later on in the very same interview when I present to them a real world scenario to analyze, they are completely oblivious that the very concept they explained to me so articulately when we started the interview is the very same concept needed to solve the real world scenario being presented to them.
In general Wikipedia isn't a great way to learn new concepts; it's a good reference when you're already familiar with something and need to brush up on it.
I agree. What I meant to say is that the Wikipedia article tells you upfront where it is going. In TFA, you need to push many little paragraph cards across the screen before you get an idea what you are going to learn.
True, but remember that everyone learns differently. I read the bit you quoted four times, and while I can parse it, the actual understanding doesn't sink in for me. The Mario Kart article (even if much longer to read) helped me actually feel what it means.
Is there a version I can just read as text without having to push every paragraph out of the way with my fingers across an unevenly colored background that shines through?
I get that this form of presentation may be great for many people, but for my brain, it makes it extremely hard to engage with the content.
I appreciate your work to make this topic accessible in an interactive format. Somehow, in this case, it's too much for me.
I think the ratio of information to interactivity is too low. It's like I have to push around a tiny keyhole to slowly access information. The graphs look fun, but their fancifulness is distracting me.
I don't usually mind interactivity, but I think usually it is embedded in the text, instead of gating it, if that makes sense.
There is clearly LLM-prose involved, but it's pretty well done. Here's one example: "The reallocations were real, but they were never the bottleneck."
LLMs love this pattern. Whether one put it into this text, or the author soaked it up and now used it himself, who knows. But it is one of the few things in the post that gives me the ick.
And then, there's the verbosity.
If I had to guess, an LLM was involved, but the author did a good job with manual writing and editing, too.
That's a good point. They're not selling progress, they are claiming to enable progress by selling you (tokens in -> tokens out), making it your responsibility to connect the two. Filling that gap is part of your expertise that you can get paid for.
Easy for you to say, but who says they're looking for a way out? It's often easier to find a reason to stay where you are, and easiest to not even need one.
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.
reply