Live data from Hacker News

Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

news.ycombinator.com

321–330 of 440 posts

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#321

Earlier quoted context omitted.

A couple of thoughts about this: One is that the possibility of overwriting history / etc is a really powerful and useful feature, but one that should only be used with some consideration, hence being gated behind the scary '--force'. The fact that git provides one the ability to discard and overwrite commits for a ref shouldn't be an endorsement of doing so freely. I'm glad git has this capability though and any "gi…

That all makes sense and mirrors many of my own thoughts. Though I'll say that "--force" isn't necessarily a "scary-sounding" option name unless you're used to Unix CLI naming conventions. Further, the warnings git gives you about this are virtually inscrutable if you don't already understand what's happening. A good interface to "blowing away history" would give you a brief summary of what will actually be gone, e.g…

> Are you SURE you want to completely destroy those commits? (Y/n)

While there is a lot of user interfaces that could be improved, I believe the above have empirically been shown to be inferior to the alternative "re-run this command but add scary option to proceed".

Users habitually answer "Y" to questions like the above all the time. And certainly after a few times it becomes routine for anyone. But having to re-enter the command and type some a whole word like "overwrite", "force" or "i-know-what-im-doing" is a whole other roadblock. The example is especially ill-chosen to have Y as the default option.

Any operation in git that destroys so many commits will include a list of commits that is destroyed, similar to what is suggested here, and trying to push the resulting repository will say exactly how many commits will be removed, and require rerun with force option (together with the necessary privileges). So reality is already not far from what you suggest, but with more fail safes.

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#322

Earlier quoted context omitted.

I was thinking about trying this out, but there are some reasons why I don't think it's feasible. Where are your comments stored? What happens when you need to run out in the middle of a fire and you don't have time to make your code compile-able? How do you commit "un-compile-able" changes? I think there are some really compelling reasons to try AST-checkin - all your loops can now be changed to functional, dialect…

Nodes in the AST for comments, block comments and "raw text I don't understand" seems like a way to go?

Honestly yeah. Might have to give this another go.

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#323

> Cloud-Native Git Alternative Not sure if this is a good summary of the product. For one, cloud-native is an implementation detail, unless the company plans to sell the new VCS as packaged software instead of service. For two, I'm not sure how being cloud-native addresses any issue with my daily interaction with Git. > The biggest drawback of Git is its limited scalability I wonder how many people really has this pr…

Re: scalability, in the very first sentence they mention game development, which deals with large quantities of large (and growing), nowadays versioned assets like 3D models, textures, animations, etc.

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#324

Earlier quoted context omitted.

So multiple people did a git reset --hard origin/master and nobody complained or checked what and why this was done? That's not "one data scientist with the wrong command" but the whole team that fucked up hard IMHO.

I think you just sold their pitch with this comment... I, like many many people here, have done quite a bit of product design. What do you call it when a bunch of people use your product, and it breaks for several of them? That generally indicates your product is weak, or has a very rough UI.

But that seems like pretty much the equivalent to "rm -R *"? And also just a permission/configuration issue.

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#325

Earlier quoted context omitted.

I'm not sure I understand this at all. > The problem is the way Git works, it clones your entire repository into the container with your cloud environment, using a slow network protocol. What about git's network protocol is 'slow'? I think I can also come up with a pretty simple experiment to prove or disprove this: 1. Fill a file with 13Gb of data and commit it. 2. Upload that to GitHub or wherever you want 3. Time…

If you use the dumb http protocol, both cases should be equally fast.

git clone https://github.com/github/docs.git 123.57s user 37.02s system 74% cpu 3:35.73 total

git clone --depth 1 https://github.com/github/docs.git 3.37s user 1.83s system 35% cpu 14.521 total

Not a scientific test at all, but the second one was literally 15x faster, wall clock time.

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#326
post #16

I have not analyzed the full potentials and benefits of Diversion but I would not agree with the statements you made about the Git. I think you should not focus on Git in your pitch. >> it was built for a very different world in 2005 (slow networks, much smaller projects, no cloud) Slow network: why is this a negative thing? If something is designed for a slow network then it should perform well in a fast network. Mu…

> When Micorosoft adopted Git for Windows, they faced this problem and solved it. On Windows. On Linux Git still doesn't scale well to very large repos. Before you say "but Linux uses git!", we're talking repos that are much bugger than Linux. Also the de facto large file "solution" is LFS, which is another half baked idea that doesn't really do the job. You sound like you're offended that Git isn't perfect because y…

> really like something that isn't perfect. You don't have to defend flaws that it clearly has.

Certainly true. But it's not clear at all how does the product solve these specific problems (they say "Painless Scalability" which sounds nice but did they try developing any 100+ GB projects with massive numbers of commits/branches on it?)

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#327
> cloud-native version control

Just how "cloud-native" are we talking here? One chief selling point of git is that you are not reliant on a centralized server. You have remotes, yes, but if one of them goes down, you still get the entire project history.

I am of the opinion that the software world needs to find something better than git. One of my major pain points as a lead are the inevitable, yet unpredictable, git questions I will be getting from new juniors. But "cloud native" sounds like a poor starting point for "better git". Not needing external servers for VCS is one of the things git gets right.

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#328
post #239

Earlier quoted context omitted.

Ummm... A lot of people just endure using git. Go to the average enterprise software shop, the ones where people don't code for fun in their spare time, and ask around. There are a lot more of those devs than unicorn and FAANG devs.

Why aren't these teams choosing something else then? If everyone on the team dislikes git, switch to mercurial or something else.

Git might be the best thing there is today (outside of very large companies or environments with large binaries). It doesn't mean that'll always be the case... There were other VCSs before git, and there will be after.

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#329
> We’re planning to release it as open source once the code base matures,

If it's not open source, I'm not touching this. The one thing Git has over all these alternatives its that GitHub dies, Git is still around and is GPL.

If you really want to be taken seriously, please make sure its open source with a copyleft license.

Re: Launch HN: Diversion (YC S22) – Cloud-Native Git Alternative

#330
post #315
post #236

Earlier quoted context omitted.

Open sourcing code can require a lot of resources to do it right (manage the community, handle licensing etc). If you don't have customers asking for it and you don't need it for customer acquisition it might not make sense.

Licensing: just choice a good safe default: apache2.0 or mpl2.0 Open sourcing does not mean you want or going to accept external contribution, just be explicit that you don't accept external contributions. There are several open source projects that are developed with no public contribution policy. Nothing new to invent here.

> Licensing: just choice a good safe default: apache2.0 or mpl2.0

No, this is how you get seriously annoying divergences in products like this. GPL2/3 would be 10/10. It would also protect the company too.

Post reply on HN