code: func (m *Manager) hasAllRepos(deps []*chartutil.Dependency) error {
  	rf, err := repo.LoadRepositoriesFile(m.HelmHome.RepositoryFile())
  	if err != nil {
  		return err
  	}
  	repos := rf.Repositories
  
  	// Verify that all repositories referenced in the deps are actually known
  	// by Helm.
  	missing := []string{}
  	for _, dd := range deps {
  		// If repo is from local path, continue
  		if strings.HasPrefix(dd.Repository, "file://") {
  			continue
  		}
  
  		found := false
  		if dd.Repository == "" {
  			found = true
  		} else {
  			for _, repo := range repos {
  				if urlutil.Equal(repo.URL, strings.TrimSuffix(dd.Repository, "/")) {
  					found = true
  				}
  			}
  		}
  		if !found {
  			missing = append(missing, dd.Repository)
  		}
  	}
  	if len(missing) > 0 {
  		return fmt.Errorf("no repository definition for %s. Please add the missing repos via 'helm repo add'", strings.Join(missing, ", "))
  	}
  	return nil
  }
docs: // hasAllRepos ensures that all of the referenced deps are in the local repo cache.