svn+ssh How do I tell svn that my login name has changed?
I've been using svn for years, checking in and out of a remote repository using the command svn ci, etc. Somehow svn remembers what my login name is on the remote server. The remote machine has now been changed, and along with it my user name. Now whenever I enter svn ci or whatever, it prompts me for the password associated with my old user name. How can I tell svn that I have a new user name??? I've tried adding the flag --username, i.e., svn --username <newname> ci but svn ignores this and still prompts for the password associated with the old name.
Any help would be most appreciated
Site ModeratorSite Admin
What platform are you on? If you're on Linux, then your credentials are probably stored in your ~/.subversion directory.
Thanks for you response!
Originally Posted by mbooth
Yes, I'm running on linux. I looked in .subversion but didn't find anything with my login name. Here's what's in the .subversion directory
57a147da4fe19e155b86704c1449fe84 77f89936954f5731001c65472f2488b7 RCS/
I would have thought it was in ~/.subversion/auth/svn.username, but it isn't.
Nor is it in either of the files in svn.simple
Where would you expect it to be?
For svn+ssh it's the ssh client that does all the authentication. How credentials are cached is controlled by the ssh client. The only way Subversion gets involved is that it controls how the ssh client is invoked, so look in the [tunnels] section of .subversion/config.
Thanks for the responses! I am using Linux.
Sorry to be so clueless, but I can't figure out from the documentation what command I'm supposed to use in .subversion/config, the relevant help section assumes more knowledge than I have. I'm inferring from the documentation that since the URL for my repository contains the name <nameOne> while my new login id is <nameTwo>, I should have a line in .subversion/config that includes something like svnserve -t -tunneluser=<nameTwo>, thus over-riding <nameOne>. I've tried several things, but nothing works.
The --tunnel-user option is used when you have multiple users sharing a single account on the server, not when changing the server account.
The username associated with a particular working copy can be controlled by using the URL svn+ssh://username@server. The default username associated with svn+ssh, or any other tunnel scheme, can be controlled by using something like "ssh -l username" in the [tunnels] section on .subversion/config, although exact details depend on your OS and ssh client.
Thanks. Could you please point me to some documentation which gives very concrete examples of how to do this.
I tried putting
ssh -l username
into my config file, response was that Option must end with a = or a :
Tried a few things but still nothing worked.
looks like you used "ssh -l username" instead of "ssh = ssh -l username".
Is editing the config file is what you really want? It will set the username for all servers. Perhaps "svn switch --relocate" to the URL with the right username would be better?
Thanks very much, this is all I needed, since all of my repositories that I access via ssh are on the same server.
Originally Posted by philip
Yep, this is exactly what I needed, since all of the repositories that I access via ssh are located on the same server.
Thank you very much for all your help!