Linus Torvalds expressed frustration over the use of passive voice in merge commit messages, preferring active and imperative language instead.

He provided an example of how commit messages should be rewritten for clarity and consistency across the project.

Torvalds noted that while it’s not a major issue, it does add extra work when he has to rewrite messages to match his preference.

  • mox@lemmy.sdf.org
    link
    fedilink
    arrow-up
    4
    ·
    1 month ago

    I read his message. He didn’t seem grumpy or frustrated to me; just encouraging folks to use a certain style that’s already in wide use, for reduced noise and better consistency.

    • Otter@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 month ago

      The message:

      "I try to make my merge commit messages be somewhat “cohesive”, and so I often edit the pull request language to match a more standard layout and language. It’s not a big deal, and often it’s literally just about whitespace so that we don’t have fifteen different indentation models and bullet syntaxes. I generally do it as I read through the text anyway, so it’s not like it makes extra work for me.

      But what does make extra work is when some maintainers use passive voice, and then I try to actively rewrite the explanation (or, admittedly, sometimes I just decide I don’t care quite enough about trying to make the messages sound the same).

      So I would ask maintainers to please use active voice, and preferably just imperative."

      Giving an example of a bad commit message, Torvalds provided this example: “In this pull request, the Xyzzy driver error handling was fixed to avoid a NULL pointer dereference.” He believes this should have been written as follows: “This fixes a NULL pointer dereference in …”

      • remotelove@lemmy.ca
        link
        fedilink
        arrow-up
        2
        ·
        1 month ago

        Any in many ways, that is the way engineers should speak to other engineers when analyzing a problem.

        If two or more people can actually share a common goal of finding the best solution, everyone involved should be making sure that no time is wasted chasing poor solutions. This not only takes the ability to be direct to someone else, but it also requires that you can parse what others are telling you.

        If someone makes something personal or takes something personal, they need a break. Go take a short walk or something. (Linus is a different sort of creature though. I get it.)

        TBH, this is part of the reason I chose my doctor (GP). She is extremely direct when problem solving and has no problems theory-crafting out loud. Sure, we are social to a degree, but we share many of the same professional mannerisms. (We had a short discussion on that topic the other day, actually. I just made her job easier because I give zero fucks about being judged for any of my personal health issues.)

  • dohpaz42@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    Linus Torvalds: creator of Linux and Git, and hero to all English teachers everywhere!

    • Ephera@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      So, uh, I have a colleague who studied linguistics, and when I explained to her that we write commit messages like that, her reaction was basically: What the fuck, why?

      My explanation wasn’t as sharp, as I didn’t call it “imperative” but rather just “infinitive”, which got me the immediate backlash that it’s not a sentence then, so why do you put a dot behind it?

      She did accept my descriptivist excuses explanation that we write it that way, because it’s terser, but I know it didn’t sit well with her.
      Will need to see what her reaction is to commanding the repo. 😅

    • devfuuu@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      This has been the recommendation and the way to do it for decades everywhere I’ve been too.

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

      good: Add foo interface.

      Another commit style is summarizing what a commit does. In this case it would be someting like:

      Adds foo interface.

      I think this style is more in line with auditing code.

  • Caveman@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 month ago

    I like good commit messages that use less words but still give the full picture. If something hacky was done then a comment is better. I like mine with imperative voice since it avoids writing a prose.

    “Fix a bug where when doing x then y happens”

    “Add setting to control x”

    • Prison Mike@links.hackliberty.org
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      1 month ago

      I really don’t like starting with “fix.” You can just describe it without saying “fix” most times.

      • Fix Strings containing whitespace
      • Escape Strings containing whitespace in CSVExporter
      • leftytighty@slrpnk.net
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        1 month ago

        I basically stole your comment but made a worse version. On this note, though, there’s sometimes value in using words like “fix” or other kinds of tagging or consistent formatting in the sense that you can do a meta-analysis of the repo history to look at trends (like the ratio of fixes to feature work) over time.

        Issue tracking software obviates that, somewhat, but having that info embedded in the repo history lets you go further and look at which files have the most fixes etc.

        Existing tools out there sometimes do this exact thing, but it can be manually done as well

    • leftytighty@slrpnk.net
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      1 month ago

      Knowing you fixed a bug is minimal information and usually covered by an issue reference in professional software development. I’d prefer to see the commit describing what the fix is actually doing to fix the bug.

  • hector@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    Linus is a scary man and seems really hard to work with

    The fact that Linux blossomed anyways goes to show his talent

      • hector@sh.itjust.works
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        He said he has trouble feeling empathy and he’s working on it. When this happens he was super mean towards the volunteer work of some contributors who quit the project.

        I’m not blaming Linus, I’m just saying I don’t feel like it’s a good atmosphere to work in Linux. It doesn’t feel friendly at all

        Thus the scary and stressing quality

        • MyNameIsRichard@lemmy.ml
          link
          fedilink
          arrow-up
          0
          ·
          1 month ago

          That’s not scary. The trick when dealing with that kind of review is to parse out the technical and not take the rest personally, which maybe takes a certain kind of personality.

          • derpgon@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            1 month ago

            I do that by default. I have to actively think about empathy when I do CRs, because the other devs (who should not be doing these kinds of mistakes) just can’t fucking do their job right for once.

            But when I am getting a review, I don’t get mad unless I am personally attacked (happened with a colleague who had a very high ego and somehow made it to a higher position, finally being let go about half a year back).