Subversion on Mac - refuses to get password from k

2019-02-07 00:46发布

问题:

On Mac OS X Leopard - when I try and access a remote repository from Terminal it always asks for: 1. Password 2. Username 3. Password (again)

with the message: "Authentication realm: http://svn.myserver.com:80 Subversion"

I've checked and my credentials are being stored in Keychain and SVN has access to them. Why won't it use them?

回答1:

I got this solved by recursively changing the owner of the subversion authentication directory:

sudo chown -R myuser:staff ~/.subversion/auth/

(previous user:group pair was set to root:staff)

You also need to set password-stores = keychain on subversion configuration file:

~/.subversion/config



回答2:

By default, svn (and most Unix apps) pass your local username as the username for remote login. I suspect that your account name on the Subversion server is different from your local account name. Thus, authentication fails the first time you enter your Subversion password, and svn, like most Unix apps then asks for the remote username and password and attempts to reauthenticate. You can pass your remote user name using the --username option to svn:

svn --username [remote_username] ...


回答3:

I solved this problem by just removing the corresponding authentication file in ~/.subversion/auth/svn.simple (find the right one with with grep as they're named funny). Then after the next svn up in that repository (where svn asked fro username and password) it is now working correctly.



回答4:

I ran into the same problem when running svn commands from an ssh window. Based on some comments above I removed the associated file under ~/.subversion/auth/svn.simple and then ran my svn command from a terminal session directly on the OSX box which made a window pop up asking if I wanted to grant permission for svn to read my keychain. I granted it permission forever and now the svn command in my ssh window works without prompting me for my password.



回答5:

Can you provide more information? Keychain caching of passwords wasn't added until Subversion 1.4.x. Do you get any error? We'll need more information to help.



回答6:

I had a similar issue with OS X in which SVN simply refused to use my stored credentials, despite their clear registration in keychain with access granted to svn.

Turns out my ~/.subversion/auth directory had odd permissions.

sudo chmod 777 ~/.subversion/auth resolved my issue.



回答7:

I don't have the answer, but I notice that if I'm logged into my machine locally, then subversion will read the keychain password, but if I ssh into the mac from a remove machine, then subversion will not read the keychain password.

Seems that the ssh login puts the svn command in an environment which does not have access to the keychain...

Could that be your issue?



回答8:

Tried many things from thread, this worked for me:

  • uncomment password-stores = keychain in ~/.subversion/config
  • checkout/update your repo, enter credentials.
  • open keychain app, find line(s) with address of your repository in login keychain, double click it(or each of them), select Access Control tab and and check "Allow all applications to access this item"

After that subversion finally remember my credentials.

Btw this problem began when I switched from default terminal to iTerm2 + zsh + oh my zsh