← Back to context

Comment by forrestthewoods

4 days ago

I really really wish Sapling could be used externally. It is by-and-large TheWay.

Centralized, virtual file system, all commits automatically on cloud, large binary files totally fine, Mercurial CLI. It’s fantastic. People who only use Git really don’t understand how much better things can be.

Working for a few years at Facebook, and then returning to the normal world, it was like stepping back in time -- I really think that the mainstream git culture (by which I mostly mean "github") achieved a local maxima around 2012, and has been holding the industry back since :(

(Like GH finally has some support for stacks, 15 years late, with an implementation which is somehow more complicated and less powerful than the prior art...)

  • As someone who came to terms with dying on the mercurial hill, someone who forgot more gitisms than there are to learn in the first place because git cli's inconsistencies and poor taste hurts and neuters my memory, yeah, I relate.

    Most people aren't VCS nerds, most are of a generation that only ever knew git. Learning git was a prerequisite they engaged with out of necessity, not by choice, not after exploring the problem space and pondering about different approaches. Learning git was difficult, and the more they learned the more they discovered they had more to learn, including the little things, obscure details and a plethora of paper-cuts. For them (again, I suspect they are a majority), the perspective of learning something else comes with the expectation of a similar daunting effort and steep cognitive reluctance.

    That's the paradox of git as I see it: had it been a simple and easy system to pick-up, it would probably have been replaced, and/or the VCS space would be much more competitive.

    • > Learning git was difficult, and the more they learned the more they discovered they had more to learn, including the little things, obscure details and a plethora of paper-cuts. For them (again, I suspect they are a majority), the perspective of learning something else comes with the expectation of a similar daunting effort and steep cognitive reluctance.

      You just blew my mind with this. This is shockingly profound.

  • > [Git/GitHub] achieved a local maxima around 2012, and has been holding the industry back since :(

    I agree so hard. It’s inertia is too strong and we’ve stalled progress for a decade.

The startup I work at is working on exactly this. So I agree :)

(Okay not literally exactly, for example, jj/git not hg. But the vibe is the same.)

  • Hey Steve, I read your recent blogpost on the ERSC site - have you or David (or anyone else at ERSC) felt like there's a Rusty-enough topic around what your startup is doing to give a talk at Rust NYC/Rust conference soon?

    There's not really a VCS meetup in NYC, but I got to hear David and others at Rust NYC wax eloquent about Sapling vs Piper and Buck vs Bazel a couple of times, so I think the audience is there!

    • Rust NYC is certainly one of the things I have missed since moving to Austin :)

      Maybe, we'll see. I think one thing that's tricky these days with startups is that being super transparent technically about what you're up to is much harder to justify. Look what happened with Origin: tobi vibed up a copy over the weekend after it was announced. Obviously there's balance to be found here, but that's partially why we play our cards a little closer to our chest.

  • I am delighted to hear this. Please do not forget support for Windows.

    Let me share with you my previous screeds on this topic:

    * https://www.forrestthewoods.com/blog/dependencies-belong-in-... * https://www.forrestthewoods.com/blog/using-zig-to-commit-too...

    They’re semi-adjacent in that they are about build systems that don’t suck. (buck2 is also mostly TheWay but also not usable outside of Meta and has room for improvement).

    Save us from Git and CMake Steve! Please I beg you!!

    • To be clear, we are not building a build system, just a VCS. :) we do use buck2 internally though.

      I do care about Windows, having used it for years at this point. The client is git or jj, so Windows support is there for sure. For some of the other stuff we’re doing, we’ll see what customer demand is like. Obviously there are tons of devs on Windows, but we also have to make calls about priorities too.