# HG changeset patch # User Durham Goode # Date 1470098281 25200 # Node ID 09a5699cc3cbbb0001200e8501ee270be7f2e5c8 # Parent 2fd3549c8a5fd54a6d90fb24c9d1e5eb5c8c0123 convert: move svn config initializer out of the module level The svn_config_get_config config call was being called at the module level, but had the potential to throw permission denied errors if ~/.subversion/servers was not readable. This could happen in certain test environments where the user permissions were very particular. This prevented the remotenames extension from loading, since it imports convert's hg module, which imports convert's subversion module, which calls this. The config is only ever used from this one constructor, so let's just move it in to there. diff -r 2fd3549c8a5f -r 09a5699cc3cb hgext/convert/transport.py --- a/hgext/convert/transport.py Thu Aug 04 19:53:46 2016 +0800 +++ b/hgext/convert/transport.py Mon Aug 01 17:38:01 2016 -0700 @@ -34,8 +34,7 @@ # won't work worth a darn against those libraries anyway! svn.ra.initialize() -svn_config = svn.core.svn_config_get_config(None) - +svn_config = None def _create_auth_baton(pool): """Create a Subversion authentication baton. """ @@ -88,6 +87,9 @@ svn.core.svn_auth_set_parameter( ab, svn.core.SVN_AUTH_PARAM_DEFAULT_PASSWORD, self.password) self.client.auth_baton = ab + global svn_config + if svn_config is None: + svn_config = svn.core.svn_config_get_config(None) self.client.config = svn_config try: self.ra = svn.client.open_ra_session(