• Facebook does not use Git due to scale issues with their large monorepo, instead opting for Mercurial.
  • Mercurial may be a better option for large monorepos, but Git has made improvements to support them better.
  • Despite some drawbacks, Git usage remains dominant with 93.87% share, due to familiarity, additional tools, and industry trends.
  • masterspace@lemmy.ca
    link
    fedilink
    English
    arrow-up
    91
    ·
    edit-2
    4 months ago

    Facebook uses Mercurial, but when people praise their developer tooling it’s not just that. They’re using their CLI which is built on top of Mercurial but cleans up its errors and commands further, it’s all running on their own virtual filesystem (EdenFS), their dev testing in a customized version of chromium, and they sync code using their own in-house equivalent of GitHub, and all of it connects super nicely into their own customized version of VS Codium.

      • masterspace@lemmy.ca
        link
        fedilink
        English
        arrow-up
        49
        ·
        4 months ago

        The source control was so smooth and pleasant that it convinced me that git isn’t the be all end all, and the general developer focus was super nice, but some of that tooling was pretty janky, poorly documented, and you had no stack overflow to fall back on. And some of it (like EdenFS), really felt like it was the duct tape holding that overloaded monorepo together (complete with all the jankiness of a duct tape solution).

        • Miaou@jlai.lu
          link
          fedilink
          arrow-up
          19
          ·
          4 months ago

          And some good management. Probably not a common opinion around here, but my company is not a tenth of that size, with a hundredth the number of devs, yet different teams still end up copy pasting libraries. Because it’s faster than convincing management DevOps is important.

      • morrowind@lemmy.ml
        link
        fedilink
        arrow-up
        16
        arrow-down
        1
        ·
        4 months ago

        And kinda horrifying. If something goes wrong, no Google, it’s straight to IT

    • villainy@lemmy.world
      link
      fedilink
      arrow-up
      24
      ·
      4 months ago

      The inhouse tooling from the massive tech companies is very cool but I always wonder how that impacts transferrable skills. I work in a much smaller shop but intentionally make tech decisions that will give our engineers a highly transferrable skill set. If someone wants to leave it should be easy to bring their knowledge to bear elsewhere.

      • ByteOnBikes@slrpnk.net
        link
        fedilink
        arrow-up
        13
        ·
        4 months ago

        Speaking from my own experience and a few other seniors I work with, you try to recreate solutions you like at those smaller shops. It may not be identical, but you know what’s possible.

        I came into a company that didn’t have a system to manage errors. At my old job, errors would get grouped automatically and work can be prioritized through the groupings. The new company only handled errors when they saw it, by word of mouth.

        Immediately went to work setting up a similar system.

        • senkora@lemmy.zip
          link
          fedilink
          arrow-up
          8
          ·
          4 months ago

          There’s also a whole industry of ex-Googlers reimplementing Google tooling as SaaS services to sell to other ex-Googlers at other companies.

          There’s even a lookup table: https://github.com/jhuangtw/xg2xg

          (some of those are open source projects, some are SaaS services)

      • UFO
        link
        fedilink
        arrow-up
        6
        ·
        4 months ago

        Absolutely does. Source: worked for Amazon.

      • lud@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        4 months ago

        The inhouse tooling from the massive tech companies is very cool

        I agree. I personally know nothing about tooling like this but I went through the tooling used at rockstar for example GTA V and it was very cool to how much they have automated and made tools easier to use.

        • lad
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          Made easier to use like in when their codebase was leaked and no one had successfully built a game from it?

          in-house tools often encourage making a mess heavily reliant on those tools or working around their limitations, in my experience

          • lud@lemm.ee
            link
            fedilink
            arrow-up
            2
            ·
            4 months ago

            People have successfully compiled GTA V if that is what you are saying.

            Of course no one would make another game using leaked tools, that would be incredibly stupid.

            • lad
              link
              fedilink
              English
              arrow-up
              1
              ·
              4 months ago

              No, that was what I meant, I thought they didn’t, I was wrong, it turned out

              • lud@lemm.ee
                link
                fedilink
                arrow-up
                2
                ·
                4 months ago

                Yeah, people successfully compiled and ran the game within a few days of the leak.

                I tried myself but I didn’t get it to work. But I’m no developer and I tried doing it in a VM (no way those files touch my real computer) which was annoying so I gave up quite quickly.

      • lad
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        Oh, it impacts indeed. And I would expect that to be partially to keep the devs from hopping away, as they will have a hard time transferring

        On the other hand, onboarding is longer and wastes more time and money of the company ¯\_(ツ)_/¯