Как я могу заставить subversion сбросить сохраненные пароли / пользователей и запомнить свои учетные данные для аутентификации?

14

Предыстория: Раньше у меня все отлично работало на новой установке:

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

В какой-то момент мне нужно было совершать вещи, используя другой аккаунт. Так я и сделал

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

# works fine

Но с тех пор каждый раз, когда я хочу сделать коммит как «nicdumz» (пользователь по умолчанию, все репозитории были извлечены этим пользователем), он запрашивает мой пароль:

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

Эй, давай, почему :) То же самое происходит, если я хочу новую проверку, так как доступ для чтения также защищен.

Поэтому я попытался решить проблему самостоятельно. Я прочитал, что ~ / .subversion / auth хранит учетные данные, поэтому я удалил его так:

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

Сначала это сработало, потому что svn забыла о проверке сертификата:

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

Какая? как это происходит?

Если у вас есть предложения, чтобы узнать больше о поведении, мне очень интересно. Если я прав, нет никакого способа сделать многословное svn upили что-то подобное, поэтому я не уверен, должен ли я пойти на расследование. Ну и за что оно стоит

$ 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
Николя Думазет
источник

Ответы:

14

Ну, у меня была та же проблема, и я удалил каталог аутентификации. Я тогда сделал:

svn --username xxx update

который попросил у меня пароль, но тогда это было все. Все, что я могу сказать, это то, что удаление каталога аутентификации сработало для меня. У вас есть правильные параметры в файле вашего сервера? А именно (я думаю):

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

в [global]разделе. Я не уверен на 100%, но это может помочь.

Макс Тардиво
источник