From 4ffb9dfb4b29ddbce43e7f62063f1646df744805 Mon Sep 17 00:00:00 2001 From: xuhaigang Date: Thu, 24 Aug 2017 12:31:54 +0800 Subject: [PATCH] Fix(helm): Fix the bug of dependency update deleting subcharts In Helm 2.6.0, the new delete feature that deletes old versions of charts is deleting subcharts that aren't in requirements.yaml. In this patch, I judge the dependency whether it is included in the requirements.yaml before deleting it. Closes #2830 --- pkg/downloader/manager.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/downloader/manager.go b/pkg/downloader/manager.go index 388010fbc..c8f7299ac 100644 --- a/pkg/downloader/manager.go +++ b/pkg/downloader/manager.go @@ -217,9 +217,16 @@ func (m *Manager) downloadAll(deps []*chartutil.Dependency) error { } fmt.Fprintln(m.Out, "Deleting outdated charts") + c, _ := m.loadChartDir() + req, _ := chartutil.LoadRequirements(c) for _, dep := range deps { - if err := m.safeDeleteDep(dep.Name, destPath); err != nil { - return err + for _, r := range req.Dependencies { + if dep.Name == r.Name { + if err := m.safeDeleteDep(dep.Name, destPath); err != nil { + return err + } + break + } } }