• jagged_circle@feddit.nl
    link
    fedilink
    English
    arrow-up
    13
    ·
    11 hours ago

    My commit messages are paragraphs. Drives me crazy when people don’t leave useful commit messages

    • plz1@lemmy.world
      link
      fedilink
      English
      arrow-up
      15
      ·
      12 hours ago

      When developers commit source code to a shared repository (for integration in software people like us use), they have the often-squandered opportunity to summarize the changes they are submitting. Linus (rightfully) thinks this opportunity should be leveraged more appr9opriately and more often, with more quality.

      • leftytighty@slrpnk.net
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 hours ago

        Worth noting that this is stored in the repository alongside the code changes and can be referenced in the future if someone is trying to understand that code or fix a bug in that code.

        For large projects spanning long periods of time sometimes the best way to find a bug’s cause is to scour the projects history to find out which commit caused the bug to appear, and if that commit doesn’t have a good description you’re unnecessarily disadvantaged when trying to find out why it caused the problem or what assumptions were going into the original code.

    • funkless_eck@sh.itjust.works
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      12 hours ago

      You change some code and send it in, you add a cover letter explaining what you did and why. The Linux guy wants you to write more detailed cover letters when you do.

      edit: wrote this before reading the article. he actually just wants people to write using active voice instead of passive.

  • A while ago, I wrote a tool to generate change logs from commit messages. It grabs all commits from a tag to the previous tag, and collates them into a Keep A Changelog format.

    An unintended consequence is this is that my commit messages are in keepachangelog format; the tool just groups messages by type and adds the version and date decoration, and then inserts the text at the right place in the file.

    It’s fantastic. Because I know the commit messages will end up in the changelog, it encourages me to describe the commits in terms of:

    Adds blah blah Changes blah blah Fixes blah blah

    Anything that doesn’t start with a keyword is discarded, so I can still jot notes in the commit, but by far the biggest benefit is that it’s completely broken me of the habit of reiterating the code change that I committed, and write the reason for the commit in descriptive language.

    Having a little reinforcement such as tooling can do wonders for building good habits.

  • FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    9
    ·
    19 hours ago

    One of the things I hate about merge-based Git workflows is git makes a default Merge 123234234 from user/dave/fsdf message which:

    a) Is shit - it contains zero useful information (what’s in the change??) and contains information you explicitly don’t care about (the temporary branch name the author happened to use). a) Makes people think they are supposed to use that message.

    It would probably be better if the default message was blank. But also squash & rebase is generally better anyway and it avoids this problem entirely.