C. Michael Pilato wrote on Thu, Jul 26, 2012 at 16:54:48 -0400: > On 07/26/2012 04:33 PM, Bert Huijben wrote: > > > > > >> -----Original Message----- > >> From: C. Michael Pilato [mailto:cmpil...@collab.net] > >> Sent: donderdag 26 juli 2012 22:13 > >> To: Subversion Development > >> Subject: Third-party provider funcs in our API: did we expose too much? > >> > >> Can anyone explain to me why the following symbols are exposed in the > >> public > >> Subversion API? > >> > >> svn_auth_get_platform_specific_provider > >> svn_auth_get_windows_simple_provider > >> svn_auth_get_windows_ssl_client_cert_pw_provider > >> svn_auth_get_windows_ssl_server_trust_provider > >> svn_auth_get_keychain_simple_provider > >> svn_auth_get_keychain_ssl_client_cert_pw_provider > >> svn_auth_get_gnome_keyring_simple_provider > >> svn_auth_get_gnome_keyring_ssl_client_cert_pw_provider > >> svn_auth_get_kwallet_simple_provider > >> svn_auth_get_kwallet_ssl_client_cert_pw_provider > >> svn_auth_get_gpg_agent_simple_provider > >> svn_auth_gnome_keyring_version > >> svn_auth_kwallet_version > >> > >> I mean, I recognize the value of what each of these functions provides, but > >> it seems to me that svn_auth_get_platform_specific_client_providers() > >> pretty > >> much obsoletes all them. > > > > You currently can't initialize a non cmdline behavior without these apis. > > (The only api that calls them for you also Initializes your console for > > you) > > > > That might be part of the reason. > > Why not just use svn_auth_get_platform_specific_client_providers(), which is > just a wrapper around svn_auth_get_platform_specific_provider() that > actually honors the runtime config? Okay, I can spot one platform-specific > provider that ..._providers() doesn't pick up for you, and that's the > Windows SSL server trust provider. But I'd be surprised if we couldn't just > plop that one into the list that ..._providers() returns, too. > > >> What's more, this latter single function actually honors the runtime > >> configuration's "password-stores" option value (which dictates the > >> availability and preferred specific ordering of third-party providers), > >> while the aforementioned list of interfaces almost begs API consumers to > >> fetch providers individually and plop them into the auth subsystem's > >> providers list without regard to the user-configured availability and > >> order. > > > > That passwords-stores option is part of the cmdline api. > > What? The password-stores option is part of the Subversion runtime > configuration.
Agreed that it should be. But if the only svn_subr_* API that _uses_ that option is svn_cmdline_init(), then _de facto_ it is part of the cmdline API... (if I understand Bert correctly)