use SVN::Client;
my $ctx = new SVN::Client(
auth => [SVN::Client::get_simple_provider(),
SVN::Client::get_simple_prompt_provider(\&simple_prompt,2),
SVN::Client::get_username_provider()]
);
$ctx->cat(\*STDOUT, 'http://mysvn.repo.com/www/xxx','HEAD');
sub simple_prompt {
my $cred = shift;
my $realm = shift;
my $default_username = shift;
my $may_save = shift;
my $pool = shift;
print "Enter authentication info for realm: $realm\n";
print "Username: ";
my $username = <>;
chomp($username);
$cred->username($username);
print "Password: ";
my $password = <>;
chomp($password);
$cred->password($password);
}
問題
最初のログイン後、SVN は資格情報をキャッシュしており、認証を再度入力するように求めません。config
&ファイルの特定のエントリを有効にして、servers
キャッシュを無効にしました。しかし、うまくいきませんでした。
もう1つ:
をSVN::Client
使用してインストールし、を使用してライブラリをCPAN
インストールしました。perl モジュールでどの SVN が使用されているかわかりません。svn/apache
apt-get
私が変更した設定は、後で新しくインストールしたSVNのものです。
誰かがこれを解決する方法を教えてもらえますか? Perl スクリプトが常に資格情報を要求するようにします。