Allow same deps with same name but different repo. Fix #7413

Signed-off-by: Tarek Marcé <tarek.marce@free.fr>
pull/30976/head
Tarek Marcé 11 months ago
parent dd8d409a74
commit 6bd8277e2d

@ -108,6 +108,10 @@ func (r *Resolver) Resolve(reqs []*chart.Dependency, repoNames map[string]string
}
repoName := repoNames[d.Name]
if d.Alias != "" {
repoName = repoNames[d.Alias]
}
// if the repository was not defined, but the dependency defines a repository url, bypass the cache
if repoName == "" && d.Repository != "" {
locked[i] = &chart.Dependency{

@ -572,6 +572,10 @@ func (m *Manager) resolveRepoNames(deps []*chart.Dependency) (map[string]string,
// by Helm.
missing := []string{}
for _, dd := range deps {
chartName := dd.Name
if dd.Alias != "" {
chartName = dd.Alias
}
// Don't map the repository, we don't need to download chart from charts directory
if dd.Repository == "" {
continue
@ -585,12 +589,12 @@ func (m *Manager) resolveRepoNames(deps []*chart.Dependency) (map[string]string,
if m.Debug {
fmt.Fprintf(m.Out, "Repository from local path: %s\n", dd.Repository)
}
reposMap[dd.Name] = dd.Repository
reposMap[chartName] = dd.Repository
continue
}
if registry.IsOCI(dd.Repository) {
reposMap[dd.Name] = dd.Repository
reposMap[chartName] = dd.Repository
continue
}
@ -601,11 +605,11 @@ func (m *Manager) resolveRepoNames(deps []*chart.Dependency) (map[string]string,
(strings.HasPrefix(dd.Repository, "alias:") && strings.TrimPrefix(dd.Repository, "alias:") == repo.Name) {
found = true
dd.Repository = repo.URL
reposMap[dd.Name] = repo.Name
reposMap[chartName] = repo.Name
break
} else if urlutil.Equal(repo.URL, dd.Repository) {
found = true
reposMap[dd.Name] = repo.Name
reposMap[chartName] = repo.Name
break
}
}

Loading…
Cancel
Save