Opened 2 years ago

Last modified 2 years ago

#6401 new enhancement

Add verification for the user names in the "Props" in commit messages

Reported by: azaozz's profile azaozz Owned by:
Milestone: Priority: normal
Component: Version Control Keywords:


It's pretty bad/quite embarrassing when there are any errors in the props part of a commit message. This idea to reduce that risk came while chatting with @hellofromTonya: would it be possible to verify the user names that are added as props in commit messages? Can probably be (yet another) precommit script, perhaps.

Then if a prop doesn't match any user name, stop the commit and look into the GH to trac name conversion "list". If a match is found, suggest the change in the svn error message (is that possible?).

Change History (1)

#1 @dd32
2 years ago

is that possible?

Anything is possible.

However, there's been plenty of times where a props list cannot be 100% usernames, such as when it's a Gutenberg "merge" and the GitHub users do not have a linked/known username, or where it's a PR merged from GitHub where users were commenting - is an example of that, where teunvgisteren and timkersten655 are GitHub usernames which we don't know their usernames for (if they even exist).

This would require us to force/require the very specific Props $user1[, $user_n]*. format though, which would be a good thing, because the props parser ( admin access required) often has issues parsing older commits where that format wasn't used.. although it usually is today. is an example of where a username was typo'd, extra o in thijsoo. is an example of where a username was not known, and a full name was used instead (There's two of them in the props list).

(Sorry, not picking on any individual committer, these were just the first examples that came up)

I guess if this is something that's wanted, the process would be something like this:

  • Parse message, if ^Props .+$ is present continue
  • If SKIP CHECKING NAMES is present, remove it from the message and stop processing, allow commit to continue.
  • Validate users match expected accounts
  • If validated: Proceed with commit.
  • If not: Abort commit with debug output specifying "$user in props list not found" for each affected user, link to commit message formatting guides, and "To ignore this warning, include 'SKIP CHECKING NAMES' in your commit message".
Note: See TracTickets for help on using tickets.