3
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/apacheapt-get

私が変更した設定は、後で新しくインストールしたSVNのものです。

誰かがこれを解決する方法を教えてもらえますか? Perl スクリプトが常に資格情報を要求するようにします。

4

1 に答える 1