code: func NewVCSInstaller(source, version string, home helmpath.Home) (*VCSInstaller, error) {
  	key, err := cache.Key(source)
  	if err != nil {
  		return nil, err
  	}
  	cachedpath := home.Path("cache", "plugins", key)
  	repo, err := vcs.NewRepo(source, cachedpath)
  	if err != nil {
  		return nil, err
  	}
  	i := &VCSInstaller{
  		Repo:    repo,
  		Version: version,
  		base:    newBase(source, home),
  	}
  	return i, err
  }
docs: // NewVCSInstaller creates a new VCSInstaller.