this post was submitted on 08 Oct 2024
197 points (91.9% liked)

Programming

17432 readers
250 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] olafurp@lemmy.world 15 points 1 month ago (2 children)

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"

[–] undefined@links.hackliberty.org 7 points 1 month ago* (last edited 1 month ago) (2 children)

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
[–] olafurp@lemmy.world 2 points 1 month 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.

[–] leftytighty@slrpnk.net 1 points 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 4 points 1 month ago (1 children)

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.

[–] rolling_resistance@lemmy.world 3 points 1 month ago

Right until the reference breaks. Ask me how I know.