diff --git a/internal/model/puller.go b/internal/model/puller.go index 23727c8a..679f8e7f 100644 --- a/internal/model/puller.go +++ b/internal/model/puller.go @@ -370,7 +370,10 @@ nextFile: continue } - if !f.IsSymlink() { + // Local file can be already deleted, but with a lower version + // number, hence the deletion coming in again as part of + // WithNeed + if !f.IsSymlink() && !f.IsDeleted() { key := string(f.Blocks[0].Hash) for i, candidate := range buckets[key] { if scanner.BlocksEqual(candidate.Blocks, f.Blocks) {