From 12134ea6ad40b98bdd50652591fc99f96e6edcc1 Mon Sep 17 00:00:00 2001 From: Gilbert Chen Date: Tue, 4 Jul 2017 14:50:34 -0400 Subject: [PATCH] Fixed #83: don't pass unchanged files to the chunk downloader --- src/duplicacy_backupmanager.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/duplicacy_backupmanager.go b/src/duplicacy_backupmanager.go index dbe8b46..248ce1a 100644 --- a/src/duplicacy_backupmanager.go +++ b/src/duplicacy_backupmanager.go @@ -749,6 +749,7 @@ func (manager *BackupManager) Restore(top string, revision int, inPlace bool, qu i := 0 for _, entry := range remoteSnapshot.Files { + skipped := false // Find local files that don't exist in the remote snapshot for i < len(localSnapshot.Files) { local := localSnapshot.Files[i] @@ -760,11 +761,18 @@ func (manager *BackupManager) Restore(top string, revision int, inPlace bool, qu } else { if compare == 0 { i++ + if quickMode && local.IsSameAs(entry) { + skipped = true + } } break } } + if skipped { + continue + } + fullPath := joinPath(top, entry.Path) if entry.IsLink() { stat, err := os.Lstat(fullPath)