A Git story: Not so fun this time - eviltoast
  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    4 months ago

    the occasional submodule hiccup because it was misused as a replacement for a package manager when it really shouldn’t

    I don’t see why using submodules as a package manager should excuse their endless bugs. I think you just have low standards.

    The UX flaws of Git are very obvious IMO. Even the naming is terrible (“index”? What was wrong with “draft”?).

    • lysdexic@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      I don’t see why using submodules as a package manager should excuse their endless bugs.

      I don’t know what are these “endless bugs” you’re talking about. Submodules might have a UX that’s rough on the edges, but there are really no moving parts in them as they basically amount to cloning a repo and checking out a specific commit.

      Do you actually have any specific, tangible issue with submodules? Even in the cases you’re clearly and grossly misusing them

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        4 months ago

        Do you actually have any specific, tangible issue with submodules?

        Yeah sure. These are few that I can remember off the top of my head. There have been more:

        • Submodules don’t work reliably with worktrees. I can’t remember what kind of bugs you run into but you will run into bugs if you mix them up. The official docs even warn you not to.

        • When you switch branches or pull you pretty much always have to git submodule update --init --recursive. Wouldn’t it be great if git could do that for you? Turns out it can, via an option called submodule.recurse. However… if you use this you will run into a very bad bug that will seriously break your .git directory.

        • If you convert a submodule to a directory or vice versa and then switch between them git will get very confused and you’ll have to do some rm -rfing.

        Even in the cases you’re clearly and grossly misusing them

        Oh right, so the bugs in Git are my fault. Ok whatever idiot.