diff options
Diffstat (limited to 'receivepack/internal/service/quarantine.go')
| -rw-r--r-- | receivepack/internal/service/quarantine.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/receivepack/internal/service/quarantine.go b/receivepack/internal/service/quarantine.go index f263186b..97a85959 100644 --- a/receivepack/internal/service/quarantine.go +++ b/receivepack/internal/service/quarantine.go @@ -169,16 +169,17 @@ func finalizeQuarantineFile( return applyPromotedFilePermissions(root, dst, perms) case !errors.Is(err, fs.ErrExist): _, statErr := root.Stat(dst) - if statErr == nil { + switch { + case statErr == nil: err = fs.ErrExist - } else if errors.Is(statErr, fs.ErrNotExist) { + case errors.Is(statErr, fs.ErrNotExist): renameErr := root.Rename(src, dst) if renameErr == nil { return applyPromotedFilePermissions(root, dst, perms) } err = renameErr - } else { + default: _ = root.Remove(src) return statErr |
