Antecedentes: solía tener todo funcionando bien en mi nueva instalación:
$ 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.
En algún momento necesitaba comprometer cosas usando una cuenta diferente. Entonces hice eso
$ svn ci --username other.user
Authentication realm: <https://domain:443> Subversion repository
Password for 'other.user':
# works fine
Pero desde entonces, cada vez que quiero comprometerme como 'nicdumz' (usuario predeterminado, todos los repos se han verificado con ese usuario), me pide mi contraseña:
$ svn ci
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz':
Hey, vamos, por qué :) Lo mismo sucede si quiero un nuevo pago, ya que el acceso de lectura también está protegido.
Así que intenté solucionar el problema yo solo. Leí que ~ / .subversion / auth estaba almacenando credenciales, así que lo eliminé de la manera:
$ cd ~/.subversion
$ mv auth oldauth
$ mkdir auth
Al principio pareció funcionar, porque svn se había olvidado de la validación del certificado:
$ 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':
¿Qué? ¿Cómo está pasando esto?
Si tiene sugerencias para investigar más sobre el comportamiento, estoy muy interesado. Si estoy en lo correcto, no hay forma de hacer un trabajo detallado svn up
ni nada por el estilo, por lo que no estoy seguro de si debo investigar. Ah, y por lo que 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