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.

  • Prison Mike
    link
    fedilink
    7
    edit-2
    2 months 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
    • Caveman
      link
      22 months ago

      I always thought of the “how” being better explained by the code itself where you can see string.replace(" ", "\ ") as the actual fix while the message says the “why”.

      I would still have “Fix a bug where strings containing whitespace break CSVExporter” as my go to message.

      I guess our viewpoints are different based whether we want the commit messages to represent tasks or changes. They both have their uses of course. Looking at changes to a file to know what people have done to it is better with a “changes” type message but looking at the history to check “did we actually complete this or was it just marked as completed in the issue tracker?” is better with a task based message.

      Task management where every issue is put on a ticket and tracked would my type of messages obsolete but at my current company theyre very useful.

    • @[email protected]
      link
      fedilink
      English
      12 months 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