sync: --update/-u not transfer files that haven't changed - fixes #3232
Before this change --update would transfer any file which was newer than the destination regardless of whether it had changed or not. This is needlessly wasteful of bandwidth. After this change --update will only transfer files if they are newer **and** they are different (checked with checksum and size).
This commit is contained in:
parent
65a82fe77d
commit
f3b0f8a9f0
3 changed files with 78 additions and 31 deletions
|
@ -972,10 +972,22 @@ func TestSyncWithUpdateOlder(t *testing.T) {
|
|||
fs.Config.ModifyWindow = oldModifyWindow
|
||||
}()
|
||||
|
||||
accounting.GlobalStats().ResetCounters()
|
||||
err := Sync(context.Background(), r.Fremote, r.Flocal, false)
|
||||
require.NoError(t, err)
|
||||
fstest.CheckItems(t, r.Fremote, oneO, twoF, threeO, fourF, fiveF)
|
||||
|
||||
if r.Fremote.Hashes().Count() == 0 {
|
||||
t.Logf("Skip test with --checksum as no hashes supported")
|
||||
return
|
||||
}
|
||||
|
||||
// now enable checksum
|
||||
fs.Config.CheckSum = true
|
||||
defer func() { fs.Config.CheckSum = false }()
|
||||
|
||||
err = Sync(context.Background(), r.Fremote, r.Flocal, false)
|
||||
require.NoError(t, err)
|
||||
fstest.CheckItems(t, r.Fremote, oneO, twoF, threeF, fourF, fiveF)
|
||||
}
|
||||
|
||||
// Test with TrackRenames set
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue