code: def config_reader(self, config_level=None):
          
          files = None
          if config_level is None:
              files = [self._get_config_path(f) for f in self.config_level]
          else:
              files = [self._get_config_path(config_level)]
          return GitConfigParser(files, read_only=True)
docs: :return:
              GitConfigParser allowing to read the full git configuration, but not to write it
  
              The configuration will include values from the system, user and repository
              configuration files.
  
          :param config_level:
              For possible values, see config_writer method
              If None, all applicable levels will be used. Specify a level in case
              you know which file you wish to read to prevent reading multiple files.
          :note: On windows, system configuration cannot currently be read as the path is
              unknown, instead the global path will be used.