1
mirror of https://github.com/rclone/rclone synced 2024-12-01 10:31:57 +01:00

operations: don't calculate checksums when using --ignore-checksum #3419

Before this change we calculated the checkums when using
--ignore-checksum but ignored them at the end.

Now we don't calculate the checksums at all which is more efficient.
This commit is contained in:
Nick Craig-Wood 2019-08-10 10:40:12 +01:00
parent ae9c0e56c8
commit f9ceade9b4

View File

@ -282,7 +282,7 @@ func Copy(ctx context.Context, f fs.Fs, dst fs.Object, remote string, src fs.Obj
// work out which hash to use - limit to 1 hash in common // work out which hash to use - limit to 1 hash in common
var common hash.Set var common hash.Set
hashType := hash.None hashType := hash.None
if !fs.Config.SizeOnly { if !fs.Config.SizeOnly && !fs.Config.IgnoreChecksum {
common = src.Fs().Hashes().Overlap(f.Hashes()) common = src.Fs().Hashes().Overlap(f.Hashes())
if common.Count() > 0 { if common.Count() > 0 {
hashType = common.GetOne() hashType = common.GetOne()
@ -392,7 +392,7 @@ func Copy(ctx context.Context, f fs.Fs, dst fs.Object, remote string, src fs.Obj
} }
// Verify hashes are the same after transfer - ignoring blank hashes // Verify hashes are the same after transfer - ignoring blank hashes
if !fs.Config.IgnoreChecksum && hashType != hash.None { if hashType != hash.None {
// checkHashes has logged and counted errors // checkHashes has logged and counted errors
equal, _, srcSum, dstSum, _ := checkHashes(ctx, src, dst, hashType) equal, _, srcSum, dstSum, _ := checkHashes(ctx, src, dst, hashType)
if !equal { if !equal {