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 up
atau 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