Hi folks, I've create below patch to make git work with platform-specific authentication providers (in particular, I needed this to get my svn passwords out of gnome-keyring, which isn't working currently). Index: git-core/git-svn =================================================================== --- git-core.orig/git-svn 2010-09-08 20:11:16.000000000 +0200 +++ git-core/git-svn 2010-09-08 20:26:38.000000000 +0200 @@ -4830,6 +4830,7 @@ sub _auth_providers () { [ + @{SVN::Core::auth_get_platform_specific_client_providers(undef, undef)}, SVN::Client::get_simple_provider(), SVN::Client::get_ssl_server_trust_file_provider(), SVN::Client::get_simple_prompt_provider( Note that the auth_get_platform_specific_client_provides function used is not working correctly in current versions of SVN, I've posted a separate patch to fix the perl bindings there [1]. [1]: http://svn.haxx.se/dev/archive-2010-09/0171.shtml Furthermore, the function accepts two parameters: $config and $pool. I've left both undef here, which works. For $config, this means the default set of providers is used. I'm not sure what the implications are of not passing a $pool, any comments? The _auth_providers function is called from: - Git::SVN::Ra::new, where a $config and $pool would be available. - Git::SVN::Ra::trees_match, where neither is readily available (though looking more closely, it seems that both values are in fact stored in $self in the new method, so they would be available. - cmd_branch, where neither seems to be available. So it does not seem trivial to pass in useful values for these two arguments in all places. Any ideas on what would be a good way to handle this? What's the idea behind custom SVN configuration anyway? From the sources, it seems that only a few commands allow specifying the SVN configuration, through the --config-dir option (namely init, migrate, fetch, clone, dcommit, set-tree, multi-fetch, rebase, but notably not dcommit). Gr. Matthijs
Attachment:
signature.asc
Description: Digital signature