AnkhSVN2019 icon indicating copy to clipboard operation
AnkhSVN2019 copied to clipboard

Unreadable author name after commit

Open UnderDarkSun opened this issue 5 years ago • 6 comments

After commit Uploading upload_2020_01_24_13_45_07_586.jpg… Windows and VS user name in Russian.

UnderDarkSun avatar Jan 24 '20 10:01 UnderDarkSun

I believe there was an error while uploading your screenshot, I only see "Uploading upload_2020_01_24_13_45_07_586.jpg…"

Rand-Random avatar Jan 24 '20 11:01 Rand-Random

upload_2020_01_24_13_45_07_586

User name: "Дмитрий". In Management computer management- > System tools - > Local users and groups - >Users, the account name is in Russian. When changing to an English name -> commit author OK.

UnderDarkSun avatar Jan 24 '20 12:01 UnderDarkSun

I have done a quick test with a Russian name and it was displayed correctly for me.

image

If you show the log with another tool, for example TortoiseSVN or the command line tools (svn log), does it show the name correctly?

I would like to find out whether the error occurred during the commit - in which case the name is stored badly in the repository - or whether it is a problem retrieving and displaying the log information.

For my test, I performed a commit via the command line (because it is easy to specify a different name) so I only tested the log in AnkhSVN, but not the commit. I also used a file based repository, and therefore did not test the network communication.

PhilJollans avatar Jan 25 '20 13:01 PhilJollans

ankh_test

I ran tests with commit TortoiseSVN and Ankh2019, on the screenshot logs. It seems that the problem is in fixing Ankh. Perhaps the encoding?

UnderDarkSun avatar Jan 29 '20 10:01 UnderDarkSun

So far as I can tell, the username for the commit, and all authentication with the SVN server, is handled by the SharpSVN library.

I don't entirely understand how this works, but I managed to hack the function AnkhClientPool.CreateClient to specify a Russian name, by temporarily inserting the lines

client.Authentication.Clear();
client.Authentication.DefaultCredentials = new System.Net.NetworkCredential("Филипп", "") ;

I was able to make a commit using this name, but is showed up correctly in the log.


This might be an error in SharpSVN, but I can't find any error reports about a similar problem.

I think that AnkhSVN2019 is built using SharpSVN version 1.9005. There is a slightly newer version 1.9007. I will try to upgrade to that version (using Nuget) the next time that I build AnkhSVN2019, but I doubt very much whether that will fix the problem.

In fact, there appears to be a version 1.12 in the CollabNet repository (you can connect as Guest), but no official release. I am reluctant to compile SharpSVN myself.

PhilJollans avatar Feb 02 '20 22:02 PhilJollans

I wouldn't be surprised if the problem here is on the Subversion side of the code. I don't remember any code in Subversion that turns system usernames in utf-8.

I don't think AnkhSVN/SharpSvn is doing anything wrong here. The code should be encoded properly in Subversion.

rhuijben avatar May 15 '21 09:05 rhuijben