Hi, As to finding the commit, can't one find the place where the behavior is implemented, and then check the logs for that line/file to see which commit introduced it? A trivial search of my email for "SRCALPHA" produces the thread "trouble w/ SRCALPHA in 1.9.2-cp27 <http://archives.seul.org/pygame/users/Nov-2017/msg00038.html>", where this same issue was raised (ref. issue #340 <https://bitbucket.org/pygame/pygame/issues/340/surfaceconvert-does-not-remove-the> on Bitbucket, by presumably-same user even). At the time no one stepped forward to address it significantly.
As to whether the behavior is good, I contend it is bad. SRCALPHA and per-surface alpha are *very* different, and confusing them is a classic newbie mistake. Now, I don't use the flags myself, and even presuming pygame uses them internally, I use per-surface alpha rarely at-most, so it doesn't really affect me. But it is semantically incorrect. Ian