Bagaimana saya bisa membuat subversi mereset kata sandi / pengguna yang disimpan dan mengingat kredensial otentikasi saya?

14

Latar Belakang: Dulu semuanya berfungsi dengan baik di instalasi baru saya:

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

Pada titik tertentu saya perlu melakukan hal-hal menggunakan akun yang berbeda. Jadi saya melakukannya

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

# works fine

Tapi sejak itu, setiap kali saya ingin komit sebagai 'nicdumz' (pengguna default, semua repo telah diperiksa dengan pengguna itu), itu meminta saya untuk kata sandi saya:

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

Hai, ayolah, mengapa :) Hal yang sama terjadi jika saya ingin checkout baru, karena akses baca juga dilindungi.

Jadi saya mencoba memperbaiki masalah sendiri. Saya membaca sekitar ~ / .subversion / auth yang menyimpan kredensial, jadi saya menghapusnya dari cara:

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

Tampaknya bekerja pada awalnya, karena svn telah lupa tentang validasi sertifikat:

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

Apa? bagaimana ini terjadi?

Jika Anda memiliki saran untuk menyelidiki lebih lanjut tentang perilaku ini, saya sangat tertarik. Jika saya benar, tidak ada cara untuk melakukan verbose svn upatau sejenisnya, jadi saya tidak yakin saya harus pergi untuk penyelidikan. Oh, dan untuk apa nilainya:

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

Jawaban:

14

Yah, saya punya masalah yang sama, dan saya menghapus direktori auth. Saya kemudian melakukannya:

svn --username xxx update

yang menanyakan kata sandi saya, tetapi hanya itu. Yang bisa saya katakan adalah, menghapus direktori auth bekerja untuk saya. Apakah Anda memiliki opsi yang tepat di file server Anda? Yaitu (saya pikir):

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

di [global]bagian ini. Saya tidak 100% yakin, tetapi mungkin membantu.

Max Tardiveau
sumber