提交 082afee6 编写于 作者: M Matthijs Kooijman 提交者: Eric Wong

git-svn: use platform specific auth providers

On Linux, this makes authentication using passwords from gnome-keyring
and kwallet work (only the former was tested). On Mac OS X, this allows
using the OS X Keychain.
Signed-off-by: NMatthijs Kooijman <matthijs@stdin.nl>
Acked-by: NEric Wong <normalperson@yhbt.net>
上级 010b260e
......@@ -5444,7 +5444,7 @@ BEGIN
}
sub _auth_providers () {
[
my @rv = (
SVN::Client::get_simple_provider(),
SVN::Client::get_ssl_server_trust_file_provider(),
SVN::Client::get_simple_prompt_provider(
......@@ -5460,7 +5460,23 @@ ()
\&Git::SVN::Prompt::ssl_server_trust),
SVN::Client::get_username_prompt_provider(
\&Git::SVN::Prompt::username, 2)
]
);
# earlier 1.6.x versions would segfault, and <= 1.5.x didn't have
# this function
if ($SVN::Core::VERSION gt '1.6.12') {
my $config = SVN::Core::config_get_config($config_dir);
my ($p, @a);
# config_get_config returns all config files from
# ~/.subversion, auth_get_platform_specific_client_providers
# just wants the config "file".
@a = ($config->{'config'}, undef);
$p = SVN::Core::auth_get_platform_specific_client_providers(@a);
# Insert the return value from
# auth_get_platform_specific_providers
unshift @rv, @$p;
}
\@rv;
}
sub escape_uri_only {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册