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: Matthijs Kooijman <matthijs@stdin.nl> Acked-by: Eric Wong <normalperson@yhbt.net>maint
							parent
							
								
									010b260e6f
								
							
						
					
					
						commit
						082afee621
					
				
							
								
								
									
										20
									
								
								git-svn.perl
								
								
								
								
							
							
						
						
									
										20
									
								
								git-svn.perl
								
								
								
								
							|  | @ -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 @@ sub _auth_providers () { | |||
| 	    \&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 { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Matthijs Kooijman
						Matthijs Kooijman