tutorial tortoise repositorio español desvincular crear comandos carpeta svn authentication

tortoise - ¿Dónde almacena el cliente SVN los datos de autenticación del usuario?



svn windows (6)

Intento simular un problema que tenemos con un ID de dominio particular que tiene problemas al acceder a un repositorio de subversión. Para esto, probé un svn checkout con la opción --username domain/problematic_ID en otra máquina de Windows. Pero no puedo reproducir el problema ya que el proceso de pago aún tiene éxito con mi propia identificación. Esto me llevó a preguntarme si SVN guarda en caché los datos de autenticación de usuario en más de un lugar y, de ser así, dónde.

Borré el directorio de autenticación en el área de datos de la aplicación, cambié las opciones en el archivo de configuración para desactivar el almacenamiento en caché de los datos de autenticación del usuario, pero fue en vano. El sistema ni siquiera me pide el nuevo nombre de usuario y la contraseña, sino que simplemente verifica con la identificación anterior. (Sé que es la antigua identificación en uso mirando los registros de SVN). Obviamente me falta algo aquí, pero ¿qué? :-(

¿Alguien sabe?

La versión de cliente de subversión que uso es 1.4.6 (r28521)


¿Qué versión usas?

Aquí está la documentación sobre el almacenamiento en caché de credenciales , para la última (1.6 a partir de la escritura).

En Windows, el cliente de Subversion almacena las contraseñas en el directorio% APPDATA% / Subversion / auth /. En Windows 2000 y versiones posteriores, los servicios estándar de criptografía de Windows se utilizan para encriptar la contraseña en el disco. Debido a que Windows administra la clave de cifrado y está vinculada a las credenciales de inicio de sesión del usuario, solo el usuario puede descifrar la contraseña en caché. (Tenga en cuenta que si un administrador restablece la contraseña de la cuenta de Windows del usuario, todas las contraseñas almacenadas en caché serán indescifrables. El cliente de Subversion se comportará como si no existieran, y pedirá las contraseñas cuando sea necesario).

Además, tenga en cuenta que se produjeron algunos cambios en la versión 1.6 con respecto al almacenamiento de contraseñas.


En Windows, puedes encontrarlo debajo.

% USERPROFILE% / AppData / Roaming / Subversion / auth / svn.simple
(lo mismo que a continuación)
% APPDATA% / Roaming / Subversion / auth / svn.simple

Puede haber varios archivos en este directorio, dependiendo de los repos que esté contribuyendo. Puede asumir esto como un archivo para cada servidor svn. Puede abrir el archivo con cualquier editor de texto y asegurarse de que va a eliminar el archivo correcto.


Lee SVNBook | Credenciales del cliente

Con SVN moderno puede simplemente ejecutar svn auth para mostrar la lista de credenciales en caché. No olvide asegurarse de que ejecuta la versión actualizada del cliente SVN porque svn auth se introdujo en la versión 1.9. La última línea especificará la ruta al almacén de credenciales, que de forma predeterminada es %APPDATA%/Subversion/auth en Windows y ~/.subversion/auth/ en sistemas tipo Unix.

PS C:/Users/MyUser> svn auth ------------------------------------------------------------------------ Credential kind: svn.simple Authentication realm: <https://svn.example.local:443> VisualSVN Server Password cache: wincrypt Password: [not shown] Username: user Credentials cache in ''C:/Users/MyUser/AppData/Roaming/Subversion'' contains 5 credentials



Sé que estoy levantando un tema muy viejo, pero después de un par de horas luchando con este problema y sin encontrar una solución en otro lado, creo que este es un buen lugar para dar una respuesta.

Tenemos algunos servidores de compilación basados ​​en WindowsXP y encontramos este mismo problema: el cliente de la línea de comando svn no está almacenando en caché las credenciales de autenticación.

¡Finalmente descubrimos que estamos usando el cliente svn de Cygwin! no es un Windows "nativo". Entonces ... este cliente almacena todas las credenciales de autenticación en /home/<user>/.subversion/auth

Este / home directorio en Cygwin, en nuestra instalación se encuentra en c: / cygwin / home. Y: el problema era que el usuario de Windows que ejecutaba svn nunca había "iniciado sesión" en Cygwin, por lo que no había directorio / home / <usuario>.

Un simple "bash -ls" desde un terminal de comando de Windows creó el directorio, y después del primer acceso a nuestro servidor SVN con una solicitud interactiva de credenciales de acceso, alás, se almacenaron en caché.

Entonces, si está utilizando el cliente svn de Cygwin, asegúrese de tener un directorio "home" creado para el usuario local de Windows.


  • En Unix, está en $HOME/.subversion/auth .

  • En Windows, creo que es: %APPDATA%/Subversion/auth .