From 9c96c13a35633cb032a04ccea57f1a256b6e86cd Mon Sep 17 00:00:00 2001 From: nielash Date: Mon, 6 Nov 2023 10:34:47 -0500 Subject: [PATCH] bisync: optimize --resync performance -- partially addresses #5681 Before this change, --resync was handled in three steps, and needed to do a lot of unnecessary work to implement its own --ignore-existing logic, which also caused problems with unicode normalization, in addition to being pretty slow. After this change, it is refactored to produce the same result much more efficiently, by reducing the three steps to two and letting ci.IgnoreExisting do the work instead of reinventing the wheel. The behavior and sync order remain unchanged for now -- just faster (but see the ongoing lively discussions about potential future changes in #5681!) --- cmd/bisync/listing.go | 20 ++- cmd/bisync/march.go | 36 ++++++ cmd/bisync/operations.go | 117 ++++++++---------- cmd/bisync/queue.go | 9 +- .../testdata/test_all_changed/golden/test.log | 3 +- .../_testdir_path1.._testdir_path2.path1.lst | 16 +-- ...estdir_path1.._testdir_path2.path1.lst-old | 16 +-- .../_testdir_path1.._testdir_path2.path2.lst | 16 +-- ...estdir_path1.._testdir_path2.path2.lst-old | 16 +-- .../testdata/test_basic/golden/test.log | 3 +- .../testdata/test_changes/golden/test.log | 3 +- ..._path1.._testdir_path2.resync-copy2to1.que | 1 - .../test_check_access/golden/test.log | 11 +- .../test_check_access_filters/golden/test.log | 8 +- .../test_check_filename/golden/test.log | 6 +- ...estdir_path1.._testdir_path2.path1.lst-new | 9 -- ...estdir_path1.._testdir_path2.path2.lst-new | 9 -- .../testdata/test_check_sync/golden/test.log | 6 +- ..._path1.._testdir_path2.resync-copy2to1.que | 1 - .../test_createemptysrcdirs/golden/test.log | 9 +- ..._path1.._testdir_path2.resync-copy2to1.que | 3 - ...ir_path1.._testdir_path2.path1.lst-dry-new | 7 -- ...estdir_path1.._testdir_path2.path1.lst-new | 8 -- ...ir_path1.._testdir_path2.path2.lst-dry-new | 7 -- ...estdir_path1.._testdir_path2.path2.lst-new | 8 -- ..._path1.._testdir_path2.resync-copy2to1.que | 3 - ...estdir_path1.._testdir_path2.path1.lst-new | 8 -- ...estdir_path1.._testdir_path2.path2.lst-new | 8 -- ..._path1.._testdir_path2.resync-copy2to1.que | 3 - .../testdata/test_dry_run/golden/test.log | 10 +- .../testdata/test_equal/golden/test.log | 3 +- ..._path1.._testdir_path2.resync-copy2to1.que | 1 - ...ñ.._testdir_path2_測試_Русский_____ě_áñ.path1.lst-new | 3 - ...ñ.._testdir_path2_測試_Русский_____ě_áñ.path2.lst-new | 3 - .../test_extended_char_paths/golden/test.log | 14 ++- .../test_extended_filenames/golden/test.log | 3 +- ...estdir_path1.._testdir_path2.path1.lst-new | 9 -- ...estdir_path1.._testdir_path2.path2.lst-new | 9 -- .../testdata/test_filters/golden/test.log | 3 +- ...ir_path1.._testdir_path2.path1.lst-dry-new | 4 - ...ir_path1.._testdir_path2.path2.lst-dry-new | 4 - .../test_filtersfile_checks/golden/test.log | 9 +- .../golden/test.log | 6 +- .../test_max_delete_path1/golden/test.log | 3 +- .../golden/test.log | 3 +- .../_testdir_path1.._testdir_path2.path1.lst | 8 +- ...estdir_path1.._testdir_path2.path1.lst-old | 8 +- .../_testdir_path1.._testdir_path2.path2.lst | 8 +- ...estdir_path1.._testdir_path2.path2.lst-old | 8 +- ..._path1.._testdir_path2.resync-copy2to1.que | 2 - .../test_normalization/golden/test.log | 14 +-- .../testdata/test_rclone_args/golden/test.log | 3 +- ..._path1.._testdir_path2.resync-copy2to1.que | 2 - ...1._testdir_path1.._testdir_path2.path1.lst | 16 +-- ...estdir_path1.._testdir_path2.path2.lst-new | 8 -- ..._path1.._testdir_path2.resync-copy2to1.que | 8 -- ...estdir_path1.._testdir_path2.path1.lst-new | 8 -- ...2._testdir_path1.._testdir_path2.path2.lst | 16 +-- ...estdir_path1.._testdir_path2.path1.lst-new | 6 - ...estdir_path1.._testdir_path2.path2.lst-new | 7 -- ..._path1.._testdir_path2.resync-copy2to1.que | 2 - .../testdata/test_resync/golden/test.log | 21 +--- .../testdata/test_rmdirs/golden/test.log | 3 +- .../testdata/test_volatile/golden/test.log | 3 +- docs/content/bisync.md | 26 ++-- 65 files changed, 261 insertions(+), 373 deletions(-) delete mode 100644 cmd/bisync/testdata/test_check_access/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que delete mode 100644 cmd/bisync/testdata/test_createemptysrcdirs/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que delete mode 100644 cmd/bisync/testdata/test_dry_run/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que delete mode 100644 cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.resync-copy2to1.que delete mode 100644 cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.resync-copy2to1.que delete mode 100644 cmd/bisync/testdata/test_extended_char_paths/golden/check-access-pass._testdir_path1.._testdir_path2.resync-copy2to1.que delete mode 100644 cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que delete mode 100644 cmd/bisync/testdata/test_resync/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que delete mode 100644 cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.resync-copy2to1.que delete mode 100644 cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.resync-copy2to1.que diff --git a/cmd/bisync/listing.go b/cmd/bisync/listing.go index f94883d97..70a2aaf5f 100644 --- a/cmd/bisync/listing.go +++ b/cmd/bisync/listing.go @@ -114,18 +114,24 @@ func (ls *fileList) remove(file string) { } } -func (ls *fileList) put(file string, size int64, time time.Time, hash, id string, flags string) { +func (ls *fileList) put(file string, size int64, modtime time.Time, hash, id string, flags string) { fi := ls.get(file) if fi != nil { fi.size = size - fi.time = time + // if already have higher precision of same time, avoid overwriting it + if fi.time != modtime { + if modtime.Before(fi.time) && fi.time.Sub(modtime) < time.Second { + modtime = fi.time + } + } + fi.time = modtime fi.hash = hash fi.id = id fi.flags = flags } else { fi = &fileInfo{ size: size, - time: time, + time: modtime, hash: hash, id: id, flags: flags, @@ -446,6 +452,14 @@ func (b *bisyncRun) modifyListing(ctx context.Context, src fs.Fs, dst fs.Fs, res if err != nil { return fmt.Errorf("cannot read new listing: %w", err) } + // for resync only, dstListNew will be empty, so need to use results instead + if b.opt.Resync { + for _, result := range results { + if result.Name != "" && result.IsDst { + dstListNew.put(result.Name, result.Size, result.Modtime, result.Hash, "-", result.Flags) + } + } + } srcWinners := newFileList() dstWinners := newFileList() diff --git a/cmd/bisync/march.go b/cmd/bisync/march.go index 63536063b..6e8c5bf81 100644 --- a/cmd/bisync/march.go +++ b/cmd/bisync/march.go @@ -6,6 +6,7 @@ import ( "github.com/rclone/rclone/fs" "github.com/rclone/rclone/fs/accounting" + "github.com/rclone/rclone/fs/filter" "github.com/rclone/rclone/fs/hash" "github.com/rclone/rclone/fs/march" ) @@ -183,3 +184,38 @@ func whichPath(isPath1 bool) string { } return s } + +func (b *bisyncRun) findCheckFiles(ctx context.Context) (*fileList, *fileList, error) { + ctxCheckFile, filterCheckFile := filter.AddConfig(ctx) + b.handleErr(b.opt.CheckFilename, "error adding CheckFilename to filter", filterCheckFile.Add(true, b.opt.CheckFilename), true, true) + b.handleErr(b.opt.CheckFilename, "error adding ** exclusion to filter", filterCheckFile.Add(false, "**"), true, true) + ci := fs.GetConfig(ctxCheckFile) + marchCtx = ctxCheckFile + + b.setupListing() + fs.Debugf(b, "starting to march!") + + // set up a march over fdst (Path2) and fsrc (Path1) + m := &march.March{ + Ctx: ctxCheckFile, + Fdst: b.fs2, + Fsrc: b.fs1, + Dir: "", + NoTraverse: false, + Callback: b, + DstIncludeAll: false, + NoCheckDest: false, + NoUnicodeNormalization: ci.NoUnicodeNormalization, + } + err = m.Run(ctxCheckFile) + + fs.Debugf(b, "march completed. err: %v", err) + if err == nil { + err = firstErr + } + if err != nil { + b.abort = true + } + + return ls1, ls2, err +} diff --git a/cmd/bisync/operations.go b/cmd/bisync/operations.go index fce29f4d0..70f759343 100644 --- a/cmd/bisync/operations.go +++ b/cmd/bisync/operations.go @@ -37,6 +37,8 @@ type bisyncRun struct { newListing1 string newListing2 string opt *Options + octx context.Context + fctx context.Context } type queues struct { @@ -205,6 +207,8 @@ func (b *bisyncRun) runLocked(octx context.Context) (err error) { b.retryable = true return } + b.octx = octx + b.fctx = fctx // Generate Path1 and Path2 listings and copy any unique Path2 files to Path1 if opt.Resync { @@ -365,20 +369,16 @@ func (b *bisyncRun) runLocked(octx context.Context) (err error) { func (b *bisyncRun) resync(octx, fctx context.Context) error { fs.Infof(nil, "Copying unique Path2 files to Path1") - // TODO: remove this listing eventually. - // Listing here is only really necessary for our --ignore-existing logic - // which would be more efficiently implemented by setting ci.IgnoreExisting - filesNow1, filesNow2, err := b.makeMarchListing(fctx) - if err == nil { - err = b.checkListing(filesNow1, b.newListing1, "current Path1") - } + // Save blank filelists (will be filled from sync results) + var ls1 = newFileList() + var ls2 = newFileList() + err = ls1.save(fctx, b.newListing1) if err != nil { - return err + b.abort = true } - - err = b.checkListing(filesNow2, b.newListing2, "current Path2") + err = ls2.save(fctx, b.newListing2) if err != nil { - return err + b.abort = true } // Check access health on the Path1 and Path2 filesystems @@ -386,6 +386,13 @@ func (b *bisyncRun) resync(octx, fctx context.Context) error { if b.opt.CheckAccess { fs.Infof(nil, "Checking access health") + filesNow1, filesNow2, err := b.findCheckFiles(fctx) + if err != nil { + b.critical = true + b.retryable = true + return err + } + ds1 := &deltaSet{ checkFiles: bilib.Names{}, } @@ -414,32 +421,11 @@ func (b *bisyncRun) resync(octx, fctx context.Context) error { } } - copy2to1 := []string{} - for _, file := range filesNow2.list { - if !filesNow1.has(file) { - b.indent("Path2", file, "Resync will copy to Path1") - copy2to1 = append(copy2to1, file) - } - } var results2to1 []Results var results1to2 []Results - var results2to1Dirs []Results queues := queues{} - if len(copy2to1) > 0 { - b.indent("Path2", "Path1", "Resync is doing queued copies to") - resync2to1 := bilib.ToNames(copy2to1) - altNames2to1 := bilib.Names{} - b.findAltNames(octx, b.fs1, resync2to1, b.newListing1, altNames2to1) - // octx does not have extra filters! - results2to1, err = b.fastCopy(octx, b.fs2, b.fs1, resync2to1, "resync-copy2to1", altNames2to1) - if err != nil { - b.critical = true - return err - } - } - - fs.Infof(nil, "Resynching Path1 to Path2") + b.indent("Path2", "Path1", "Resync is copying UNIQUE files to") ctxRun := b.opt.setDryRun(fctx) // fctx has our extra filters added! ctxSync, filterSync := filter.AddConfig(ctxRun) @@ -447,60 +433,51 @@ func (b *bisyncRun) resync(octx, fctx context.Context) error { // prevent overwriting Google Doc files (their size is -1) filterSync.Opt.MinSize = 0 } - if results1to2, err = b.resyncDir(ctxSync, b.fs1, b.fs2); err != nil { + ci := fs.GetConfig(ctxSync) + ci.IgnoreExisting = true + if results2to1, err = b.resyncDir(ctxSync, b.fs2, b.fs1); err != nil { b.critical = true return err } - if b.opt.CreateEmptySrcDirs { - // copy Path2 back to Path1, for empty dirs - // the fastCopy above cannot include directories, because it relies on --files-from for filtering, - // so instead we'll copy them here, relying on fctx for our filtering. - - // This preserves the original resync order for backward compatibility. It is essentially: - // rclone copy Path2 Path1 --ignore-existing - // rclone copy Path1 Path2 --create-empty-src-dirs - // rclone copy Path2 Path1 --create-empty-src-dirs - - // although if we were starting from scratch, it might be cleaner and faster to just do: - // rclone copy Path2 Path1 --create-empty-src-dirs - // rclone copy Path1 Path2 --create-empty-src-dirs - - fs.Infof(nil, "Resynching Path2 to Path1 (for empty dirs)") - - // note copy (not sync) and dst comes before src - if results2to1Dirs, err = b.resyncDir(ctxSync, b.fs2, b.fs1); err != nil { - b.critical = true - return err - } + b.indent("Path1", "Path2", "Resync is copying UNIQUE OR DIFFERING files to") + ci.IgnoreExisting = false + if results1to2, err = b.resyncDir(ctxSync, b.fs1, b.fs2); err != nil { + b.critical = true + return err } fs.Infof(nil, "Resync updating listings") b.saveOldListings() b.replaceCurrentListings() + resultsToQueue := func(results []Results) bilib.Names { + names := bilib.Names{} + for _, result := range results { + if result.Name != "" && + (result.Flags != "d" || b.opt.CreateEmptySrcDirs) && + result.IsSrc && result.Src != "" && + (result.Winner.Err == nil || result.Flags == "d") { + names.Add(result.Name) + } + } + return names + } + // resync 2to1 - queues.copy2to1 = bilib.ToNames(copy2to1) + queues.copy2to1 = resultsToQueue(results2to1) if err = b.modifyListing(fctx, b.fs2, b.fs1, results2to1, queues, false); err != nil { b.critical = true return err } // resync 1to2 - queues.copy1to2 = bilib.ToNames(filesNow1.list) + queues.copy1to2 = resultsToQueue(results1to2) if err = b.modifyListing(fctx, b.fs1, b.fs2, results1to2, queues, true); err != nil { b.critical = true return err } - // resync 2to1 (dirs) - dirs2, _ := b.listDirsOnly(2) - queues.copy2to1 = bilib.ToNames(dirs2.list) - if err = b.modifyListing(fctx, b.fs2, b.fs1, results2to1Dirs, queues, false); err != nil { - b.critical = true - return err - } - if !b.opt.NoCleanup { _ = os.Remove(b.newListing1) _ = os.Remove(b.newListing2) @@ -523,7 +500,7 @@ func (b *bisyncRun) checkSync(listing1, listing2 string) error { transformed := newFileList() for _, file := range files.list { f := files.get(file) - transformed.put(ApplyTransforms(context.Background(), fs, file), f.size, f.time, f.hash, f.id, f.flags) + transformed.put(ApplyTransforms(b.fctx, fs, file), f.size, f.time, f.hash, f.id, f.flags) } return transformed } @@ -531,15 +508,19 @@ func (b *bisyncRun) checkSync(listing1, listing2 string) error { files1Transformed := transformList(files1, b.fs1) files2Transformed := transformList(files2, b.fs2) + // DEBUG + fs.Debugf(nil, "files1Transformed: %v", files1Transformed) + fs.Debugf(nil, "files2Transformed: %v", files2Transformed) + ok := true for _, file := range files1.list { - if !files2.has(file) && !files2Transformed.has(ApplyTransforms(context.Background(), b.fs1, file)) { + if !files2.has(file) && !files2Transformed.has(ApplyTransforms(b.fctx, b.fs1, file)) { b.indent("ERROR", file, "Path1 file not found in Path2") ok = false } } for _, file := range files2.list { - if !files1.has(file) && !files1Transformed.has(ApplyTransforms(context.Background(), b.fs2, file)) { + if !files1.has(file) && !files1Transformed.has(ApplyTransforms(b.fctx, b.fs2, file)) { b.indent("ERROR", file, "Path2 file not found in Path1") ok = false } diff --git a/cmd/bisync/queue.go b/cmd/bisync/queue.go index d16f06fcc..12bcb9b69 100644 --- a/cmd/bisync/queue.go +++ b/cmd/bisync/queue.go @@ -151,13 +151,8 @@ func (b *bisyncRun) fastCopy(ctx context.Context, fsrc, fdst fs.Fs, files bilib. ignoreListingChecksum = b.opt.IgnoreListingChecksum logger.LoggerFn = WriteResults ctxCopyLogger := operations.WithSyncLogger(ctxCopy, logger) - var err error - if b.opt.Resync { - err = sync.CopyDir(ctxCopyLogger, fdst, fsrc, b.opt.CreateEmptySrcDirs) - } else { - b.testFn() - err = sync.Sync(ctxCopyLogger, fdst, fsrc, b.opt.CreateEmptySrcDirs) - } + b.testFn() + err := sync.Sync(ctxCopyLogger, fdst, fsrc, b.opt.CreateEmptySrcDirs) fs.Debugf(nil, "logger is: %v", logger) getResults := ReadResults(logger.JSON) diff --git a/cmd/bisync/testdata/test_all_changed/golden/test.log b/cmd/bisync/testdata/test_all_changed/golden/test.log index 9922112e7..ccd2c47b2 100644 --- a/cmd/bisync/testdata/test_all_changed/golden/test.log +++ b/cmd/bisync/testdata/test_all_changed/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path1.lst b/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path1.lst index f0208cb9a..86b9e86ee 100644 --- a/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path1.lst +++ b/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path1.lst @@ -1,9 +1,9 @@ # bisync listing v1 from test -- 109 - - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy1.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy2.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy3.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy4.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy5.txt" -- 19 - - 2001-01-02T00:00:00.000000000+0000 "file1.txt" -- 19 - - 2001-01-02T00:00:00.000000000+0000 "subdir/file20.txt" +- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy1.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy2.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy3.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy4.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy5.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "file1.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "subdir/file20.txt" diff --git a/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path1.lst-old b/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path1.lst-old index 7819f9efc..fbedf0f5e 100644 --- a/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path1.lst-old +++ b/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path1.lst-old @@ -1,9 +1,9 @@ # bisync listing v1 from test -- 109 - - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy1.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy2.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy3.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy4.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy5.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "subdir/file20.txt" +- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy1.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy2.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy3.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy4.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy5.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "subdir/file20.txt" diff --git a/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path2.lst b/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path2.lst index f0208cb9a..86b9e86ee 100644 --- a/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path2.lst +++ b/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path2.lst @@ -1,9 +1,9 @@ # bisync listing v1 from test -- 109 - - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy1.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy2.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy3.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy4.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy5.txt" -- 19 - - 2001-01-02T00:00:00.000000000+0000 "file1.txt" -- 19 - - 2001-01-02T00:00:00.000000000+0000 "subdir/file20.txt" +- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy1.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy2.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy3.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy4.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy5.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "file1.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "subdir/file20.txt" diff --git a/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path2.lst-old b/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path2.lst-old index 7819f9efc..fbedf0f5e 100644 --- a/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path2.lst-old +++ b/cmd/bisync/testdata/test_basic/golden/_testdir_path1.._testdir_path2.path2.lst-old @@ -1,9 +1,9 @@ # bisync listing v1 from test -- 109 - - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy1.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy2.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy3.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy4.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.copy5.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "subdir/file20.txt" +- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy1.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy2.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy3.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy4.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.copy5.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "subdir/file20.txt" diff --git a/cmd/bisync/testdata/test_basic/golden/test.log b/cmd/bisync/testdata/test_basic/golden/test.log index 8eb3e47f4..a37bbe392 100644 --- a/cmd/bisync/testdata/test_basic/golden/test.log +++ b/cmd/bisync/testdata/test_basic/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_changes/golden/test.log b/cmd/bisync/testdata/test_changes/golden/test.log index e595678da..42a58cfed 100644 --- a/cmd/bisync/testdata/test_changes/golden/test.log +++ b/cmd/bisync/testdata/test_changes/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_check_access/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_check_access/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index e042d885c..000000000 --- a/cmd/bisync/testdata/test_check_access/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1 +0,0 @@ -"RCLONE_TEST" diff --git a/cmd/bisync/testdata/test_check_access/golden/test.log b/cmd/bisync/testdata/test_check_access/golden/test.log index d99ef694d..39d7452a7 100644 --- a/cmd/bisync/testdata/test_check_access/golden/test.log +++ b/cmd/bisync/testdata/test_check_access/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -44,7 +45,8 @@ Bisync error: bisync aborted (12) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -90,9 +92,8 @@ Bisync error: bisync aborted (23) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : - Path2 Resync will copy to Path1 - RCLONE_TEST -INFO : - Path2 Resync is doing queued copies to - Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_check_access_filters/golden/test.log b/cmd/bisync/testdata/test_check_access_filters/golden/test.log index 9ade7ee1b..cf4fabcbc 100644 --- a/cmd/bisync/testdata/test_check_access_filters/golden/test.log +++ b/cmd/bisync/testdata/test_check_access_filters/golden/test.log @@ -10,7 +10,8 @@ INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}exclude-other-filtersfile.txt INFO : Storing filters file hash to {workdir/}exclude-other-filtersfile.txt.md5 INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -83,7 +84,8 @@ INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}include-other-filtersfile.txt INFO : Storing filters file hash to {workdir/}include-other-filtersfile.txt.md5 INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -142,8 +144,8 @@ INFO : Path2: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Checking access health ERROR : Access test failed: Path1 count 3, Path2 count 4 - RCLONE_TEST ERROR : -  Access test failed: Path1 file not found in Path2 - RCLONE_TEST -ERROR : -  Access test failed: Path2 file not found in Path1 - subdirX/subdirX1/RCLONE_TEST ERROR : -  Access test failed: Path2 file not found in Path1 - subdir/RCLONE_TEST +ERROR : -  Access test failed: Path2 file not found in Path1 - subdirX/subdirX1/RCLONE_TEST ERROR : Bisync critical error: check file check failed ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted diff --git a/cmd/bisync/testdata/test_check_filename/golden/test.log b/cmd/bisync/testdata/test_check_filename/golden/test.log index c860b6e20..b8be8484a 100644 --- a/cmd/bisync/testdata/test_check_filename/golden/test.log +++ b/cmd/bisync/testdata/test_check_filename/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -47,7 +48,8 @@ INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Checking access health INFO : Found 2 matching ".chk_file" files on both paths -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_check_sync/golden/check-sync-only._testdir_path1.._testdir_path2.path1.lst-new b/cmd/bisync/testdata/test_check_sync/golden/check-sync-only._testdir_path1.._testdir_path2.path1.lst-new index 6af4a00fa..4f98654dc 100644 --- a/cmd/bisync/testdata/test_check_sync/golden/check-sync-only._testdir_path1.._testdir_path2.path1.lst-new +++ b/cmd/bisync/testdata/test_check_sync/golden/check-sync-only._testdir_path1.._testdir_path2.path1.lst-new @@ -1,10 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file8.txt" diff --git a/cmd/bisync/testdata/test_check_sync/golden/check-sync-only._testdir_path1.._testdir_path2.path2.lst-new b/cmd/bisync/testdata/test_check_sync/golden/check-sync-only._testdir_path1.._testdir_path2.path2.lst-new index 6af4a00fa..4f98654dc 100644 --- a/cmd/bisync/testdata/test_check_sync/golden/check-sync-only._testdir_path1.._testdir_path2.path2.lst-new +++ b/cmd/bisync/testdata/test_check_sync/golden/check-sync-only._testdir_path1.._testdir_path2.path2.lst-new @@ -1,10 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file8.txt" diff --git a/cmd/bisync/testdata/test_check_sync/golden/test.log b/cmd/bisync/testdata/test_check_sync/golden/test.log index 277b45ff3..f971b6d1d 100644 --- a/cmd/bisync/testdata/test_check_sync/golden/test.log +++ b/cmd/bisync/testdata/test_check_sync/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -44,7 +45,8 @@ Bisync error: bisync aborted (19) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_createemptysrcdirs/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_createemptysrcdirs/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index 4f985e416..000000000 --- a/cmd/bisync/testdata/test_createemptysrcdirs/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1 +0,0 @@ -"subdir" diff --git a/cmd/bisync/testdata/test_createemptysrcdirs/golden/test.log b/cmd/bisync/testdata/test_createemptysrcdirs/golden/test.log index dd9be0d67..455296844 100644 --- a/cmd/bisync/testdata/test_createemptysrcdirs/golden/test.log +++ b/cmd/bisync/testdata/test_createemptysrcdirs/golden/test.log @@ -12,7 +12,8 @@ (10) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -94,10 +95,8 @@ subdir/ (39) : bisync resync create-empty-src-dirs INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : - Path2 Resync will copy to Path1 - subdir -INFO : - Path2 Resync is doing queued copies to - Path1 -INFO : Resynching Path1 to Path2 -INFO : Resynching Path2 to Path1 (for empty dirs) +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful (40) : list-dirs {path1/} diff --git a/cmd/bisync/testdata/test_dry_run/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_dry_run/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index 53d435fb9..000000000 --- a/cmd/bisync/testdata/test_dry_run/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1,3 +0,0 @@ -"file10.txt" -"file4.txt" -"file6.txt" diff --git a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path1.lst-dry-new b/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path1.lst-dry-new index 8ea562aab..4f98654dc 100644 --- a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path1.lst-dry-new +++ b/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path1.lst-dry-new @@ -1,8 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "file11.txt" -- 13 md5:fb3ecfb2800400fb01b0bfd39903e9fb - 2001-01-02T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 39 md5:0860a03592626642f8fd6c8bfb447d2a - 2001-03-04T00:00:00.000000000+0000 "file5.txt" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path1.lst-new b/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path1.lst-new index 8ff472b60..4f98654dc 100644 --- a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path1.lst-new +++ b/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path1.lst-new @@ -1,9 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path2.lst-dry-new b/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path2.lst-dry-new index ba1b8daab..4f98654dc 100644 --- a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path2.lst-dry-new +++ b/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path2.lst-dry-new @@ -1,8 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "file1.txt" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "file10.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 39 md5:979a803b15d27df0c31ad7d29006d10b - 2001-01-02T00:00:00.000000000+0000 "file5.txt" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "file6.txt" diff --git a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path2.lst-new b/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path2.lst-new index 8ff472b60..4f98654dc 100644 --- a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path2.lst-new +++ b/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.path2.lst-new @@ -1,9 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index 53d435fb9..000000000 --- a/cmd/bisync/testdata/test_dry_run/golden/dryrun-resync._testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1,3 +0,0 @@ -"file10.txt" -"file4.txt" -"file6.txt" diff --git a/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.path1.lst-new b/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.path1.lst-new index 8ff472b60..4f98654dc 100644 --- a/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.path1.lst-new +++ b/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.path1.lst-new @@ -1,9 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.path2.lst-new b/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.path2.lst-new index 8ff472b60..4f98654dc 100644 --- a/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.path2.lst-new +++ b/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.path2.lst-new @@ -1,9 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index 53d435fb9..000000000 --- a/cmd/bisync/testdata/test_dry_run/golden/dryrun._testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1,3 +0,0 @@ -"file10.txt" -"file4.txt" -"file6.txt" diff --git a/cmd/bisync/testdata/test_dry_run/golden/test.log b/cmd/bisync/testdata/test_dry_run/golden/test.log index f29698f0a..83019af70 100644 --- a/cmd/bisync/testdata/test_dry_run/golden/test.log +++ b/cmd/bisync/testdata/test_dry_run/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -45,14 +46,11 @@ INFO : Bisync successful (28) : bisync dry-run resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : - Path2 Resync will copy to Path1 - file10.txt -INFO : - Path2 Resync will copy to Path1 - file4.txt -INFO : - Path2 Resync will copy to Path1 - file6.txt -INFO : - Path2 Resync is doing queued copies to - Path1 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 NOTICE: file10.txt: Skipped copy as --dry-run is set (size 19) NOTICE: file4.txt: Skipped copy as --dry-run is set (size 0) NOTICE: file6.txt: Skipped copy as --dry-run is set (size 19) -INFO : Resynching Path1 to Path2 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 NOTICE: file1.txt: Skipped copy as --dry-run is set (size 0) NOTICE: file11.txt: Skipped copy as --dry-run is set (size 19) NOTICE: file2.txt: Skipped copy as --dry-run is set (size 13) diff --git a/cmd/bisync/testdata/test_equal/golden/test.log b/cmd/bisync/testdata/test_equal/golden/test.log index fe32ce710..ced7587dd 100644 --- a/cmd/bisync/testdata/test_equal/golden/test.log +++ b/cmd/bisync/testdata/test_equal/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_extended_char_paths/golden/check-access-pass._testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_extended_char_paths/golden/check-access-pass._testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index 7a6560a8a..000000000 --- a/cmd/bisync/testdata/test_extended_char_paths/golden/check-access-pass._testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1 +0,0 @@ -"測試_Русский_ _ _ě_áñ/測試_check file" diff --git a/cmd/bisync/testdata/test_extended_char_paths/golden/resync._testdir_path1_測試_Русский_____ě_áñ.._testdir_path2_測試_Русский_____ě_áñ.path1.lst-new b/cmd/bisync/testdata/test_extended_char_paths/golden/resync._testdir_path1_測試_Русский_____ě_áñ.._testdir_path2_測試_Русский_____ě_áñ.path1.lst-new index d5769bf3d..4f98654dc 100644 --- a/cmd/bisync/testdata/test_extended_char_paths/golden/resync._testdir_path1_測試_Русский_____ě_áñ.._testdir_path2_測試_Русский_____ě_áñ.path1.lst-new +++ b/cmd/bisync/testdata/test_extended_char_paths/golden/resync._testdir_path1_測試_Русский_____ě_áñ.._testdir_path2_測試_Русский_____ě_áñ.path1.lst-new @@ -1,4 +1 @@ # bisync listing v1 from test -- 272 md5:0033328434f9662a7dae0d1aee7768b6 - 2000-01-01T00:00:00.000000000+0000 "filename_contains_ě_.txt" -- 272 md5:0033328434f9662a7dae0d1aee7768b6 - 2000-01-01T00:00:00.000000000+0000 "filename_contains_ࢺ_.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "測試_check file" diff --git a/cmd/bisync/testdata/test_extended_char_paths/golden/resync._testdir_path1_測試_Русский_____ě_áñ.._testdir_path2_測試_Русский_____ě_áñ.path2.lst-new b/cmd/bisync/testdata/test_extended_char_paths/golden/resync._testdir_path1_測試_Русский_____ě_áñ.._testdir_path2_測試_Русский_____ě_áñ.path2.lst-new index d5769bf3d..4f98654dc 100644 --- a/cmd/bisync/testdata/test_extended_char_paths/golden/resync._testdir_path1_測試_Русский_____ě_áñ.._testdir_path2_測試_Русский_____ě_áñ.path2.lst-new +++ b/cmd/bisync/testdata/test_extended_char_paths/golden/resync._testdir_path1_測試_Русский_____ě_áñ.._testdir_path2_測試_Русский_____ě_áñ.path2.lst-new @@ -1,4 +1 @@ # bisync listing v1 from test -- 272 md5:0033328434f9662a7dae0d1aee7768b6 - 2000-01-01T00:00:00.000000000+0000 "filename_contains_ě_.txt" -- 272 md5:0033328434f9662a7dae0d1aee7768b6 - 2000-01-01T00:00:00.000000000+0000 "filename_contains_ࢺ_.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "測試_check file" diff --git a/cmd/bisync/testdata/test_extended_char_paths/golden/test.log b/cmd/bisync/testdata/test_extended_char_paths/golden/test.log index e0ff286c2..6b83d7542 100644 --- a/cmd/bisync/testdata/test_extended_char_paths/golden/test.log +++ b/cmd/bisync/testdata/test_extended_char_paths/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync subdir=測試_Русский_{spc}_{spc}_ě_áñ resync INFO : Synching Path1 "{path1/}測試_Русский_ _ _ě_áñ/" with Path2 "{path2/}測試_Русский_ _ _ě_áñ/" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful (04) : copy-listings resync @@ -40,7 +41,8 @@ INFO : Bisync successful (13) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful (14) : delete-file {path1/}測試_Русский_{spc}_{spc}_ě_áñ/測試_check{spc}file @@ -63,9 +65,8 @@ Bisync error: bisync aborted (18) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : - Path2 Resync will copy to Path1 - 測試_Русский_ _ _ě_áñ/測試_check file -INFO : - Path2 Resync is doing queued copies to - Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful (19) : bisync check-access check-filename=測試_check{spc}file @@ -88,7 +89,8 @@ INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}測試_filtersfile.txt INFO : Storing filters file hash to {workdir/}測試_filtersfile.txt.md5 INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful (24) : copy-as {datadir/}file1.txt {path1/} fileZ.txt diff --git a/cmd/bisync/testdata/test_extended_filenames/golden/test.log b/cmd/bisync/testdata/test_extended_filenames/golden/test.log index 790a722da..61c7b1ad6 100644 --- a/cmd/bisync/testdata/test_extended_filenames/golden/test.log +++ b/cmd/bisync/testdata/test_extended_filenames/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_filters/golden/resync._testdir_path1.._testdir_path2.path1.lst-new b/cmd/bisync/testdata/test_filters/golden/resync._testdir_path1.._testdir_path2.path1.lst-new index c3767400b..4f98654dc 100644 --- a/cmd/bisync/testdata/test_filters/golden/resync._testdir_path1.._testdir_path2.path1.lst-new +++ b/cmd/bisync/testdata/test_filters/golden/resync._testdir_path1.._testdir_path2.path1.lst-new @@ -1,10 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "subdir/file20.txt" diff --git a/cmd/bisync/testdata/test_filters/golden/resync._testdir_path1.._testdir_path2.path2.lst-new b/cmd/bisync/testdata/test_filters/golden/resync._testdir_path1.._testdir_path2.path2.lst-new index c3767400b..4f98654dc 100644 --- a/cmd/bisync/testdata/test_filters/golden/resync._testdir_path1.._testdir_path2.path2.lst-new +++ b/cmd/bisync/testdata/test_filters/golden/resync._testdir_path1.._testdir_path2.path2.lst-new @@ -1,10 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "subdir/file20.txt" diff --git a/cmd/bisync/testdata/test_filters/golden/test.log b/cmd/bisync/testdata/test_filters/golden/test.log index 2821e617b..1b1af0935 100644 --- a/cmd/bisync/testdata/test_filters/golden/test.log +++ b/cmd/bisync/testdata/test_filters/golden/test.log @@ -9,7 +9,8 @@ INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}filtersfile.flt INFO : Storing filters file hash to {workdir/}filtersfile.flt.md5 INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_filtersfile_checks/golden/_testdir_path1.._testdir_path2.path1.lst-dry-new b/cmd/bisync/testdata/test_filtersfile_checks/golden/_testdir_path1.._testdir_path2.path1.lst-dry-new index 844684626..4f98654dc 100644 --- a/cmd/bisync/testdata/test_filtersfile_checks/golden/_testdir_path1.._testdir_path2.path1.lst-dry-new +++ b/cmd/bisync/testdata/test_filtersfile_checks/golden/_testdir_path1.._testdir_path2.path1.lst-dry-new @@ -1,5 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "subdir/file20.txt" diff --git a/cmd/bisync/testdata/test_filtersfile_checks/golden/_testdir_path1.._testdir_path2.path2.lst-dry-new b/cmd/bisync/testdata/test_filtersfile_checks/golden/_testdir_path1.._testdir_path2.path2.lst-dry-new index 844684626..4f98654dc 100644 --- a/cmd/bisync/testdata/test_filtersfile_checks/golden/_testdir_path1.._testdir_path2.path2.lst-dry-new +++ b/cmd/bisync/testdata/test_filtersfile_checks/golden/_testdir_path1.._testdir_path2.path2.lst-dry-new @@ -1,5 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "subdir/file20.txt" diff --git a/cmd/bisync/testdata/test_filtersfile_checks/golden/test.log b/cmd/bisync/testdata/test_filtersfile_checks/golden/test.log index b4494cbdf..4685d005e 100644 --- a/cmd/bisync/testdata/test_filtersfile_checks/golden/test.log +++ b/cmd/bisync/testdata/test_filtersfile_checks/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -33,7 +34,8 @@ INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}filtersfile.txt INFO : Storing filters file hash to {workdir/}filtersfile.txt.md5 INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -66,7 +68,8 @@ INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}filtersfile.txt INFO : Skipped storing filters file hash to {workdir/}filtersfile.txt.md5 as --dry-run is set INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_ignorelistingchecksum/golden/test.log b/cmd/bisync/testdata/test_ignorelistingchecksum/golden/test.log index 4baad3309..cf2dcd35c 100644 --- a/cmd/bisync/testdata/test_ignorelistingchecksum/golden/test.log +++ b/cmd/bisync/testdata/test_ignorelistingchecksum/golden/test.log @@ -5,13 +5,15 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful (04) : bisync resync ignore-listing-checksum INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_max_delete_path1/golden/test.log b/cmd/bisync/testdata/test_max_delete_path1/golden/test.log index 83c33ef2d..99259ad92 100644 --- a/cmd/bisync/testdata/test_max_delete_path1/golden/test.log +++ b/cmd/bisync/testdata/test_max_delete_path1/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_max_delete_path2_force/golden/test.log b/cmd/bisync/testdata/test_max_delete_path2_force/golden/test.log index 326987c4b..b8f91faef 100644 --- a/cmd/bisync/testdata/test_max_delete_path2_force/golden/test.log +++ b/cmd/bisync/testdata/test_max_delete_path2_force/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path1.lst b/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path1.lst index 0cdecd335..76c15edcd 100644 --- a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path1.lst +++ b/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path1.lst @@ -1,5 +1,5 @@ # bisync listing v1 from test -- 19 - - 2001-01-05T00:00:00.000000000+0000 "file1.txt" -- 19 - - 2001-01-05T00:00:00.000000000+0000 "folder/HeLlO,wOrLd!.txt" -- 19 - - 2001-01-05T00:00:00.000000000+0000 "folder/éééö.txt" -- 19 - - 2001-01-05T00:00:00.000000000+0000 "測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö/測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-05T00:00:00.000000000+0000 "file1.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-05T00:00:00.000000000+0000 "folder/HeLlO,wOrLd!.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-05T00:00:00.000000000+0000 "folder/éééö.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-05T00:00:00.000000000+0000 "測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö/測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö.txt" diff --git a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path1.lst-old b/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path1.lst-old index 441434161..0f2ac67fe 100644 --- a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path1.lst-old +++ b/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path1.lst-old @@ -1,5 +1,5 @@ # bisync listing v1 from test -- 19 - - 2001-01-03T00:00:00.000000000+0000 "file1.txt" -- 19 - - 2001-01-03T00:00:00.000000000+0000 "folder/HeLlO,wOrLd!.txt" -- 19 - - 2001-01-03T00:00:00.000000000+0000 "folder/éééö.txt" -- 19 - - 2001-01-02T00:00:00.000000000+0000 "測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö/測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-03T00:00:00.000000000+0000 "file1.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-03T00:00:00.000000000+0000 "folder/HeLlO,wOrLd!.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-03T00:00:00.000000000+0000 "folder/éééö.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö/測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö.txt" diff --git a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path2.lst b/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path2.lst index f7c2c0ea6..48252d18d 100644 --- a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path2.lst +++ b/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path2.lst @@ -1,5 +1,5 @@ # bisync listing v1 from test -- 19 - - 2001-01-05T00:00:00.000000000+0000 "file1.txt" -- 19 - - 2001-01-05T00:00:00.000000000+0000 "folder/hello,WORLD!.txt" -- 19 - - 2001-01-05T00:00:00.000000000+0000 "folder/éééö.txt" -- 19 - - 2001-01-05T00:00:00.000000000+0000 "測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö/測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-05T00:00:00.000000000+0000 "file1.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-05T00:00:00.000000000+0000 "folder/hello,WORLD!.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-05T00:00:00.000000000+0000 "folder/éééö.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-05T00:00:00.000000000+0000 "測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö/測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö.txt" diff --git a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path2.lst-old b/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path2.lst-old index ab1695601..a8c82fc73 100644 --- a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path2.lst-old +++ b/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.path2.lst-old @@ -1,5 +1,5 @@ # bisync listing v1 from test -- 19 - - 2001-01-03T00:00:00.000000000+0000 "file1.txt" -- 19 - - 2001-01-03T00:00:00.000000000+0000 "folder/hello,WORLD!.txt" -- 19 - - 2001-01-03T00:00:00.000000000+0000 "folder/éééö.txt" -- 19 - - 2001-01-02T00:00:00.000000000+0000 "測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö/測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-03T00:00:00.000000000+0000 "file1.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-03T00:00:00.000000000+0000 "folder/hello,WORLD!.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-03T00:00:00.000000000+0000 "folder/éééö.txt" +- 19 md5:7fe98ed88552b828777d8630900346b8 - 2001-01-02T00:00:00.000000000+0000 "測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö/測試_Русский___ě_áñ👸🏼🧝🏾\u200d♀️💆🏿\u200d♂️🐨🤙🏼🤮🧑🏻\u200d🔧🧑\u200d🔬éééö.txt" diff --git a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index 007f0aada..000000000 --- a/cmd/bisync/testdata/test_normalization/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1,2 +0,0 @@ -"folder/hello,WORLD!.txt" -"folder/éééö.txt" diff --git a/cmd/bisync/testdata/test_normalization/golden/test.log b/cmd/bisync/testdata/test_normalization/golden/test.log index accd69d14..54045e130 100644 --- a/cmd/bisync/testdata/test_normalization/golden/test.log +++ b/cmd/bisync/testdata/test_normalization/golden/test.log @@ -6,7 +6,8 @@ (04) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -56,9 +57,8 @@ INFO : Bisync successful (16) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : - Path2 Resync will copy to Path1 - file1.txt -INFO : - Path2 Resync is doing queued copies to - Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful @@ -103,10 +103,8 @@ INFO : Bisync successful (26) : bisync resync norm INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : - Path2 Resync will copy to Path1 - folder/éééö.txt -INFO : - Path2 Resync will copy to Path1 - folder/hello,WORLD!.txt -INFO : - Path2 Resync is doing queued copies to - Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_rclone_args/golden/test.log b/cmd/bisync/testdata/test_rclone_args/golden/test.log index f92ecfe1d..e68bd7411 100644 --- a/cmd/bisync/testdata/test_rclone_args/golden/test.log +++ b/cmd/bisync/testdata/test_rclone_args/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_resync/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_resync/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index a5b6f9f63..000000000 --- a/cmd/bisync/testdata/test_resync/golden/_testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1,2 +0,0 @@ -"file2.txt" -"file4.txt" diff --git a/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.path1.lst b/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.path1.lst index a82119a44..8ff472b60 100644 --- a/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.path1.lst +++ b/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.path1.lst @@ -1,9 +1,9 @@ # bisync listing v1 from test -- 109 - - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file7.txt" +- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.path2.lst-new b/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.path2.lst-new index 8ff472b60..4f98654dc 100644 --- a/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.path2.lst-new +++ b/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.path2.lst-new @@ -1,9 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index e999f575d..000000000 --- a/cmd/bisync/testdata/test_resync/golden/empty-path1._testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1,8 +0,0 @@ -"RCLONE_TEST" -"file1.txt" -"file2.txt" -"file3.txt" -"file4.txt" -"file5.txt" -"file6.txt" -"file7.txt" diff --git a/cmd/bisync/testdata/test_resync/golden/empty-path2._testdir_path1.._testdir_path2.path1.lst-new b/cmd/bisync/testdata/test_resync/golden/empty-path2._testdir_path1.._testdir_path2.path1.lst-new index 8ff472b60..4f98654dc 100644 --- a/cmd/bisync/testdata/test_resync/golden/empty-path2._testdir_path1.._testdir_path2.path1.lst-new +++ b/cmd/bisync/testdata/test_resync/golden/empty-path2._testdir_path1.._testdir_path2.path1.lst-new @@ -1,9 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_resync/golden/empty-path2._testdir_path1.._testdir_path2.path2.lst b/cmd/bisync/testdata/test_resync/golden/empty-path2._testdir_path1.._testdir_path2.path2.lst index a82119a44..8ff472b60 100644 --- a/cmd/bisync/testdata/test_resync/golden/empty-path2._testdir_path1.._testdir_path2.path2.lst +++ b/cmd/bisync/testdata/test_resync/golden/empty-path2._testdir_path1.._testdir_path2.path2.lst @@ -1,9 +1,9 @@ # bisync listing v1 from test -- 109 - - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file4.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file6.txt" -- 0 - - 2000-01-01T00:00:00.000000000+0000 "file7.txt" +- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file4.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file6.txt" +- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.path1.lst-new b/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.path1.lst-new index 650fcc1a7..4f98654dc 100644 --- a/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.path1.lst-new +++ b/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.path1.lst-new @@ -1,7 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file1.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file3.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file5.txt" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 1999-09-09T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.path2.lst-new b/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.path2.lst-new index 26f56859a..4f98654dc 100644 --- a/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.path2.lst-new +++ b/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.path2.lst-new @@ -1,8 +1 @@ # bisync listing v1 from test -- 109 md5:294d25b294ff26a5243dba914ac3fbf7 - 2000-01-01T00:00:00.000000000+0000 "RCLONE_TEST" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file2.txt" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file3.txt" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file4.txt" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 1999-09-09T00:00:00.000000000+0000 "file5.txt" -- 19 md5:7fe98ed88552b828777d8630900346b8 - 2002-02-02T00:00:00.000000000+0000 "file6.txt" -- 0 md5:d41d8cd98f00b204e9800998ecf8427e - 2000-01-01T00:00:00.000000000+0000 "file7.txt" diff --git a/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.resync-copy2to1.que b/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.resync-copy2to1.que deleted file mode 100644 index a5b6f9f63..000000000 --- a/cmd/bisync/testdata/test_resync/golden/mixed-diffs._testdir_path1.._testdir_path2.resync-copy2to1.que +++ /dev/null @@ -1,2 +0,0 @@ -"file2.txt" -"file4.txt" diff --git a/cmd/bisync/testdata/test_resync/golden/test.log b/cmd/bisync/testdata/test_resync/golden/test.log index 41e84ce58..1ae9daea2 100644 --- a/cmd/bisync/testdata/test_resync/golden/test.log +++ b/cmd/bisync/testdata/test_resync/golden/test.log @@ -6,16 +6,8 @@ (04) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : - Path2 Resync will copy to Path1 - RCLONE_TEST -INFO : - Path2 Resync will copy to Path1 - file1.txt -INFO : - Path2 Resync will copy to Path1 - file2.txt -INFO : - Path2 Resync will copy to Path1 - file3.txt -INFO : - Path2 Resync will copy to Path1 - file4.txt -INFO : - Path2 Resync will copy to Path1 - file5.txt -INFO : - Path2 Resync will copy to Path1 - file6.txt -INFO : - Path2 Resync will copy to Path1 - file7.txt -INFO : - Path2 Resync is doing queued copies to - Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful (05) : move-listings empty-path1 @@ -25,7 +17,8 @@ INFO : Bisync successful (08) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful (09) : move-listings empty-path2 @@ -61,10 +54,8 @@ INFO : Bisync successful (30) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : - Path2 Resync will copy to Path1 - file2.txt -INFO : - Path2 Resync will copy to Path1 - file4.txt -INFO : - Path2 Resync is doing queued copies to - Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful (31) : copy-listings mixed-diffs diff --git a/cmd/bisync/testdata/test_rmdirs/golden/test.log b/cmd/bisync/testdata/test_rmdirs/golden/test.log index 5ea1bacdd..4094070a9 100644 --- a/cmd/bisync/testdata/test_rmdirs/golden/test.log +++ b/cmd/bisync/testdata/test_rmdirs/golden/test.log @@ -5,7 +5,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_volatile/golden/test.log b/cmd/bisync/testdata/test_volatile/golden/test.log index 97fce76af..8e138c011 100644 --- a/cmd/bisync/testdata/test_volatile/golden/test.log +++ b/cmd/bisync/testdata/test_volatile/golden/test.log @@ -4,7 +4,8 @@ (03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 -INFO : Resynching Path1 to Path2 +INFO : - Path2 Resync is copying UNIQUE files to - Path1 +INFO : - Path1 Resync is copying UNIQUE OR DIFFERING files to - Path2 INFO : Resync updating listings INFO : Bisync successful diff --git a/docs/content/bisync.md b/docs/content/bisync.md index 109010827..165e73db2 100644 --- a/docs/content/bisync.md +++ b/docs/content/bisync.md @@ -13,7 +13,7 @@ versionIntroduced: "v1.58" Make sure that this location is writable. - Run bisync with the `--resync` flag, specifying the paths to the local and remote sync directory roots. -- For successive sync runs, leave off the `--resync` flag. +- For successive sync runs, leave off the `--resync` flag. (**Important!**) - Consider using a [filters file](#filtering) for excluding unnecessary files and directories from the sync. - Consider setting up the [--check-access](#check-access) feature @@ -150,14 +150,8 @@ be copied to Path1, and the process will then copy the Path1 tree to Path2. The `--resync` sequence is roughly equivalent to: ``` -rclone copy Path2 Path1 --ignore-existing -rclone copy Path1 Path2 -``` -Or, if using `--create-empty-src-dirs`: -``` -rclone copy Path2 Path1 --ignore-existing -rclone copy Path1 Path2 --create-empty-src-dirs -rclone copy Path2 Path1 --create-empty-src-dirs +rclone copy Path2 Path1 --ignore-existing [--create-empty-src-dirs] +rclone copy Path1 Path2 [--create-empty-src-dirs] ``` The base directories on both Path1 and Path2 filesystems must exist @@ -169,9 +163,6 @@ will be overwritten by the Path1 filesystem version. (Note that this is [NOT entirely symmetrical](https://github.com/rclone/rclone/issues/5681#issuecomment-938761815).) Carefully evaluate deltas using [--dry-run](/flags/#non-backend-flags). -[//]: # (I reverted a recent change in the above paragraph, as it was incorrect. -https://github.com/rclone/rclone/commit/dd72aff98a46c6e20848ac7ae5f7b19d45802493 ) - For a resync run, one of the paths may be empty (no files in the path tree). The resync run should result in files on both paths, else a normal non-resync run will fail. @@ -181,6 +172,16 @@ For a non-resync run, either path being empty (no files in the tree) fails with This is a safety check that an unexpected empty path does not result in deleting **everything** in the other path. +**Note:** `--resync` should only be used under three specific (rare) circumstances: +1. It is your _first_ bisync run (between these two paths) +2. You've just made changes to your bisync settings (such as editing the contents of your `--filters-file`) +3. There was an error on the prior run, and as a result, bisync now requires `--resync` to recover + +The rest of the time, you should _omit_ `--resync`. The reason is because `--resync` will only _copy_ (not _sync_) each side to the other. +Therefore, if you included `--resync` for every bisync run, it would never be possible to delete a file -- +the deleted file would always keep reappearing at the end of every run (because it's being copied from the other side where it still exists). +Similarly, renaming a file would always result in a duplicate copy (both old and new name) on both sides. + #### --check-access Access check files are an additional safety measure against data loss. @@ -1292,6 +1293,7 @@ about _Unison_ and synchronization in general. * Initial listing snapshots of Path1 and Path2 are now generated concurrently, using the same "march" infrastructure as `check` and `sync`, for performance improvements and less [risk of error](https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=4.%20Listings%20should%20alternate%20between%20paths%20to%20minimize%20errors). * Better handling of unicode normalization and case insensitivity, support for [`--fix-case`](/docs/#fix-case), [`--ignore-case-sync`](/docs/#ignore-case-sync), [`--no-unicode-normalization`](/docs/#no-unicode-normalization) +* `--resync` is now much more efficient (especially for users of `--create-empty-src-dirs`) ### `v1.64` * Fixed an [issue](https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=1.%20Dry%20runs%20are%20not%20completely%20dry)