On Mon, 2020-07-27 at 22:34 +0200, Lukas Bulwahn wrote: > On Mon, 27 Jul 2020, Nachiket Naganure wrote: > > On Sun, Jul 26, 2020 at 11:14:42PM -0700, Joe Perches wrote: > > > On Mon, 2020-07-27 at 11:24 +0530, Nachiket Naganure wrote: [] > > > OK, but the test should be: > > > > > > $line =~ /^\s*$signature_tags/ || > > > > > > so the line has to start with a signature and > > > it won't match on signature tags in the middle > > > of other content on the same line. > > > > > > > > But the suggested won't work in case of merged signatures. > > Such as "Reported-and-tested-by: u...@email.com" > > > But Joe's remark is valid; we do not want to match on signature tags in > the middle. These cases are probably mentioning signature tags as part of > a sentence or some explanation. > > Nachiket, think about a proper solution for this issue.
Mostly the problem doesn't occur very often and likely isn't worth much effort. Combinations aren't common in git logs and arbitrary combinatorial logic isn't trivial. For the last million commits, only ~3000 have any combination and almost all of those are Reported-and-tested-by: Likely that could be added to $signature_tags and the problem just ignored. I'd still exempt signature lines from line length limits. $ git log -1000000 --no-merges --format=email | \ grep -P "^[\w_-]+-by:" | cut -f1 -d":" | \ sort | uniq -c | sort -rn | cat -n | grep -i and 7 2159 Reported-and-tested-by 11 255 Reported-and-Tested-by 12 203 Reviewed-and-tested-by 13 132 Reviewed-and-Tested-by 22 68 Reported-and-bisected-by 31 44 Acked-and-tested-by 40 21 Tested-and-Acked-by 41 20 Tested-and-acked-by 42 20 Reported-bisected-and-tested-by 49 17 Suggested-and-Acked-by 50 16 Tested-and-reported-by 51 16 Acked-and-Tested-by 52 15 Suggested-and-Tested-by 53 15 Suggested-and-acked-by 56 14 Tested-and-reviewed-by 58 13 Tested-and-Reviewed-by 61 12 Reported-and-acked-by 62 11 Reported-and-debugged-by 65 10 Reported-and-Acked-by 73 8 Suggested-and-reviewed-by 76 8 Reported-and-suggested-by 77 8 Reported-and-analyzed-by 79 8 Bisected-and-tested-by 81 7 Requested-and-tested-by 82 7 Reported-and-reviewed-by 91 6 Bisected-and-reported-by 104 4 Tested-and-Reported-by 111 4 Requested-and-Tested-by 125 3 Reported-by-and-Tested-by 127 3 Reported-And-Tested-by 128 3 Reported-and-requested-by 155 2 Suggested-and-tested-by 166 2 Reported-tested-and-acked-by 169 2 Reported-and-Suggested-by 170 2 Reported-and-by 201 2 Debugged-and-tested-by 232 1 Tested-by-and-Reviewed-by 234 1 Tested-And-Reviewed-by 235 1 Tested-and-requested-by 236 1 Tested-and-bugfixed-by 245 1 Suggested-and-Reviewed-by 265 1 Signed-off-and-morning-tea-spilled-by 284 1 Reviewed-and-wanted-by 285 1 Reviewed-and-discussed-by 286 1 Reviewed-and-Acked-by 287 1 Reviewed-and-acked-by 294 1 Requested-and-debugged-by 295 1 Requested-and-Acked-by 296 1 Requested-and-acked-by 301 1 Reportedy-and-tested-by 303 1 Reported-tested-and-fixed-by 304 1 Reported-tested-and-bisected-by 305 1 Reported-Reviewed-and-Acked-by 306 1 Reported-requested-and-tested-by 312 1 Reported-by-and-tested-by 313 1 Reported-Bistected-and-Tested-by 316 1 Reported-and_tested-by 317 1 Reported-and-Tested-and-Reviewed-by 318 1 Reported-and-tested-and-reviewed-by 319 1 Reported-and-test-by 320 1 Reported-and-root-caused-by 321 1 Reported-and-Reviwed-by 322 1 Reported-and-reviwed-by 323 1 Reported-and-Reviewed-by 324 1 Reported-and-Reviewed-and-Tested-by 325 1 Reported-and-isolated-by 326 1 Reported-and-introduced-by 327 1 Reported-and-Inspired-by 328 1 Reported-and-helped-by 329 1 Reported-and-fixed-by 330 1 Reported-and-diagnosed-by 331 1 Reported-and-Debugged-by 332 1 Reported--and-debugged-by 333 1 Reported-and-compile-tested-by 334 1 Reported-and-Bisected-by 335 1 Reported-and-Bisected-and-Tested-by 336 1 Reported-and-bisected_and_tested-by 337 1 Reported-and-bisected-and-tested-by 338 1 Reported-and-argued-for-by 339 1 Reported-analyzed-and-tested-by 340 1 Reported-Acked-and-Tested-by 343 1 Report-and-tested-by 344 1 Reporeted-and-tested-by 345 1 Repored-and-bisected-by 355 1 Pointed-out-and-tested-by 377 1 Original-Idea-and-Signed-off-by 383 1 Noticed-and-Acked-by 396 1 Modified-and-reviewed-by 434 1 Fix-creation-mandated-by 451 1 Discovered-and-analyzed-by 452 1 Diagnosed-and-Reported-by 456 1 Demanded-by 460 1 Debugged-and-analyzed-by 461 1 Debugged-and-acked-by 462 1 Cut-and-paste-bug-by 475 1 Catched-by-and-rightfully-ranted-at-by 484 1 Bitten-by-and-tested-by 485 1 Bisected-reported-and-tested-by 486 1 Bisected-and-requested-by 487 1 Bisected-and-Reported-by 488 1 Bisected-and-acked-by 489 1 Binary file (standard input) matches 505 1 Analyzed-and-acked-by 509 1 Also-reported-and-tested-by 525 1 Acked-by-and-tested-by 527 1 Acked-and-reviewed-by 528 1 Acked-and-mourned-by 529 1 Acked-and-documention-added-by 530 1 Acked-and-appreciated-by