Como posso fazer o subversion redefinir as senhas / usuários armazenados e lembrar minhas credenciais de autenticação?


14

Antecedentes: Eu costumava ter tudo funcionando perfeitamente na minha nova instalaçã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.

Em algum momento, eu precisava confirmar coisas usando uma conta diferente. Então eu fiz isso

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

# works fine

Mas desde então, toda vez que eu quero confirmar como 'nicdumz' (usuário padrão, todos os repositórios foram submetidos a check-out com esse usuário), ele solicita minha senha:

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

Ei, por que :) O mesmo acontece se eu quiser um novo checkout, pois o acesso de leitura também é protegido.

Então, tentei corrigir o problema sozinho. Eu li que ~ / .subversion / auth estava armazenando credenciais, então eu a removi do caminho:

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

Pareceu funcionar a princípio, porque o svn havia esquecido a validação de certificado:

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

O que? como isso está acontecendo?

Se você tiver sugestões para investigar mais sobre o comportamento, estou muito interessado. Se eu estiver correto, não há como fazer uma descrição detalhada svn upou algo parecido, então não tenho certeza se devo ir à investigação. Ah, e pelo que vale a pena:

$ 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

Respostas:


14

Bem, eu tive o mesmo problema e excluí o diretório auth. Eu então fiz:

svn --username xxx update

que me pediu minha senha, mas foi isso. Tudo o que posso dizer é que a exclusão do diretório auth funcionou para mim. Você tem as opções apropriadas no arquivo de servidores? Ou seja (eu acho):

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

na [global]seção. Não tenho 100% de certeza, mas pode ajudar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.