operations: display 'All duplicates removed' only if dedupe successful -fixes rclone#3550

This commit is contained in:
Sezal Agrawal 2019-09-20 00:12:17 +05:30 committed by Nick Craig-Wood
parent 572d302620
commit 5c2dfeee46

View File

@ -85,13 +85,16 @@ func dedupeDeleteIdentical(ctx context.Context, ht hash.Type, remote string, obj
// Delete identical duplicates, filling remainingObjs with the ones remaining
for md5sum, hashObjs := range byHash {
remainingObjs = append(remainingObjs, hashObjs[0])
if len(hashObjs) > 1 {
fs.Logf(remote, "Deleting %d/%d identical duplicates (%v %q)", len(hashObjs)-1, len(hashObjs), ht, md5sum)
for _, o := range hashObjs[1:] {
_ = DeleteFile(ctx, o)
err := DeleteFile(ctx, o)
if err != nil {
remainingObjs = append(remainingObjs, o)
}
}
}
remainingObjs = append(remainingObjs, hashObjs[0])
}
return remainingObjs