From d6388c11bc6763516dbac492b12bb63f1944a23f Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 18 Nov 2017 18:03:30 -0800 Subject: [PATCH] add dir pruning --- prune.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/prune.go b/prune.go index 1d82085..496788c 100644 --- a/prune.go +++ b/prune.go @@ -140,19 +140,26 @@ func (p Pruner) Prune() (*Stats, error) { "dir": info.IsDir(), }) + // keep if !p.prune(path, info) { ctx.Debug("keep") return nil } - if info.IsDir() { - return filepath.SkipDir - } - + // prune ctx.Info("prune") stats.FilesRemoved++ stats.SizeRemoved += info.Size() + // remove and skip dir + if info.IsDir() { + if err := os.RemoveAll(path); err != nil { + return errors.Wrap(err, "removing dir") + } + return filepath.SkipDir + } + + // remove file if err := os.Remove(path); err != nil { return errors.Wrap(err, "removing") }