Skip to content

Comment on Version control second comingparent

Comments

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.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.