it-swarm-ja.com

保存されているパスワード/ユーザーをSubversionにリセットさせ、認証資格情報を記憶させるにはどうすればよいですか?

背景:以前は、新規インストールですべてが正常に機能していました。

$ 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
Nicolas Dumazet

さて、私は同じ問題を抱えていて、authディレクトリを削除しました。私はそれから:

svn --username xxx update

パスワードを尋ねられましたが、それで終わりです。私が言えることは、authディレクトリを削除することでうまくいきました。サーバーファイルに適切なオプションがありますか?つまり(私は思う):

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

の中に [global] セクション。 100%確実ではありませんが、役立つかもしれません。

14
Max Tardiveau