{"thread":{"id":"25065","subject":"[PATCH] git-svn: Use platform-specific svn authentication providers (e.g., gnome-keyring)","startedAt":"2010-09-10T10:07:05Z","lastAt":"2010-09-10T10:07:05Z","messageCount":1,"participants":["Matthijs Kooijman"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"150431","messageId":"20100910100705.GJ22067@login.drsnuggles.stderr.nl","threadId":"25065","inReplyTo":null,"subject":"[PATCH] git-svn: Use platform-specific svn authentication providers (e.g., gnome-keyring)","fromName":"Matthijs Kooijman","fromEmail":"matthijs@stdin.nl","sentAt":"2010-09-10T10:07:05Z","receivedAt":"2010-09-10T10:07:05Z","isPatch":true,"sender":{"key":"matthijs@stdin.nl","avatar":"https://avatars.githubusercontent.com/u/194491?v=4"},"body":"Hi folks,\n\nI've create below patch to make git work with platform-specific\nauthentication providers (in particular, I needed this to get my svn\npasswords out of gnome-keyring, which isn't working currently).\n\nIndex: git-core/git-svn\n===================================================================\n--- git-core.orig/git-svn       2010-09-08 20:11:16.000000000 +0200\n+++ git-core/git-svn    2010-09-08 20:26:38.000000000 +0200\n@@ -4830,6 +4830,7 @@\n \n sub _auth_providers () {\n        [\n+         @{SVN::Core::auth_get_platform_specific_client_providers(undef, undef)},\n          SVN::Client::get_simple_provider(),\n          SVN::Client::get_ssl_server_trust_file_provider(),\n          SVN::Client::get_simple_prompt_provider(\n\nNote that the auth_get_platform_specific_client_provides function used is not\nworking correctly in current versions of SVN, I've posted a separate patch to\nfix the perl bindings there [1].\n\n[1]: http://svn.haxx.se/dev/archive-2010-09/0171.shtml\n\nFurthermore, the function accepts two parameters: $config and $pool. I've left\nboth undef here, which works. For $config, this means the default set of\nproviders is used. I'm not sure what the implications are of not passing a\n$pool, any comments?\n\nThe _auth_providers function is called from:\n - Git::SVN::Ra::new, where a $config and $pool would be available.\n - Git::SVN::Ra::trees_match, where neither is readily available (though\n   looking more closely, it seems that both values are in fact stored in $self in\n   the new method, so they would be available.\n - cmd_branch, where neither seems to be available.\n\nSo it does not seem trivial to pass in useful values for these two arguments in\nall places. Any ideas on what would be a good way to handle this?\n\nWhat's the idea behind custom SVN configuration anyway?  From the sources, it\nseems that only a few commands allow specifying the SVN configuration, through\nthe --config-dir option (namely init, migrate, fetch, clone, dcommit, set-tree,\nmulti-fetch, rebase, but notably not dcommit).\n\nGr.\n\nMatthijs\n"}]}