docs: def _get_config_generator(filename):
      """
      A generator which populates and return a dict.
  
      :parse filename: A string containing the path to YAML file.
      :return: dict
      """
      for d in _get_config(filename):
          repo = d['git']
          parsedrepo = giturlparse.parse(repo)
          name = '{}.{}'.format(parsedrepo.owner, parsedrepo.name)
          src_dir = os.path.join(_get_clone_dir(), name)
          files = d.get('files')
          post_commands = d.get('post_commands', [])
          dst_dir = None
          if not files:
              dst_dir = _get_dst_dir(d['dst'])
          yield {
              'git': repo,
              'lock_file': _get_lock_file(name),
              'version': d['version'],
              'name': name,
              'src': src_dir,
              'dst': dst_dir,
              'files': _get_files_config(src_dir, files),
              'post_commands': post_commands,
          }