From 9ed158c1f63a059cde4fd5f8b95af51d452d9aa7 Mon Sep 17 00:00:00 2001 From: Shashank Date: Thu, 5 Nov 2020 22:18:55 +0530 Subject: [PATCH] Fixes #1469 : Remove file that matches with the directory path (#1478) * Fixes #1469 : Remove file that matches with the directory path * Fixes #1469 : Remove file that matches with the directory path * Fixes #1469 : Fix lint errors * Fixes #1469 : Fix lint errors * Fixes #1469 : Fix lint errors * Fixes #1469 : Reduce conditional depth * Fixes #1469 : Remove an additional line Co-authored-by: anugu-chegg --- pkg/util/fs_util.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/util/fs_util.go b/pkg/util/fs_util.go index 3576a3977..90972e0ed 100644 --- a/pkg/util/fs_util.go +++ b/pkg/util/fs_util.go @@ -749,6 +749,15 @@ func Volumes() []string { } func mkdirAllWithPermissions(path string, mode os.FileMode, uid, gid int64) error { + // Check if a file already exists on the path, if yes then delete it + info, err := os.Stat(path) + if !os.IsNotExist(err) && !info.IsDir() { + logrus.Tracef("removing file because it needs to be a directory %s", path) + if err := os.Remove(path); err != nil { + return errors.Wrapf(err, "error removing %s to make way for new directory.", path) + } + } + if err := os.MkdirAll(path, mode); err != nil { return err }