Jak sprawić, by subversion resetowało zapisane hasła / użytkowników i zapamiętało moje poświadczenia uwierzytelnienia?

13

Tło: Kiedyś świeżo zainstalowałem wszystko, co działało:

$ 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.

W pewnym momencie musiałem zatwierdzić rzeczy przy użyciu innego konta. Więc to zrobiłem

$ svn ci --username other.user
Authentication realm: <https://domain:443> Subversion repository
Password for 'other.user':

# works fine

Ale od tego czasu za każdym razem, gdy chcę zatwierdzić jako „nicdumz” (domyślny użytkownik, wszystkie repo zostały wyrejestrowane z tym użytkownikiem), wyświetla monit o podanie hasła:

$ svn ci
Authentication realm: <https://domain:443> Subversion repository
Password for 'nicdumz':

Hej chodź, dlaczego :) To samo dzieje się, gdy chcę świeżej kasy, ponieważ dostęp do odczytu jest również chroniony.

Próbowałem więc samodzielnie rozwiązać problem. Czytałem, że ~ / .subversion / auth przechowywał poświadczenia, więc usunąłem je ze sposobu:

$ cd ~/.subversion
$ mv auth oldauth
$ mkdir auth

Początkowo wydawało się, że działa, ponieważ svn zapomniał o walidacji certyfikatu:

$ 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':

Co? jak to się dzieje?

Jeśli masz sugestie, aby dowiedzieć się więcej na temat zachowania, jestem bardzo zainteresowany. Jeśli mam rację, nie ma sposobu, aby to zrobić svn up lub coś podobnego, więc nie jestem pewien, czy powinienem iść na śledztwo. Aha, i za co warto:

$ 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
Nicolas Dumazet
źródło

Odpowiedzi:

14

Cóż, miałem ten sam problem i usunąłem katalog auth. Ja wtedy:

svn --username xxx update

który poprosił mnie o hasło, ale to było to. Mogę tylko powiedzieć, że usunięcie katalogu auth działało dla mnie. Czy masz odpowiednie opcje w pliku serwerów? Mianowicie (myślę):

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

w [global] Sekcja. Nie jestem w 100% pewien, ale może to pomóc.

Max Tardiveau
źródło