• echo64@lemmy.world
    link
    fedilink
    arrow-up
    9
    arrow-down
    2
    ·
    4 months ago

    Clean git histories are fun for the people who care, but they are also mostly useless.

    I’ve been around a lot of arguments about the commit standards in teams and it’s always boiled down to the “I don’t care, but I don’t want to spend time doing anything special” people vs the “do the things the way I like because I can think of three reasons it’s technically superior but not practically useful to do so” people.

    Bikeshedding at its finest

    • Kissaki@programming.dev
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      edit-2
      4 months ago

      A great gain from a systematic approach of creating clean history is a better understanding and higher discoverability of issues.

      Looking into change history is rare. But designing your changes, being deliberate, structured allows for easier and safer reviews and merges. And spotting issues early is always cheaper and better.

      It also helps tremendously in determining what changed between versions. And when necessary finding and reverting regressions.

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

        Cleaning up your history before making a PR can make it easier to review so I always try to do that, but it’s not something that should be over done because it can quickly eat up more time than its worth if you go overboard

      • BatmanAoD@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        4 months ago

        Doesn’t squashing on merge achieve exactly the same thing? (As long as pull requests are kept small, of course.)

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

          To a degree, if pull requests are small enough, then yes.

          Often, a changeset includes different aspects and concerns though, and individual commit messages allow you to document and reason them. Squashing makes you lose the concern separation.

          When reviewing, even relatively simple changes separated into their concerns helps me a lot.

          It’s a matter of preference and necessity, and the changeset and it’s environment at hand.

          • BatmanAoD@programming.dev
            link
            fedilink
            arrow-up
            0
            ·
            4 months ago

            Not squashing before review, squashing on merge (i.e. after review). Squashed merges make these easy, regardless of whether the original commits in the pull request were messy:

            • determining what changed between versions
            • finding and reverting regressions
      • echo64@lemmy.world
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        4 months ago

        Yes, this is the

        do the things the way I like because I can think of three reasons it’s technically superior but not practically useful to do so" people.

        Camp I was talking about. You’ve your reasons, you’ll bikeshed about it for months and no one gets anywhere and no one is happy aside from the people that enjoy the arguments