Subversion asks for incorrect user

svn

I just got a shiny, brand-new Debian server handed to me by our Systems group, and the /etc directory is kept under version control with Subversion. Unfortunately, I couldn't seem to save some configuration changes; Subversion kept asking me for the password of the gentlemen who set the box up and who is on vacation as of 6 pm this evening:

djessup@server1:/etc$ sudo svn commit -m "Made some changes."
jdoe@svn.example.root.ent's password: 

I did not have this problem when checking out changes as myself, only when using sudo to commit changes as root.

My first thought was that somebody had checked out the working directory with a username embedded, but svn info revealed that the location of the Subversion repository was svn+ssh://svn.example.root.ent/svn/its-systems/server1, not svn+ssh://jdoe@svn.example.root.ent/svn/its-systems/server1.

I tried using the –username command documented on the official Subversion user guide. It was completely ineffective; John Doe's username (actual name changed to protect the innocent) kept coming up. I looked for some possible misconfiguration in /root/.subversion. There was zero configuration there.

Best Answer

As you might expect from the timestamps, I asked this question after I already had an answer. This problem was sufficiently painful that I want its solution spread far and wide so that other people don't have to go down all the dead ends I did.

After several searches on Google, I finally found Hardy Ferentschik's wonderful blog entry explaining this problem. It turns out that the problem was not with Subversion, but with the SSH protocol I was using to access subversion. When I opened up /root/.ssh/config, I found the following text:

Host svn.example.root.ent
        User jdoe

I replaced jdoe with my username in this configuration file, and everything worked.