@@ -639,7 +639,11 @@ def register_local_config(self, file_or_dir: str) -> None:
639639 original_config_ref = self .config
640640 self .config = copy .deepcopy (self .config )
641641 _config_initialization (
642- self , self ._cli_args , reporter = self .reporter , config_file = local_conf
642+ self ,
643+ self ._cli_args ,
644+ reporter = self .reporter ,
645+ config_file = local_conf ,
646+ verbose_mode = self .config .verbose ,
643647 )
644648 self ._directory_namespaces [basedir .resolve ()] = (self .config , {})
645649 # keep dict keys reverse-sorted so that
@@ -958,24 +962,29 @@ def set_current_module(self, modname: str, filepath: str | None = None) -> None:
958962 # If there is an actual filepath we might need to update the config attribute
959963 if filepath and self .config .use_local_configs :
960964 self .register_local_config (filepath )
961- namespace = self ._get_namespace_for_file (
965+ config_path , namespace = self ._get_namespace_for_file (
962966 Path (filepath ), self ._directory_namespaces
963967 )
964968 if namespace :
965- self .config = namespace or self ._base_config
969+ self .config = namespace
970+ if self .config .verbose :
971+ print (
972+ f"Using config from { config_path } for { filepath } " ,
973+ file = sys .stderr ,
974+ )
966975
967976 def _get_namespace_for_file (
968977 self , filepath : Path , namespaces : DirectoryNamespaceDict
969- ) -> argparse .Namespace | None :
978+ ) -> tuple [ Path | None , argparse .Namespace | None ] :
970979 filepath = filepath .resolve ()
971980 for directory in namespaces :
972981 if _is_relative_to (filepath , directory ):
973- namespace = self ._get_namespace_for_file (
982+ _ , namespace = self ._get_namespace_for_file (
974983 filepath , namespaces [directory ][1 ]
975984 )
976985 if namespace is None :
977- return namespaces [directory ][0 ]
978- return None
986+ return directory , namespaces [directory ][0 ]
987+ return None , None
979988
980989 @contextlib .contextmanager
981990 def _astroid_module_checker (
0 commit comments