I had not looked into the issue of why SVN sees user IDs as upper case very much. I suspect that at least some of the story is that some people type in their user name in all upper case. However, that is not the whole story. I never enter my user name in all upper case. I only use 'ian'. A brief look around indicated that this was going to be hard for me to find. My user ID seems mostly to now be lower case again, unlike when I first reported this issue, though a number of other users largely have upper case user IDs showing in Subversion. However, I just looked at a small repository we have and several recent check ins show me as IAN. I have not logged into the SVN client on my machine for a long time and my cached credentials have not changes from
ian@<domain>.
The reason I ignored this issue is that our Windows authorization is case insensitive. So, it does not matter a lot. And I suspect that the ultimate culprit on the user names changing is something in Windows. over which I have no control even if I could isolate it. That is a lot of why we have ignore_auth_case set. We have no good way to make users log in with case sensitive user name. Windows will not enforce it, and worse yet, sometimes Windows decides it would be a good idea to change the case provided (I do not know when it does this, but I am quite certain that it does). So, even if I could work out what is going on exactly, I would have a hard time getting users to log in consistently whether I like it or not and I doubt very much I could do anything about Windows. I could coerce the user names to lower case somewhere in Apache, but I looked at that when I first encountered the issue and I do not understand rewrites well enough to trust myself to mess with user IDs reliably.
I did just try looking at the revision logs on our small repository using svn log and what Trac shows in its timeline matches the user name case that svn log shows. So, Trac is getting correct user names as seen by Subversion.
To me, it seems that whether you log into Trac through your Subversion user name, you connect directly, or log in some other way, the authorization should follow the same rules, and preferably go through the same code to reach that goal. Of course, as you say, this is a Trac dev decision.
We already live with all user names showing up as all lower case in Trac. And, personally, I prefer the consistent user name case given that we have no easy option to get case sensitive user names. It would cause us no trouble if the same occurred under Subversion logs since our Subversion authorization is also case insensitive. But, I can easily imagine that someone else could be very unhappy with a timeline report that did not match what svn log reports. But, it also seems likely to me that such a person would never set ignore_auth_case true.
I would personally prefer that the Subversion logs and Repository browser show the actual user name as seen in Subverison and that that the Trac authorizations use all lower case in all places. That lets me see what Subversion sees and it also means that Trac has consistent user names. Trac does not look at ignore_auth_case when deciding who made a change, at least as far as I can tell, so it sees a change by IAN as different from a change by ian. If all log ons always used ignore_auth_case rules, then that could not happen.