• dohpaz42@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    2
    ·
    5 days ago

    I’m probably going to get downvoted to Hell and back, but someone’s gotta say it: that’s a git problem, not Windows.

    First of all, I agree that case-insensitive file systems suck. It makes things inconsistent, especially from a development standpoint.

    But, everyone has known that Windows (and macOS) use case insensitive file systems. At least for Windows, it always has been that way.

    Git was written in Linux, which uses a case sensitive file system. So it’s no surprise that its internals use case insensitive storage. Someone ported it over to Windows, and I’m sure they knew about the file system differences. They could’ve taken that into account for file systems that are case insensitive, but chose not to do anything to safe guard Windows users.

    But until the day that somebody fixes Git, everybody who is not using case sensitive file systems needs to care more about how they name things (and make sure their team does too). Because fuck everyone else, right?

    • sep@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      4 days ago

      You want all applications to explisitly support each individual filesystem? That sounds insane. It is absolutly fair to demand some common ground like posix compliance. And a windows user can like anyone else just mount their git repo area using any other filesystem.

    • Lucy :3@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      4 days ago

      Well … everyone using case insensitive FSs need to worry how they name stuff anyway.

    • UnityDevice@startrek.website
      link
      fedilink
      arrow-up
      1
      ·
      4 days ago

      The issue isn’t just a simple oversight. Git includes the file name as part of the tree and commit hash. The hash has security implications. There’s really no way to make the hash support case insensitivity without opening up a multitude of holes there. So there will always be a mismatch, and you can’t just fix it without changing how git works from the ground up.

      • qaz@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        edit-2
        4 days ago

        Of course you can, make it lowercase internally and store the case formatted string for output.

        • aard@kyu.de
          link
          fedilink
          arrow-up
          0
          ·
          4 days ago

          That’d break git repos where files with the same name, but different case exist.

          • qaz@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            arrow-down
            1
            ·
            edit-2
            4 days ago

            I was talking about branch names, not file names. File duplicates due to case sensitivity aren’t a problem on Windows anyway because those are already enforced by the file system. Unless you have people working on Linux that have multiple files with a similar name but with different casing but those should know better.

    • tatterdemalion@programming.dev
      link
      fedilink
      arrow-up
      1
      arrow-down
      2
      ·
      3 days ago

      that’s a git problem, not Windows.

      I use Git, and I don’t use Windows. I have no problems. Sounds like… a Windows problem?