Background: una volta avevo installato tutto alla perfezione:
$ svn co https://domain:443/ test1
Error validating server certificate for 'https://domain:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: **REMOVED**
- Valid: **REMOVED**
- Issuer: **REMOVED**
- Fingerprint: **checked with issuer and REMOVED**
(R)eject, accept (t)emporarily or accept (p)ermanently? p
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz-machine-hostname':
Authentication realm: <https://domain:443> Subversion repository
Username: nicdumz
Password for 'nicdumz':
# proceeds to checkout correctly
$ svn co https://domain:443/ test2
# checkouts nicely, without asking for my password.
Ad un certo punto avevo bisogno di impegnarmi con un altro account. Quindi l'ho fatto
$ svn ci --username other.user
Authentication realm: <https://domain:443> Subversion repository
Password for 'other.user':
# works fine
Ma da allora, ogni volta che voglio impegnarmi come 'nicdumz' (utente predefinito, tutti i repository sono stati estratti con quell'utente), mi chiede la mia password:
$ svn ci
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz':
Ehi, dai, perché :) Lo stesso succede se voglio un nuovo checkout, dato che anche l'accesso in lettura è protetto.
Quindi ho provato a risolvere il problema da solo. Ho letto che ~ / .subversion / auth stava memorizzando le credenziali, quindi l'ho rimosso dal modo:
$ cd ~/.subversion
$ mv auth oldauth
$ mkdir auth
All'inizio sembrava funzionare, perché svn si era dimenticato della convalida del certificato:
$ svn co https://domain:443/ test3
Error validating server certificate for 'https://domain:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: **REMOVED**
- Valid: **REMOVED**
- Issuer: **REMOVED**
- Fingerprint: **checked with issuer and REMOVED**
(R)eject, accept (t)emporarily or accept (p)ermanently? p
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz-machine-hostname':
Authentication realm: <https://domain:443> Subversion repository
Username: nicdumz
Password for 'nicdumz':
# proceeds to checkout correctly
$ svn up
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz':
Che cosa? come sta succedendo questo?
Se hai suggerimenti per indagare di più sul comportamento, sono molto interessato. Se ho ragione, non c'è modo di fare un verboso svn upo qualcosa del genere, quindi non sono sicuro di dover indagare. Oh, e per quello che vale:
$ svn --version
svn, version 1.6.6 (r40053)
compiled Oct 26 2009, 06:19:08
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- handles 'http' scheme
- handles 'https' scheme