Come posso fare in modo che Subversion resetta le password / gli utenti memorizzati e ricordi le mie credenziali di autenticazione?


14

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

Risposte:


14

Bene, ho avuto lo stesso problema e ho eliminato la directory auth. Ho quindi fatto:

svn --username xxx update

che mi ha chiesto la mia password, ma è stato quello. Tutto quello che posso dire è, cancellando la directory auth ha funzionato per me. Hai le opzioni appropriate nel file dei tuoi server? Vale a dire (penso):

store-passwords = yes
store-plaintext-passwords = yes

nella [global]sezione. Non ne sono sicuro al 100%, ma può essere d'aiuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.