From 0cac5d67abc048a8bfad7487e52a40ae7b35ff87 Mon Sep 17 00:00:00 2001 From: nielash Date: Mon, 6 Nov 2023 06:59:41 -0500 Subject: [PATCH] bisync: introduce terminal colors This introduces a few basic color codings to make the terminal output more readable (and more fun). Rclone's standard --color flag is supported. (AUTO|NEVER|ALWAYS) Only a few lines have colors right now -- more will probably be added in future versions. --- cmd/bisync/bisync_test.go | 23 +- cmd/bisync/log.go | 13 +- cmd/bisync/operations.go | 13 +- .../testdata/test_all_changed/golden/test.log | 118 ++--- .../testdata/test_basic/golden/test.log | 32 +- .../testdata/test_changes/golden/test.log | 126 ++--- .../test_check_access/golden/test.log | 86 ++-- .../test_check_access_filters/golden/test.log | 130 ++--- .../test_check_filename/golden/test.log | 46 +- .../testdata/test_check_sync/golden/test.log | 68 +-- .../test_createemptysrcdirs/golden/test.log | 152 +++--- .../testdata/test_dry_run/golden/test.log | 192 +++---- .../testdata/test_equal/golden/test.log | 56 +- .../test_extended_char_paths/golden/test.log | 88 ++-- .../test_extended_filenames/golden/test.log | 130 ++--- .../testdata/test_filters/golden/test.log | 32 +- .../test_filtersfile_checks/golden/test.log | 66 +-- .../golden/test.log | 36 +- .../test_max_delete_path1/golden/test.log | 66 +-- .../golden/test.log | 66 +-- .../testdata/test_rclone_args/golden/test.log | 46 +- .../testdata/test_resync/golden/test.log | 108 ++-- .../testdata/test_rmdirs/golden/test.log | 42 +- .../testdata/test_volatile/golden/test.log | 484 +++++++++--------- 24 files changed, 1118 insertions(+), 1101 deletions(-) diff --git a/cmd/bisync/bisync_test.go b/cmd/bisync/bisync_test.go index 89b6b18ee..11a0862c3 100644 --- a/cmd/bisync/bisync_test.go +++ b/cmd/bisync/bisync_test.go @@ -35,6 +35,7 @@ import ( "github.com/rclone/rclone/fstest" "github.com/rclone/rclone/lib/atexit" "github.com/rclone/rclone/lib/random" + "github.com/rclone/rclone/lib/terminal" "golang.org/x/text/unicode/norm" "github.com/pmezard/go-difflib/difflib" @@ -106,8 +107,8 @@ var logHoppers = []string{ // Some log lines can contain Windows path separator that must be // converted to "/" in every matching token to match golden logs. var logLinesWithSlash = []string{ - `\(\d\d\) : (touch-glob|touch-copy|copy-file|copy-as|copy-dir|delete-file) `, - `INFO : - Path[12] +Queue copy to Path[12] `, + `.*\(\d\d\) :.*(touch-glob|touch-copy|copy-file|copy-as|copy-dir|delete-file) `, + `INFO : - .*Path[12].* +.*Queue copy to Path[12].*`, `INFO : Synching Path1 .*? with Path2 `, `INFO : Validating listings for `, } @@ -169,6 +170,10 @@ type bisyncTest struct { TestFn bisync.TestFunc } +const TerminalColorMode = fs.TerminalColorModeAlways + +var color = bisync.Color + // TestBisync is a test engine for bisync test cases. func TestBisync(t *testing.T) { ctx := context.Background() @@ -379,16 +384,16 @@ func (b *bisyncTest) runTestCase(ctx context.Context, t *testing.T, testCase str var passed bool switch errorCount { case 0: - msg = fmt.Sprintf("TEST %s PASSED", b.testCase) + msg = color(terminal.GreenFg, fmt.Sprintf("TEST %s PASSED", b.testCase)) passed = true case -2: - msg = fmt.Sprintf("TEST %s SKIPPED", b.testCase) + msg = color(terminal.YellowFg, fmt.Sprintf("TEST %s SKIPPED", b.testCase)) passed = true case -1: - msg = fmt.Sprintf("TEST %s FAILED - WRONG NUMBER OF FILES", b.testCase) + msg = color(terminal.RedFg, fmt.Sprintf("TEST %s FAILED - WRONG NUMBER OF FILES", b.testCase)) passed = false default: - msg = fmt.Sprintf("TEST %s FAILED - %d MISCOMPARED FILES", b.testCase, errorCount) + msg = color(terminal.RedFg, fmt.Sprintf("TEST %s FAILED - %d MISCOMPARED FILES", b.testCase, errorCount)) buckets := b.fs1.Features().BucketBased || b.fs2.Features().BucketBased passed = false if b.testCase == "rmdirs" && buckets { @@ -455,7 +460,7 @@ func (b *bisyncTest) cleanupCase(ctx context.Context) { func (b *bisyncTest) runTestStep(ctx context.Context, line string) (err error) { var fsrc, fdst fs.Fs accounting.Stats(ctx).ResetErrors() - b.logPrintf("%s %s", b.stepStr, line) + b.logPrintf("%s %s", color(terminal.CyanFg, b.stepStr), color(terminal.BlueFg, line)) ci := fs.GetConfig(ctx) ciSave := *ci @@ -900,7 +905,7 @@ func (b *bisyncTest) compareResults() int { if goldenNum != resultNum { log.Print(divider) - log.Printf("MISCOMPARE - Number of Golden and Results files do not match:") + log.Print(color(terminal.RedFg, "MISCOMPARE - Number of Golden and Results files do not match:")) log.Printf(" Golden count: %d", goldenNum) log.Printf(" Result count: %d", resultNum) log.Printf(" Golden files: %s", strings.Join(goldenFiles, ", ")) @@ -950,7 +955,7 @@ func (b *bisyncTest) compareResults() int { require.NoError(b.t, err, "diff failed") log.Print(divider) - log.Printf("| MISCOMPARE -Golden vs +Results for %s", file) + log.Printf(color(terminal.RedFg, "| MISCOMPARE -Golden vs +Results for %s"), file) for _, line := range strings.Split(strings.TrimSpace(text), "\n") { log.Printf("| %s", strings.TrimSpace(line)) } diff --git a/cmd/bisync/log.go b/cmd/bisync/log.go index 6c4a7dfc2..5a7ce507a 100644 --- a/cmd/bisync/log.go +++ b/cmd/bisync/log.go @@ -7,6 +7,7 @@ import ( "strings" "github.com/rclone/rclone/fs" + "github.com/rclone/rclone/lib/terminal" ) func (b *bisyncRun) indentf(tag, file, format string, args ...interface{}) { @@ -25,7 +26,11 @@ func (b *bisyncRun) indent(tag, file, msg string) { tag = tag[1:] logf = fs.Logf } - logf(nil, "- %-9s%-35s - %s", tag, msg, escapePath(file, false)) + + tag = Color(terminal.BlueFg, tag) + msg = Color(terminal.MagentaFg, msg) + file = Color(terminal.CyanFg, escapePath(file, false)) + logf(nil, "- %-18s%-43s - %s", tag, msg, file) } // escapePath will escape control characters in path. @@ -47,3 +52,9 @@ func escapePath(path string, forceQuotes bool) string { func quotePath(path string) string { return escapePath(path, true) } + +// Color handles terminal colors for bisync +func Color(style string, s string) string { + terminal.Start() + return style + s + terminal.Reset +} diff --git a/cmd/bisync/operations.go b/cmd/bisync/operations.go index 38978ee71..e3f590b45 100644 --- a/cmd/bisync/operations.go +++ b/cmd/bisync/operations.go @@ -17,6 +17,7 @@ import ( "github.com/rclone/rclone/fs/filter" "github.com/rclone/rclone/fs/operations" "github.com/rclone/rclone/lib/atexit" + "github.com/rclone/rclone/lib/terminal" ) // ErrBisyncAborted signals that bisync is aborted and forces exit code 2 @@ -139,8 +140,8 @@ func Bisync(ctx context.Context, fs1, fs2 fs.Fs, optArg *Options) (err error) { if b.critical { if b.retryable && b.opt.Resilient { - fs.Errorf(nil, "Bisync critical error: %v", err) - fs.Errorf(nil, "Bisync aborted. Error is retryable without --resync due to --resilient mode.") + fs.Errorf(nil, Color(terminal.RedFg, "Bisync critical error: %v"), err) + fs.Errorf(nil, Color(terminal.YellowFg, "Bisync aborted. Error is retryable without --resync due to --resilient mode.")) } else { if bilib.FileExists(b.listing1) { _ = os.Rename(b.listing1, b.listing1+"-err") @@ -148,16 +149,16 @@ func Bisync(ctx context.Context, fs1, fs2 fs.Fs, optArg *Options) (err error) { if bilib.FileExists(b.listing2) { _ = os.Rename(b.listing2, b.listing2+"-err") } - fs.Errorf(nil, "Bisync critical error: %v", err) - fs.Errorf(nil, "Bisync aborted. Must run --resync to recover.") + fs.Errorf(nil, Color(terminal.RedFg, "Bisync critical error: %v"), err) + fs.Errorf(nil, Color(terminal.RedFg, "Bisync aborted. Must run --resync to recover.")) } return ErrBisyncAborted } if b.abort { - fs.Logf(nil, "Bisync aborted. Please try again.") + fs.Logf(nil, Color(terminal.RedFg, "Bisync aborted. Please try again.")) } if err == nil { - fs.Infof(nil, "Bisync successful") + fs.Infof(nil, Color(terminal.GreenFg, "Bisync successful")) } return err } diff --git a/cmd/bisync/testdata/test_all_changed/golden/test.log b/cmd/bisync/testdata/test_all_changed/golden/test.log index af0c24c5d..c2daac34d 100644 --- a/cmd/bisync/testdata/test_all_changed/golden/test.log +++ b/cmd/bisync/testdata/test_all_changed/golden/test.log @@ -1,90 +1,90 @@ -(01) : test all-changed +(01) : test all-changed -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test change timestamp on all files except RCLONE_TEST -(05) : touch-glob 2005-01-02 {path1/} file* -(06) : touch-glob 2005-01-02 {path1/}subdir file* +(04) : test change timestamp on all files except RCLONE_TEST +(05) : touch-glob 2005-01-02 {path1/} file* +(06) : touch-glob 2005-01-02 {path1/}subdir file* -(07) : test sync should pass -(08) : bisync +(07) : test sync should pass +(08) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is newer - file1.copy1.txt -INFO : - Path1 File is newer - file1.copy2.txt -INFO : - Path1 File is newer - file1.copy3.txt -INFO : - Path1 File is newer - file1.copy4.txt -INFO : - Path1 File is newer - file1.copy5.txt -INFO : - Path1 File is newer - file1.txt -INFO : - Path1 File is newer - subdir/file20.txt +INFO : - Path1 File is newer - file1.copy1.txt +INFO : - Path1 File is newer - file1.copy2.txt +INFO : - Path1 File is newer - file1.copy3.txt +INFO : - Path1 File is newer - file1.copy4.txt +INFO : - Path1 File is newer - file1.copy5.txt +INFO : - Path1 File is newer - file1.txt +INFO : - Path1 File is newer - subdir/file20.txt INFO : Path1: 7 changes: 0 new, 7 newer, 0 older, 0 deleted INFO : Path2 checking for diffs INFO : Applying changes -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy1.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy2.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy3.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy4.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy5.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.txt -INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy1.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy2.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy3.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy4.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy5.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.txt +INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(09) : test change timestamp on all files including RCLONE_TEST -(10) : touch-glob 2004-01-02 {path1/} * -(11) : touch-glob 2004-01-02 {path1/}subdir * +(09) : test change timestamp on all files including RCLONE_TEST +(10) : touch-glob 2004-01-02 {path1/} * +(11) : touch-glob 2004-01-02 {path1/}subdir * -(12) : test sync should fail -(13) : bisync +(12) : test sync should fail +(13) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is OLDER - file1.copy1.txt -INFO : - Path1 File is OLDER - file1.copy2.txt -INFO : - Path1 File is OLDER - file1.copy3.txt -INFO : - Path1 File is OLDER - file1.copy4.txt -INFO : - Path1 File is OLDER - file1.copy5.txt -INFO : - Path1 File is OLDER - file1.txt -INFO : - Path1 File is OLDER - subdir/file20.txt -INFO : - Path1 File is newer - RCLONE_TEST +INFO : - Path1 File is newer - RCLONE_TEST +INFO : - Path1 File is OLDER - file1.copy1.txt +INFO : - Path1 File is OLDER - file1.copy2.txt +INFO : - Path1 File is OLDER - file1.copy3.txt +INFO : - Path1 File is OLDER - file1.copy4.txt +INFO : - Path1 File is OLDER - file1.copy5.txt +INFO : - Path1 File is OLDER - file1.txt +INFO : - Path1 File is OLDER - subdir/file20.txt INFO : Path1: 8 changes: 0 new, 1 newer, 7 older, 0 deleted INFO : Path2 checking for diffs ERROR : Safety abort: all files were changed on Path1 "{path1/}". Run with --force if desired. -NOTICE: Bisync aborted. Please try again. +NOTICE: Bisync aborted. Please try again. Bisync error: all files were changed -(14) : test sync with force should pass -(15) : bisync force +(14) : test sync with force should pass +(15) : bisync force INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is OLDER - file1.copy1.txt -INFO : - Path1 File is OLDER - file1.copy2.txt -INFO : - Path1 File is OLDER - file1.copy3.txt -INFO : - Path1 File is OLDER - file1.copy4.txt -INFO : - Path1 File is OLDER - file1.copy5.txt -INFO : - Path1 File is OLDER - file1.txt -INFO : - Path1 File is OLDER - subdir/file20.txt -INFO : - Path1 File is newer - RCLONE_TEST +INFO : - Path1 File is newer - RCLONE_TEST +INFO : - Path1 File is OLDER - file1.copy1.txt +INFO : - Path1 File is OLDER - file1.copy2.txt +INFO : - Path1 File is OLDER - file1.copy3.txt +INFO : - Path1 File is OLDER - file1.copy4.txt +INFO : - Path1 File is OLDER - file1.copy5.txt +INFO : - Path1 File is OLDER - file1.txt +INFO : - Path1 File is OLDER - subdir/file20.txt INFO : Path1: 8 changes: 0 new, 1 newer, 7 older, 0 deleted INFO : Path2 checking for diffs INFO : Applying changes -INFO : - Path1 Queue copy to Path2 - {path2/}RCLONE_TEST -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy1.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy2.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy3.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy4.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy5.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file1.txt -INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}RCLONE_TEST +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy1.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy2.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy3.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy4.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.copy5.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file1.txt +INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_basic/golden/test.log b/cmd/bisync/testdata/test_basic/golden/test.log index e82d9c88e..57d6541a0 100644 --- a/cmd/bisync/testdata/test_basic/golden/test.log +++ b/cmd/bisync/testdata/test_basic/golden/test.log @@ -1,33 +1,33 @@ -(01) : test basic +(01) : test basic -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test place newer files on both paths +(04) : test place newer files on both paths -(05) : touch-copy 2001-01-02 {datadir/}file1.txt {path2/} -(06) : copy-as {datadir/}file1.txt {path1/}subdir file20.txt +(05) : touch-copy 2001-01-02 {datadir/}file1.txt {path2/} +(06) : copy-as {datadir/}file1.txt {path1/}subdir file20.txt -(07) : test bisync run -(08) : bisync +(07) : test bisync run +(08) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is newer - subdir/file20.txt +INFO : - Path1 File is newer - subdir/file20.txt INFO : Path1: 1 changes: 0 new, 1 newer, 0 older, 0 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is newer - file1.txt +INFO : - Path2 File is newer - file1.txt INFO : Path2: 1 changes: 0 new, 1 newer, 0 older, 0 deleted INFO : Applying changes -INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_changes/golden/test.log b/cmd/bisync/testdata/test_changes/golden/test.log index f77d40340..aff7b456d 100644 --- a/cmd/bisync/testdata/test_changes/golden/test.log +++ b/cmd/bisync/testdata/test_changes/golden/test.log @@ -1,71 +1,71 @@ -(01) : test changes +(01) : test changes -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test make modifications on both paths -(05) : test new on path2 - file10 -(06) : touch-copy 2001-01-02 {datadir/}file10.txt {path2/} +(04) : test make modifications on both paths +(05) : test new on path2 - file10 +(06) : touch-copy 2001-01-02 {datadir/}file10.txt {path2/} -(07) : test newer on path2 - file1 -(08) : touch-copy 2001-01-02 {datadir/}file1.txt {path2/} +(07) : test newer on path2 - file1 +(08) : touch-copy 2001-01-02 {datadir/}file1.txt {path2/} -(09) : test new on path1 - file11 -(10) : touch-copy 2001-01-02 {datadir/}file11.txt {path1/} +(09) : test new on path1 - file11 +(10) : touch-copy 2001-01-02 {datadir/}file11.txt {path1/} -(11) : test newer on path1 - file2 -(12) : touch-copy 2001-01-02 {datadir/}file2.txt {path1/} +(11) : test newer on path1 - file2 +(12) : touch-copy 2001-01-02 {datadir/}file2.txt {path1/} -(13) : test deleted on path2 - file3 -(14) : delete-file {path2/}file3.txt +(13) : test deleted on path2 - file3 +(14) : delete-file {path2/}file3.txt -(15) : test deleted on path1 - file4 -(16) : delete-file {path1/}file4.txt +(15) : test deleted on path1 - file4 +(16) : delete-file {path1/}file4.txt -(17) : test deleted on both paths - file8 -(18) : delete-file {path1/}file8.txt -(19) : delete-file {path2/}file8.txt +(17) : test deleted on both paths - file8 +(18) : delete-file {path1/}file8.txt +(19) : delete-file {path2/}file8.txt -(20) : test changed on both paths - file5 (file5R, file5L) -(21) : touch-glob 2001-01-02 {datadir/} file5R.txt -(22) : copy-as {datadir/}file5R.txt {path2/} file5.txt -(23) : touch-glob 2001-03-04 {datadir/} file5L.txt -(24) : copy-as {datadir/}file5L.txt {path1/} file5.txt +(20) : test changed on both paths - file5 (file5R, file5L) +(21) : touch-glob 2001-01-02 {datadir/} file5R.txt +(22) : copy-as {datadir/}file5R.txt {path2/} file5.txt +(23) : touch-glob 2001-03-04 {datadir/} file5L.txt +(24) : copy-as {datadir/}file5L.txt {path1/} file5.txt -(25) : test newer on path2 and deleted on path1 - file6 -(26) : touch-copy 2001-01-02 {datadir/}file6.txt {path2/} -(27) : delete-file {path1/}file6.txt +(25) : test newer on path2 and deleted on path1 - file6 +(26) : touch-copy 2001-01-02 {datadir/}file6.txt {path2/} +(27) : delete-file {path1/}file6.txt -(28) : test newer on path1 and deleted on path2 - file7 -(29) : touch-copy 2001-01-02 {datadir/}file7.txt {path1/} -(30) : delete-file {path2/}file7.txt +(28) : test newer on path1 and deleted on path2 - file7 +(29) : touch-copy 2001-01-02 {datadir/}file7.txt {path1/} +(30) : delete-file {path2/}file7.txt -(31) : test bisync run -(32) : bisync +(31) : test bisync run +(32) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is new - file11.txt -INFO : - Path1 File is newer - file2.txt -INFO : - Path1 File is newer - file5.txt -INFO : - Path1 File is newer - file7.txt -INFO : - Path1 File was deleted - file4.txt -INFO : - Path1 File was deleted - file6.txt -INFO : - Path1 File was deleted - file8.txt +INFO : - Path1 File is newer - file2.txt +INFO : - Path1 File was deleted - file4.txt +INFO : - Path1 File is newer - file5.txt +INFO : - Path1 File was deleted - file6.txt +INFO : - Path1 File is newer - file7.txt +INFO : - Path1 File was deleted - file8.txt +INFO : - Path1 File is new - file11.txt INFO : Path1: 7 changes: 1 new, 3 newer, 0 older, 3 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is new - file10.txt -INFO : - Path2 File is newer - file1.txt -INFO : - Path2 File is newer - file5.txt -INFO : - Path2 File is newer - file6.txt -INFO : - Path2 File was deleted - file3.txt -INFO : - Path2 File was deleted - file7.txt -INFO : - Path2 File was deleted - file8.txt +INFO : - Path2 File is newer - file1.txt +INFO : - Path2 File was deleted - file3.txt +INFO : - Path2 File is newer - file5.txt +INFO : - Path2 File is newer - file6.txt +INFO : - Path2 File was deleted - file7.txt +INFO : - Path2 File was deleted - file8.txt +INFO : - Path2 File is new - file10.txt INFO : Path2: 7 changes: 1 new, 3 newer, 0 older, 3 deleted INFO : Applying changes INFO : Checking potential conflicts... @@ -73,21 +73,21 @@ ERROR : file5.txt: md5 differ NOTICE: Local file system at {path2}: 1 differences found NOTICE: Local file system at {path2}: 1 errors while checking INFO : Finished checking the potential conflicts. 1 differences found -INFO : - Path1 Queue copy to Path2 - {path2/}file11.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file2.txt -INFO : - Path2 Queue delete - {path2/}file4.txt -NOTICE: - WARNING New or changed in both paths - file5.txt -NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 -NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 -NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 -NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 -INFO : - Path2 Queue copy to Path1 - {path1/}file6.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file7.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file10.txt -INFO : - Path1 Queue delete - {path1/}file3.txt -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}file11.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file2.txt +INFO : - Path2 Queue delete - {path2/}file4.txt +NOTICE: - WARNING New or changed in both paths - file5.txt +NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 +NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 +NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 +NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 +INFO : - Path2 Queue copy to Path1 - {path1/}file6.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file7.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file10.txt +INFO : - Path1 Queue delete - {path1/}file3.txt +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_check_access/golden/test.log b/cmd/bisync/testdata/test_check_access/golden/test.log index 61d671649..d7382b9af 100644 --- a/cmd/bisync/testdata/test_check_access/golden/test.log +++ b/cmd/bisync/testdata/test_check_access/golden/test.log @@ -1,16 +1,16 @@ -(01) : test check-access +(01) : test check-access -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test 1. see that check-access passes with the initial setup -(05) : bisync check-access +(04) : test 1. see that check-access passes with the initial setup +(05) : bisync check-access INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs @@ -19,35 +19,35 @@ INFO : Found 2 matching "RCLONE_TEST" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(06) : test 2. delete the path2 subdir RCLONE_TEST and run sync. should fail critical. -(07) : delete-file {path2/}subdir/RCLONE_TEST -(08) : bisync check-access +(06) : test 2. delete the path2 subdir RCLONE_TEST and run sync. should fail critical. +(07) : delete-file {path2/}subdir/RCLONE_TEST +(08) : bisync check-access INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs -INFO : - Path2 File was deleted - subdir/RCLONE_TEST +INFO : - Path2 File was deleted - subdir/RCLONE_TEST INFO : Path2: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Checking access health ERROR : Access test failed: Path1 count 2, Path2 count 1 - RCLONE_TEST -ERROR : - Access test failed: Path1 file not found in Path2 - subdir/RCLONE_TEST -ERROR : Bisync critical error: check file check failed -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : -  Access test failed: Path1 file not found in Path2 - subdir/RCLONE_TEST +ERROR : Bisync critical error: check file check failed +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(09) : copy-listings path2-missing +(09) : copy-listings path2-missing -(10) : test 3. put the path2 subdir RCLONE_TEST back, resync. -(11) : copy-file {path1/}subdir/RCLONE_TEST {path2/} -(12) : bisync resync +(10) : test 3. put the path2 subdir RCLONE_TEST back, resync. +(11) : copy-file {path1/}subdir/RCLONE_TEST {path2/} +(12) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(13) : test 4. run sync with check-access. should pass. -(14) : bisync check-access +(13) : test 4. run sync with check-access. should pass. +(14) : bisync check-access INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs @@ -56,44 +56,44 @@ INFO : Found 2 matching "RCLONE_TEST" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(15) : test 5. delete path1 top level RCLONE_TEST, run sync. should fail critical. -(16) : delete-file {path1/}RCLONE_TEST -(17) : bisync check-access +(15) : test 5. delete path1 top level RCLONE_TEST, run sync. should fail critical. +(16) : delete-file {path1/}RCLONE_TEST +(17) : bisync check-access INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File was deleted - RCLONE_TEST +INFO : - Path1 File was deleted - RCLONE_TEST INFO : Path1: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Path2 checking for diffs INFO : Checking access health ERROR : Access test failed: Path1 count 1, Path2 count 2 - RCLONE_TEST -ERROR : - Access test failed: Path2 file not found in Path1 - RCLONE_TEST -ERROR : Bisync critical error: check file check failed -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : -  Access test failed: Path2 file not found in Path1 - RCLONE_TEST +ERROR : Bisync critical error: check file check failed +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(18) : copy-listings path1-missing +(18) : copy-listings path1-missing -(19) : test 6. run again. should fail critical due to missing listings. -(20) : bisync check-access +(19) : test 6. run again. should fail critical due to missing listings. +(20) : bisync check-access INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" -ERROR : Bisync critical error: cannot find prior Path1 or Path2 listings, likely due to critical error on prior run -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : Bisync critical error: cannot find prior Path1 or Path2 listings, likely due to critical error on prior run +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(21) : move-listings missing-listings +(21) : move-listings missing-listings -(22) : test 7. run resync, which will copy the path2 top level back to path1. -(23) : bisync resync +(22) : test 7. run resync, which will copy the path2 top level back to path1. +(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 : - Path2 Resync will copy to Path1 - RCLONE_TEST +INFO : - Path2 Resync is doing queued copies to - Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(24) : test 8. run sync with --check-access. should pass. -(25) : bisync check-access +(24) : test 8. run sync with --check-access. should pass. +(25) : bisync check-access INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs @@ -102,4 +102,4 @@ INFO : Found 2 matching "RCLONE_TEST" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +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 b58a0e263..cd7753a9f 100644 --- a/cmd/bisync/testdata/test_check_access_filters/golden/test.log +++ b/cmd/bisync/testdata/test_check_access_filters/golden/test.log @@ -1,21 +1,21 @@ -(01) : test check-access-filters +(01) : test check-access-filters -(02) : test EXCLUDE - OTHER TESTS -(03) : copy-file {datadir/}exclude-other-filtersfile.txt {workdir/} +(02) : test EXCLUDE - OTHER TESTS +(03) : copy-file {datadir/}exclude-other-filtersfile.txt {workdir/} -(04) : test resync to get the filters file md5 built. -(05) : bisync resync filters-file={workdir/}exclude-other-filtersfile.txt +(04) : test resync to get the filters file md5 built. +(05) : bisync resync filters-file={workdir/}exclude-other-filtersfile.txt 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 : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(06) : test EXCLUDE - test filters for check access -(07) : bisync check-access filters-file={workdir/}exclude-other-filtersfile.txt +(06) : test EXCLUDE - test filters for check access +(07) : bisync check-access filters-file={workdir/}exclude-other-filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}exclude-other-filtersfile.txt INFO : Path1 checking for diffs @@ -25,17 +25,17 @@ INFO : Found 3 matching "RCLONE_TEST" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful -(08) : copy-listings exclude-initial +INFO : Bisync successful +(08) : copy-listings exclude-initial -(09) : test EXCLUDE - delete RCLONE_TEST files in excluded directories -(10) : delete-file {path2/}subdir/subdirA/RCLONE_TEST -(11) : delete-file {path1/}subdir-not/RCLONE_TEST -(12) : delete-file {path2/}subdir-not/subdir-not2/RCLONE_TEST -(13) : delete-file {path1/}subdirX/RCLONE_TEST +(09) : test EXCLUDE - delete RCLONE_TEST files in excluded directories +(10) : delete-file {path2/}subdir/subdirA/RCLONE_TEST +(11) : delete-file {path1/}subdir-not/RCLONE_TEST +(12) : delete-file {path2/}subdir-not/subdir-not2/RCLONE_TEST +(13) : delete-file {path1/}subdirX/RCLONE_TEST -(14) : test EXCLUDE - test should PASS -(15) : bisync check-access filters-file={workdir/}exclude-other-filtersfile.txt +(14) : test EXCLUDE - test should PASS +(15) : bisync check-access filters-file={workdir/}exclude-other-filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}exclude-other-filtersfile.txt INFO : Path1 checking for diffs @@ -45,47 +45,47 @@ INFO : Found 3 matching "RCLONE_TEST" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful -(16) : copy-listings exclude-pass-run +INFO : Bisync successful +(16) : copy-listings exclude-pass-run -(17) : test EXCLUDE - delete RCLONE_TEST files in included directories -(18) : delete-file {path2/}RCLONE_TEST -(19) : delete-file {path1/}subdir/RCLONE_TEST +(17) : test EXCLUDE - delete RCLONE_TEST files in included directories +(18) : delete-file {path2/}RCLONE_TEST +(19) : delete-file {path1/}subdir/RCLONE_TEST -(20) : test EXCLUDE - test should ABORT -(21) : bisync check-access filters-file={workdir/}exclude-other-filtersfile.txt +(20) : test EXCLUDE - test should ABORT +(21) : bisync check-access filters-file={workdir/}exclude-other-filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}exclude-other-filtersfile.txt INFO : Path1 checking for diffs -INFO : - Path1 File was deleted - subdir/RCLONE_TEST +INFO : - Path1 File was deleted - subdir/RCLONE_TEST INFO : Path1: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Path2 checking for diffs -INFO : - Path2 File was deleted - RCLONE_TEST +INFO : - Path2 File was deleted - RCLONE_TEST INFO : Path2: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Checking access health -ERROR : - Access test failed: Path1 file not found in Path2 - RCLONE_TEST -ERROR : - Access test failed: Path2 file not found in Path1 - subdir/RCLONE_TEST -ERROR : Bisync critical error: check file check failed -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : -  Access test failed: Path1 file not found in Path2 - RCLONE_TEST +ERROR : -  Access test failed: Path2 file not found in Path1 - subdir/RCLONE_TEST +ERROR : Bisync critical error: check file check failed +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(22) : move-listings exclude-error-run +(22) : move-listings exclude-error-run -(23) : test INCLUDE - OTHER TESTS -(24) : test reset to the initial state -(25) : copy-dir {testdir/}initial {path1/} -(26) : sync-dir {path1/} {path2/} -(27) : copy-file {datadir/}include-other-filtersfile.txt {workdir/} -(28) : bisync resync filters-file={workdir/}include-other-filtersfile.txt +(23) : test INCLUDE - OTHER TESTS +(24) : test reset to the initial state +(25) : copy-dir {testdir/}initial {path1/} +(26) : sync-dir {path1/} {path2/} +(27) : copy-file {datadir/}include-other-filtersfile.txt {workdir/} +(28) : bisync resync filters-file={workdir/}include-other-filtersfile.txt 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 : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(29) : test INCLUDE - test include/exclude filters for check access -(30) : bisync check-access filters-file={workdir/}include-other-filtersfile.txt +(29) : test INCLUDE - test include/exclude filters for check access +(30) : bisync check-access filters-file={workdir/}include-other-filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}include-other-filtersfile.txt INFO : Path1 checking for diffs @@ -95,16 +95,16 @@ INFO : Found 5 matching "RCLONE_TEST" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful -(31) : copy-listings include-initial +INFO : Bisync successful +(31) : copy-listings include-initial -(32) : test INCLUDE - delete RCLONE_TEST files in excluded directories -(33) : delete-file {path2/}subdir/subdirA/RCLONE_TEST -(34) : delete-file {path1/}subdir-not/RCLONE_TEST -(35) : delete-file {path2/}subdir-not/subdir-not2/RCLONE_TEST +(32) : test INCLUDE - delete RCLONE_TEST files in excluded directories +(33) : delete-file {path2/}subdir/subdirA/RCLONE_TEST +(34) : delete-file {path1/}subdir-not/RCLONE_TEST +(35) : delete-file {path2/}subdir-not/subdir-not2/RCLONE_TEST -(36) : test INCLUDE - test should PASS -(37) : bisync check-access filters-file={workdir/}include-other-filtersfile.txt +(36) : test INCLUDE - test should PASS +(37) : bisync check-access filters-file={workdir/}include-other-filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}include-other-filtersfile.txt INFO : Path1 checking for diffs @@ -114,31 +114,31 @@ INFO : Found 5 matching "RCLONE_TEST" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful -(38) : copy-listings include-pass-run +INFO : Bisync successful +(38) : copy-listings include-pass-run -(39) : test INCLUDE - delete RCLONE_TEST files in included directories -(40) : delete-file {path2/}RCLONE_TEST -(41) : delete-file {path1/}subdir/RCLONE_TEST -(42) : delete-file {path1/}subdirX/subdirX1/RCLONE_TEST +(39) : test INCLUDE - delete RCLONE_TEST files in included directories +(40) : delete-file {path2/}RCLONE_TEST +(41) : delete-file {path1/}subdir/RCLONE_TEST +(42) : delete-file {path1/}subdirX/subdirX1/RCLONE_TEST -(43) : test INCLUDE - test should ABORT -(44) : bisync check-access filters-file={workdir/}include-other-filtersfile.txt +(43) : test INCLUDE - test should ABORT +(44) : bisync check-access filters-file={workdir/}include-other-filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}include-other-filtersfile.txt INFO : Path1 checking for diffs -INFO : - Path1 File was deleted - subdir/RCLONE_TEST -INFO : - Path1 File was deleted - subdirX/subdirX1/RCLONE_TEST +INFO : - Path1 File was deleted - subdir/RCLONE_TEST +INFO : - Path1 File was deleted - subdirX/subdirX1/RCLONE_TEST INFO : Path1: 2 changes: 0 new, 0 newer, 0 older, 2 deleted INFO : Path2 checking for diffs -INFO : - Path2 File was deleted - RCLONE_TEST +INFO : - Path2 File was deleted - RCLONE_TEST 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 - 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. +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 : Bisync critical error: check file check failed +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(45) : move-listings include-error-run +(45) : move-listings include-error-run diff --git a/cmd/bisync/testdata/test_check_filename/golden/test.log b/cmd/bisync/testdata/test_check_filename/golden/test.log index d008b934d..f03e1fdc2 100644 --- a/cmd/bisync/testdata/test_check_filename/golden/test.log +++ b/cmd/bisync/testdata/test_check_filename/golden/test.log @@ -1,16 +1,16 @@ -(01) : test check-filename +(01) : test check-filename -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test 1. see that check-access passes with the initial setup -(05) : bisync check-access check-filename=.chk_file +(04) : test 1. see that check-access passes with the initial setup +(05) : bisync check-access check-filename=.chk_file INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs @@ -19,38 +19,38 @@ INFO : Found 2 matching ".chk_file" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful -(06) : copy-listings initial-pass +INFO : Bisync successful +(06) : copy-listings initial-pass -(07) : test 2. delete the remote subdir .chk_file, run sync. should fail critical. -(08) : delete-file {path2/}subdir/.chk_file -(09) : bisync check-access check-filename=.chk_file +(07) : test 2. delete the remote subdir .chk_file, run sync. should fail critical. +(08) : delete-file {path2/}subdir/.chk_file +(09) : bisync check-access check-filename=.chk_file INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs -INFO : - Path2 File was deleted - subdir/.chk_file +INFO : - Path2 File was deleted - subdir/.chk_file INFO : Path2: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Checking access health ERROR : Access test failed: Path1 count 2, Path2 count 1 - .chk_file -ERROR : - Access test failed: Path1 file not found in Path2 - subdir/.chk_file -ERROR : Bisync critical error: check file check failed -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : -  Access test failed: Path1 file not found in Path2 - subdir/.chk_file +ERROR : Bisync critical error: check file check failed +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(10) : move-listings path2-missing +(10) : move-listings path2-missing -(11) : test 3. put the remote subdir .chk_file back, run resync. -(12) : copy-file {path1/}subdir/.chk_file {path2/}subdir/ -(13) : bisync check-access resync check-filename=.chk_file +(11) : test 3. put the remote subdir .chk_file back, run resync. +(12) : copy-file {path1/}subdir/.chk_file {path2/}subdir/ +(13) : bisync check-access resync check-filename=.chk_file 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 : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(14) : test 4. run sync with check-access. should pass. -(15) : bisync check-access check-filename=.chk_file +(14) : test 4. run sync with check-access. should pass. +(15) : bisync check-access check-filename=.chk_file INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs @@ -59,4 +59,4 @@ INFO : Found 2 matching ".chk_file" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_check_sync/golden/test.log b/cmd/bisync/testdata/test_check_sync/golden/test.log index 8984a8b81..d70224b29 100644 --- a/cmd/bisync/testdata/test_check_sync/golden/test.log +++ b/cmd/bisync/testdata/test_check_sync/golden/test.log @@ -1,68 +1,68 @@ -(01) : test check-sync +(01) : test check-sync -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test 1. run check-sync-only on a clean sync -(05) : bisync check-sync-only +(04) : test 1. run check-sync-only on a clean sync +(05) : bisync check-sync-only INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(06) : test 2. inject modified listings into the workdir -(07) : copy-as {datadir/}_testdir_path1.._testdir_path2.path1.lst {workdir/} {session}.path1.lst -(08) : copy-as {datadir/}_testdir_path1.._testdir_path2.path2.lst {workdir/} {session}.path2.lst +(06) : test 2. inject modified listings into the workdir +(07) : copy-as {datadir/}_testdir_path1.._testdir_path2.path1.lst {workdir/} {session}.path1.lst +(08) : copy-as {datadir/}_testdir_path1.._testdir_path2.path2.lst {workdir/} {session}.path2.lst -(09) : test 3. run check-sync-only on modified listings -(10) : bisync check-sync-only +(09) : test 3. run check-sync-only on modified listings +(10) : bisync check-sync-only INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -ERROR : - Path1 file not found in Path2 - file2.txt -ERROR : - Path2 file not found in Path1 - file1.txt -ERROR : Bisync critical error: path1 and path2 are out of sync, run --resync to recover -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : -  Path1 file not found in Path2 - file2.txt +ERROR : -  Path2 file not found in Path1 - file1.txt +ERROR : Bisync critical error: path1 and path2 are out of sync, run --resync to recover +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(11) : copy-listings check-sync-only +(11) : copy-listings check-sync-only -(12) : test 4. run normal sync to check that it aborts -(13) : bisync +(12) : test 4. run normal sync to check that it aborts +(13) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" -ERROR : Bisync critical error: cannot find prior Path1 or Path2 listings, likely due to critical error on prior run -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : Bisync critical error: cannot find prior Path1 or Path2 listings, likely due to critical error on prior run +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(14) : test 5. prune failure listings after critical abort -(15) : delete-glob {workdir/} *.lst -(16) : delete-glob {workdir/} *.lst-err -(17) : delete-glob {workdir/} *.lst-new +(14) : test 5. prune failure listings after critical abort +(15) : delete-glob {workdir/} *.lst +(16) : delete-glob {workdir/} *.lst-err +(17) : delete-glob {workdir/} *.lst-new -(18) : test 6. run resync -(19) : bisync resync +(18) : test 6. run resync +(19) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(20) : test 7. run normal sync with check-sync enabled (default) -(21) : bisync +(20) : test 7. run normal sync with check-sync enabled (default) +(21) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(22) : test 8. run normal sync with no-check-sync -(23) : bisync no-check-sync +(22) : test 8. run normal sync with no-check-sync +(23) : bisync no-check-sync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs INFO : No changes found INFO : Updating listings -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_createemptysrcdirs/golden/test.log b/cmd/bisync/testdata/test_createemptysrcdirs/golden/test.log index c63c8850c..1b2583d27 100644 --- a/cmd/bisync/testdata/test_createemptysrcdirs/golden/test.log +++ b/cmd/bisync/testdata/test_createemptysrcdirs/golden/test.log @@ -1,142 +1,142 @@ -(01) : test createemptysrcdirs +(01) : test createemptysrcdirs -(02) : test initial bisync -(03) : touch-glob 2001-01-02 {datadir/} placeholder.txt -(04) : copy-as {datadir/}placeholder.txt {path1/} file1.txt -(05) : copy-as {datadir/}placeholder.txt {path1/} file1.copy1.txt -(06) : copy-as {datadir/}placeholder.txt {path1/} file1.copy2.txt -(07) : copy-as {datadir/}placeholder.txt {path1/} file1.copy3.txt -(08) : copy-as {datadir/}placeholder.txt {path1/} file1.copy4.txt -(09) : copy-as {datadir/}placeholder.txt {path1/} file1.copy5.txt -(10) : bisync resync +(02) : test initial bisync +(03) : touch-glob 2001-01-02 {datadir/} placeholder.txt +(04) : copy-as {datadir/}placeholder.txt {path1/} file1.txt +(05) : copy-as {datadir/}placeholder.txt {path1/} file1.copy1.txt +(06) : copy-as {datadir/}placeholder.txt {path1/} file1.copy2.txt +(07) : copy-as {datadir/}placeholder.txt {path1/} file1.copy3.txt +(08) : copy-as {datadir/}placeholder.txt {path1/} file1.copy4.txt +(09) : copy-as {datadir/}placeholder.txt {path1/} file1.copy5.txt +(10) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(11) : test 1. Create an empty dir on Path1 by creating subdir/placeholder.txt and then deleting the placeholder -(12) : copy-as {datadir/}placeholder.txt {path1/} subdir/placeholder.txt -(13) : touch-glob 2001-01-02 {path1/} subdir -(14) : delete-file {path1/}subdir/placeholder.txt +(11) : test 1. Create an empty dir on Path1 by creating subdir/placeholder.txt and then deleting the placeholder +(12) : copy-as {datadir/}placeholder.txt {path1/} subdir/placeholder.txt +(13) : touch-glob 2001-01-02 {path1/} subdir +(14) : delete-file {path1/}subdir/placeholder.txt -(15) : test 2. Run bisync without --create-empty-src-dirs -(16) : bisync +(15) : test 2. Run bisync without --create-empty-src-dirs +(16) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(17) : test 3. Confirm the subdir exists only on Path1 and not Path2 -(18) : list-dirs {path1/} +(17) : test 3. Confirm the subdir exists only on Path1 and not Path2 +(18) : list-dirs {path1/} subdir/ -(19) : list-dirs {path2/} +(19) : list-dirs {path2/} -(20) : test 4.Run bisync WITH --create-empty-src-dirs -(21) : bisync create-empty-src-dirs +(20) : test 4.Run bisync WITH --create-empty-src-dirs +(21) : bisync create-empty-src-dirs INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is new - subdir +INFO : - Path1 File is new - subdir INFO : Path1: 1 changes: 1 new, 0 newer, 0 older, 0 deleted INFO : Path2 checking for diffs INFO : Applying changes -INFO : - Path1 Queue copy to Path2 - {path2/}subdir -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}subdir +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(22) : test 5. Confirm the subdir exists on both paths -(23) : list-dirs {path1/} +(22) : test 5. Confirm the subdir exists on both paths +(23) : list-dirs {path1/} subdir/ -(24) : list-dirs {path2/} +(24) : list-dirs {path2/} subdir/ -(25) : test 6. Delete the empty dir on Path1 using purge-children (and also add files so the path isn't empty) -(26) : purge-children {path1/} -(27) : copy-as {datadir/}placeholder.txt {path1/} file1.txt -(28) : copy-as {datadir/}placeholder.txt {path1/} file1.copy1.txt -(29) : copy-as {datadir/}placeholder.txt {path1/} file1.copy2.txt -(30) : copy-as {datadir/}placeholder.txt {path1/} file1.copy3.txt -(31) : copy-as {datadir/}placeholder.txt {path1/} file1.copy4.txt -(32) : copy-as {datadir/}placeholder.txt {path1/} file1.copy5.txt +(25) : test 6. Delete the empty dir on Path1 using purge-children (and also add files so the path isn't empty) +(26) : purge-children {path1/} +(27) : copy-as {datadir/}placeholder.txt {path1/} file1.txt +(28) : copy-as {datadir/}placeholder.txt {path1/} file1.copy1.txt +(29) : copy-as {datadir/}placeholder.txt {path1/} file1.copy2.txt +(30) : copy-as {datadir/}placeholder.txt {path1/} file1.copy3.txt +(31) : copy-as {datadir/}placeholder.txt {path1/} file1.copy4.txt +(32) : copy-as {datadir/}placeholder.txt {path1/} file1.copy5.txt -(33) : test 7. Run bisync without --create-empty-src-dirs -(34) : bisync +(33) : test 7. Run bisync without --create-empty-src-dirs +(34) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File was deleted - RCLONE_TEST -INFO : - Path1 File was deleted - subdir +INFO : - Path1 File was deleted - RCLONE_TEST +INFO : - Path1 File was deleted - subdir INFO : Path1: 2 changes: 0 new, 0 newer, 0 older, 2 deleted INFO : Path2 checking for diffs -INFO : - Path2 File was deleted - subdir +INFO : - Path2 File was deleted - subdir INFO : Path2: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Applying changes -INFO : - Path2 Queue delete - {path2/}RCLONE_TEST -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path2 Queue delete - {path2/}RCLONE_TEST +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(35) : test 8. Confirm the subdir exists only on Path2 and not Path1 -(36) : list-dirs {path1/} -(37) : list-dirs {path2/} +(35) : test 8. Confirm the subdir exists only on Path2 and not Path1 +(36) : list-dirs {path1/} +(37) : list-dirs {path2/} subdir/ -(38) : test 9. Reset, do the delete again, and run bisync WITH --create-empty-src-dirs -(39) : bisync resync create-empty-src-dirs +(38) : test 9. Reset, do the delete again, and run bisync WITH --create-empty-src-dirs +(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 : - 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 : Resync updating listings -INFO : Bisync successful -(40) : list-dirs {path1/} +INFO : Bisync successful +(40) : list-dirs {path1/} subdir/ -(41) : list-dirs {path2/} +(41) : list-dirs {path2/} subdir/ -(42) : purge-children {path1/} -(43) : copy-as {datadir/}placeholder.txt {path1/} file1.txt -(44) : copy-as {datadir/}placeholder.txt {path1/} file1.copy1.txt -(45) : copy-as {datadir/}placeholder.txt {path1/} file1.copy2.txt -(46) : copy-as {datadir/}placeholder.txt {path1/} file1.copy3.txt -(47) : copy-as {datadir/}placeholder.txt {path1/} file1.copy4.txt -(48) : copy-as {datadir/}placeholder.txt {path1/} file1.copy5.txt -(49) : list-dirs {path1/} -(50) : list-dirs {path2/} +(42) : purge-children {path1/} +(43) : copy-as {datadir/}placeholder.txt {path1/} file1.txt +(44) : copy-as {datadir/}placeholder.txt {path1/} file1.copy1.txt +(45) : copy-as {datadir/}placeholder.txt {path1/} file1.copy2.txt +(46) : copy-as {datadir/}placeholder.txt {path1/} file1.copy3.txt +(47) : copy-as {datadir/}placeholder.txt {path1/} file1.copy4.txt +(48) : copy-as {datadir/}placeholder.txt {path1/} file1.copy5.txt +(49) : list-dirs {path1/} +(50) : list-dirs {path2/} subdir/ -(51) : bisync create-empty-src-dirs +(51) : bisync create-empty-src-dirs INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File was deleted - subdir +INFO : - Path1 File was deleted - subdir INFO : Path1: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Path2 checking for diffs INFO : Applying changes -INFO : - Path2 Queue delete - {path2/}subdir -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path2 Queue delete - {path2/}subdir +INFO : - Path1 Do queued copies to - Path2 INFO : subdir: Removing directory INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(52) : test 10. Confirm the subdir has been removed on both paths -(53) : list-dirs {path1/} -(54) : list-dirs {path2/} +(52) : test 10. Confirm the subdir has been removed on both paths +(53) : list-dirs {path1/} +(54) : list-dirs {path2/} -(55) : test 11. bisync again (because if we leave subdir in listings, test will fail due to mismatched modtime) -(56) : bisync create-empty-src-dirs +(55) : test 11. bisync again (because if we leave subdir in listings, test will fail due to mismatched modtime) +(56) : bisync create-empty-src-dirs INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_dry_run/golden/test.log b/cmd/bisync/testdata/test_dry_run/golden/test.log index 3d749965b..db5a487fa 100644 --- a/cmd/bisync/testdata/test_dry_run/golden/test.log +++ b/cmd/bisync/testdata/test_dry_run/golden/test.log @@ -1,54 +1,54 @@ -(01) : test dry-run +(01) : test dry-run -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test new on path2 - file10 -(05) : touch-copy 2001-01-02 {datadir/}file10.txt {path2/} +(04) : test new on path2 - file10 +(05) : touch-copy 2001-01-02 {datadir/}file10.txt {path2/} -(06) : test newer on path2 - file1 -(07) : touch-copy 2001-01-02 {datadir/}file1.txt {path2/} +(06) : test newer on path2 - file1 +(07) : touch-copy 2001-01-02 {datadir/}file1.txt {path2/} -(08) : test new on path1 - file11 -(09) : touch-copy 2001-01-02 {datadir/}file11.txt {path1/} +(08) : test new on path1 - file11 +(09) : touch-copy 2001-01-02 {datadir/}file11.txt {path1/} -(10) : test newer on path1 - file2 -(11) : touch-copy 2001-01-02 {datadir/}file2.txt {path1/} +(10) : test newer on path1 - file2 +(11) : touch-copy 2001-01-02 {datadir/}file2.txt {path1/} -(12) : test deleted on path2 - file3 -(13) : delete-file {path2/}file3.txt +(12) : test deleted on path2 - file3 +(13) : delete-file {path2/}file3.txt -(14) : test deleted on path1 - file4 -(15) : delete-file {path1/}file4.txt +(14) : test deleted on path1 - file4 +(15) : delete-file {path1/}file4.txt -(16) : test changed on path2 and on path1 - file5 (file5R, file5L) -(17) : touch-glob 2001-01-02 {datadir/} file5R.txt -(18) : copy-as {datadir/}file5R.txt {path2/} file5.txt -(19) : touch-glob 2001-03-04 {datadir/} file5L.txt -(20) : copy-as {datadir/}file5L.txt {path1/} file5.txt +(16) : test changed on path2 and on path1 - file5 (file5R, file5L) +(17) : touch-glob 2001-01-02 {datadir/} file5R.txt +(18) : copy-as {datadir/}file5R.txt {path2/} file5.txt +(19) : touch-glob 2001-03-04 {datadir/} file5L.txt +(20) : copy-as {datadir/}file5L.txt {path1/} file5.txt -(21) : test newer on path2 and deleted on path1 - file6 -(22) : touch-copy 2001-01-02 {datadir/}file6.txt {path2/} -(23) : delete-file {path1/}file6.txt +(21) : test newer on path2 and deleted on path1 - file6 +(22) : touch-copy 2001-01-02 {datadir/}file6.txt {path2/} +(23) : delete-file {path1/}file6.txt -(24) : test newer on path1 and deleted on path2 - file7 -(25) : touch-copy 2001-01-02 {datadir/}file7.txt {path1/} -(26) : delete-file {path2/}file7.txt +(24) : test newer on path1 and deleted on path2 - file7 +(25) : touch-copy 2001-01-02 {datadir/}file7.txt {path1/} +(26) : delete-file {path2/}file7.txt -(27) : test sync with dry-run and resync -(28) : bisync dry-run resync +(27) : test sync with dry-run and resync +(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 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 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) @@ -60,27 +60,27 @@ NOTICE: file3.txt: Skipped copy as --dry-run is set (size 0) NOTICE: file5.txt: Skipped copy (or update modification time) as --dry-run is set (size 39) NOTICE: file7.txt: Skipped copy as --dry-run is set (size 19) INFO : Resync updating listings -INFO : Bisync successful -(29) : copy-listings dryrun-resync +INFO : Bisync successful +(29) : copy-listings dryrun-resync -(30) : test sync with dry-run -(31) : bisync dry-run +(30) : test sync with dry-run +(31) : bisync dry-run INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is new - file11.txt -INFO : - Path1 File is newer - file2.txt -INFO : - Path1 File is newer - file5.txt -INFO : - Path1 File is newer - file7.txt -INFO : - Path1 File was deleted - file4.txt -INFO : - Path1 File was deleted - file6.txt +INFO : - Path1 File is newer - file2.txt +INFO : - Path1 File was deleted - file4.txt +INFO : - Path1 File is newer - file5.txt +INFO : - Path1 File was deleted - file6.txt +INFO : - Path1 File is newer - file7.txt +INFO : - Path1 File is new - file11.txt INFO : Path1: 6 changes: 1 new, 3 newer, 0 older, 2 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is new - file10.txt -INFO : - Path2 File is newer - file1.txt -INFO : - Path2 File is newer - file5.txt -INFO : - Path2 File is newer - file6.txt -INFO : - Path2 File was deleted - file3.txt -INFO : - Path2 File was deleted - file7.txt +INFO : - Path2 File is newer - file1.txt +INFO : - Path2 File was deleted - file3.txt +INFO : - Path2 File is newer - file5.txt +INFO : - Path2 File is newer - file6.txt +INFO : - Path2 File was deleted - file7.txt +INFO : - Path2 File is new - file10.txt INFO : Path2: 6 changes: 1 new, 3 newer, 0 older, 2 deleted INFO : Applying changes INFO : Checking potential conflicts... @@ -88,53 +88,53 @@ ERROR : file5.txt: md5 differ NOTICE: Local file system at {path2}: 1 differences found NOTICE: Local file system at {path2}: 1 errors while checking INFO : Finished checking the potential conflicts. 1 differences found -INFO : - Path1 Queue copy to Path2 - {path2/}file11.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file2.txt -INFO : - Path2 Queue delete - {path2/}file4.txt -NOTICE: - WARNING New or changed in both paths - file5.txt -NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 +INFO : - Path1 Queue copy to Path2 - {path2/}file11.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file2.txt +INFO : - Path2 Queue delete - {path2/}file4.txt +NOTICE: - WARNING New or changed in both paths - file5.txt +NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 NOTICE: file5.txt: Skipped move as --dry-run is set (size 39) -NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 -NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 +NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 +NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 NOTICE: file5.txt: Skipped move as --dry-run is set (size 39) -NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 -INFO : - Path2 Queue copy to Path1 - {path1/}file6.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file7.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file10.txt -INFO : - Path1 Queue delete - {path1/}file3.txt -INFO : - Path2 Do queued copies to - Path1 +NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 +INFO : - Path2 Queue copy to Path1 - {path1/}file6.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file7.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file10.txt +INFO : - Path1 Queue delete - {path1/}file3.txt +INFO : - Path2 Do queued copies to - Path1 NOTICE: file1.txt: Skipped copy as --dry-run is set (size 19) NOTICE: file10.txt: Skipped copy as --dry-run is set (size 19) NOTICE: file3.txt: Skipped delete as --dry-run is set (size 0) NOTICE: file6.txt: Skipped copy as --dry-run is set (size 19) -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Do queued copies to - Path2 NOTICE: file11.txt: Skipped copy as --dry-run is set (size 19) NOTICE: file2.txt: Skipped copy as --dry-run is set (size 13) NOTICE: file4.txt: Skipped delete as --dry-run is set (size 0) NOTICE: file7.txt: Skipped copy as --dry-run is set (size 19) INFO : Updating listings -INFO : Bisync successful -(32) : copy-listings dryrun +INFO : Bisync successful +(32) : copy-listings dryrun -(33) : test sync without dry-run -(34) : bisync +(33) : test sync without dry-run +(34) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is new - file11.txt -INFO : - Path1 File is newer - file2.txt -INFO : - Path1 File is newer - file5.txt -INFO : - Path1 File is newer - file7.txt -INFO : - Path1 File was deleted - file4.txt -INFO : - Path1 File was deleted - file6.txt +INFO : - Path1 File is newer - file2.txt +INFO : - Path1 File was deleted - file4.txt +INFO : - Path1 File is newer - file5.txt +INFO : - Path1 File was deleted - file6.txt +INFO : - Path1 File is newer - file7.txt +INFO : - Path1 File is new - file11.txt INFO : Path1: 6 changes: 1 new, 3 newer, 0 older, 2 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is new - file10.txt -INFO : - Path2 File is newer - file1.txt -INFO : - Path2 File is newer - file5.txt -INFO : - Path2 File is newer - file6.txt -INFO : - Path2 File was deleted - file3.txt -INFO : - Path2 File was deleted - file7.txt +INFO : - Path2 File is newer - file1.txt +INFO : - Path2 File was deleted - file3.txt +INFO : - Path2 File is newer - file5.txt +INFO : - Path2 File is newer - file6.txt +INFO : - Path2 File was deleted - file7.txt +INFO : - Path2 File is new - file10.txt INFO : Path2: 6 changes: 1 new, 3 newer, 0 older, 2 deleted INFO : Applying changes INFO : Checking potential conflicts... @@ -142,21 +142,21 @@ ERROR : file5.txt: md5 differ NOTICE: Local file system at {path2}: 1 differences found NOTICE: Local file system at {path2}: 1 errors while checking INFO : Finished checking the potential conflicts. 1 differences found -INFO : - Path1 Queue copy to Path2 - {path2/}file11.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file2.txt -INFO : - Path2 Queue delete - {path2/}file4.txt -NOTICE: - WARNING New or changed in both paths - file5.txt -NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 -NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 -NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 -NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 -INFO : - Path2 Queue copy to Path1 - {path1/}file6.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file7.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file10.txt -INFO : - Path1 Queue delete - {path1/}file3.txt -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}file11.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file2.txt +INFO : - Path2 Queue delete - {path2/}file4.txt +NOTICE: - WARNING New or changed in both paths - file5.txt +NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 +NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 +NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 +NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 +INFO : - Path2 Queue copy to Path1 - {path1/}file6.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file7.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file10.txt +INFO : - Path1 Queue delete - {path1/}file3.txt +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_equal/golden/test.log b/cmd/bisync/testdata/test_equal/golden/test.log index 34cffc037..37bd0d41a 100644 --- a/cmd/bisync/testdata/test_equal/golden/test.log +++ b/cmd/bisync/testdata/test_equal/golden/test.log @@ -1,35 +1,35 @@ -(01) : test equal +(01) : test equal -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test changed on both paths and NOT identical - file1 (file1R, file1L) -(05) : touch-glob 2001-01-02 {datadir/} file1R.txt -(06) : copy-as {datadir/}file1R.txt {path2/} file1.txt -(07) : touch-glob 2001-03-04 {datadir/} file1L.txt -(08) : copy-as {datadir/}file1L.txt {path1/} file1.txt +(04) : test changed on both paths and NOT identical - file1 (file1R, file1L) +(05) : touch-glob 2001-01-02 {datadir/} file1R.txt +(06) : copy-as {datadir/}file1R.txt {path2/} file1.txt +(07) : touch-glob 2001-03-04 {datadir/} file1L.txt +(08) : copy-as {datadir/}file1L.txt {path1/} file1.txt -(09) : test changed on both paths and identical - file2 -(10) : touch-glob 2001-01-02 {datadir/} file2.txt -(11) : copy-as {datadir/}file2.txt {path1/} file2.txt -(12) : copy-as {datadir/}file2.txt {path2/} file2.txt +(09) : test changed on both paths and identical - file2 +(10) : touch-glob 2001-01-02 {datadir/} file2.txt +(11) : copy-as {datadir/}file2.txt {path1/} file2.txt +(12) : copy-as {datadir/}file2.txt {path2/} file2.txt -(13) : test bisync run -(14) : bisync +(13) : test bisync run +(14) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is newer - file1.txt -INFO : - Path1 File is newer - file2.txt +INFO : - Path1 File is newer - file1.txt +INFO : - Path1 File is newer - file2.txt INFO : Path1: 2 changes: 0 new, 2 newer, 0 older, 0 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is newer - file1.txt -INFO : - Path2 File is newer - file2.txt +INFO : - Path2 File is newer - file1.txt +INFO : - Path2 File is newer - file2.txt INFO : Path2: 2 changes: 0 new, 2 newer, 0 older, 0 deleted INFO : Applying changes INFO : Checking potential conflicts... @@ -38,15 +38,15 @@ NOTICE: Local file system at {path2}: 1 differences found NOTICE: Local file system at {path2}: 1 errors while checking NOTICE: Local file system at {path2}: 1 matching files INFO : Finished checking the potential conflicts. 1 differences found -NOTICE: - WARNING New or changed in both paths - file1.txt -NOTICE: - Path1 Renaming Path1 copy - {path1/}file1.txt..path1 -NOTICE: - Path1 Queue copy to Path2 - {path2/}file1.txt..path1 -NOTICE: - Path2 Renaming Path2 copy - {path2/}file1.txt..path2 -NOTICE: - Path2 Queue copy to Path1 - {path1/}file1.txt..path2 -NOTICE: - WARNING New or changed in both paths - file2.txt +NOTICE: - WARNING New or changed in both paths - file1.txt +NOTICE: - Path1 Renaming Path1 copy - {path1/}file1.txt..path1 +NOTICE: - Path1 Queue copy to Path2 - {path2/}file1.txt..path1 +NOTICE: - Path2 Renaming Path2 copy - {path2/}file1.txt..path2 +NOTICE: - Path2 Queue copy to Path1 - {path1/}file1.txt..path2 +NOTICE: - WARNING New or changed in both paths - file2.txt INFO : Files are equal! Skipping: file2.txt -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful 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 25010065b..772d88ad6 100644 --- a/cmd/bisync/testdata/test_extended_char_paths/golden/test.log +++ b/cmd/bisync/testdata/test_extended_char_paths/golden/test.log @@ -1,72 +1,72 @@ -(01) : test extended-char-paths +(01) : test extended-char-paths -(02) : test resync subdirs with extended chars -(03) : bisync subdir=測試_Русский_{spc}_{spc}_ě_áñ resync +(02) : test resync subdirs with extended chars +(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 : Resync updating listings -INFO : Bisync successful -(04) : copy-listings resync +INFO : Bisync successful +(04) : copy-listings resync -(05) : test place new files with extended chars on each side +(05) : test place new files with extended chars on each side -(06) : touch-glob 2001-01-02 {datadir/} file1.txt -(07) : copy-as {datadir/}file1.txt {path1/}測試_Русский_{spc}_{spc}_ě_áñ 測試_file1p1 -(08) : copy-as {datadir/}file1.txt {path2/}測試_Русский_{spc}_{spc}_ě_áñ 測試_file1p2 +(06) : touch-glob 2001-01-02 {datadir/} file1.txt +(07) : copy-as {datadir/}file1.txt {path1/}測試_Русский_{spc}_{spc}_ě_áñ 測試_file1p1 +(08) : copy-as {datadir/}file1.txt {path2/}測試_Русский_{spc}_{spc}_ě_áñ 測試_file1p2 -(09) : test normal sync of subdirs with extended chars -(10) : bisync subdir=測試_Русский_{spc}_{spc}_ě_áñ +(09) : test normal sync of subdirs with extended chars +(10) : bisync subdir=測試_Русский_{spc}_{spc}_ě_áñ INFO : Synching Path1 "{path1/}測試_Русский_ _ _ě_áñ/" with Path2 "{path2/}測試_Русский_ _ _ě_áñ/" INFO : Path1 checking for diffs -INFO : - Path1 File is new - 測試_file1p1 +INFO : - Path1 File is new - 測試_file1p1 INFO : Path1: 1 changes: 1 new, 0 newer, 0 older, 0 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is new - 測試_file1p2 +INFO : - Path2 File is new - 測試_file1p2 INFO : Path2: 1 changes: 1 new, 0 newer, 0 older, 0 deleted INFO : Applying changes -INFO : - Path1 Queue copy to Path2 - {path2/}測試_Русский_ _ _ě_áñ/測試_file1p1 -INFO : - Path2 Queue copy to Path1 - {path1/}測試_Русский_ _ _ě_áñ/測試_file1p2 -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}測試_Русский_ _ _ě_áñ/測試_file1p1 +INFO : - Path2 Queue copy to Path1 - {path1/}測試_Русский_ _ _ě_áñ/測試_file1p2 +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}測試_Русский_ _ _ě_áñ/" vs Path2 "{path2/}測試_Русский_ _ _ě_áñ/" -INFO : Bisync successful -(11) : move-listings normal-sync +INFO : Bisync successful +(11) : move-listings normal-sync -(12) : test check-filename with extended chars. check should fail. -(13) : bisync resync +(12) : test check-filename with extended chars. check should fail. +(13) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful -(14) : delete-file {path1/}測試_Русский_{spc}_{spc}_ě_áñ/測試_check{spc}file -(15) : bisync check-access check-filename=測試_check{spc}file +INFO : Bisync successful +(14) : delete-file {path1/}測試_Русский_{spc}_{spc}_ě_áñ/測試_check{spc}file +(15) : bisync check-access check-filename=測試_check{spc}file INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File was deleted - 測試_Русский_ _ _ě_áñ/測試_check file +INFO : - Path1 File was deleted - 測試_Русский_ _ _ě_áñ/測試_check file INFO : Path1: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Path2 checking for diffs INFO : Checking access health ERROR : Access test failed: Path1 count 1, Path2 count 2 - 測試_check file -ERROR : - Access test failed: Path2 file not found in Path1 - 測試_Русский_ _ _ě_áñ/測試_check file -ERROR : Bisync critical error: check file check failed -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : -  Access test failed: Path2 file not found in Path1 - 測試_Русский_ _ _ě_áñ/測試_check file +ERROR : Bisync critical error: check file check failed +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(16) : copy-listings check-access-fail +(16) : copy-listings check-access-fail -(17) : test check-filename with extended chars. check should pass. -(18) : bisync resync +(17) : test check-filename with extended chars. check should pass. +(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 : - Path2 Resync will copy to Path1 - 測試_Русский_ _ _ě_áñ/測試_check file +INFO : - Path2 Resync is doing queued copies to - Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful -(19) : bisync check-access check-filename=測試_check{spc}file +INFO : Bisync successful +(19) : bisync check-access check-filename=測試_check{spc}file INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs @@ -75,21 +75,21 @@ INFO : Found 2 matching "測試_check file" files on both paths INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful -(20) : move-listings check-access-pass +INFO : Bisync successful +(20) : move-listings check-access-pass -(21) : test filters-file path with extended chars - masks /fileZ.txt -(22) : copy-file {datadir/}測試_filtersfile.txt {workdir/} -(23) : bisync filters-file={workdir/}測試_filtersfile.txt resync +(21) : test filters-file path with extended chars - masks /fileZ.txt +(22) : copy-file {datadir/}測試_filtersfile.txt {workdir/} +(23) : bisync filters-file={workdir/}測試_filtersfile.txt resync 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 : Resync updating listings -INFO : Bisync successful -(24) : copy-as {datadir/}file1.txt {path1/} fileZ.txt -(25) : bisync filters-file={workdir/}測試_filtersfile.txt +INFO : Bisync successful +(24) : copy-as {datadir/}file1.txt {path1/} fileZ.txt +(25) : bisync filters-file={workdir/}測試_filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}測試_filtersfile.txt INFO : Path1 checking for diffs @@ -97,4 +97,4 @@ INFO : Path2 checking for diffs INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_extended_filenames/golden/test.log b/cmd/bisync/testdata/test_extended_filenames/golden/test.log index d1db495d9..039ed9e82 100644 --- a/cmd/bisync/testdata/test_extended_filenames/golden/test.log +++ b/cmd/bisync/testdata/test_extended_filenames/golden/test.log @@ -1,62 +1,62 @@ -(01) : test extended-filenames +(01) : test extended-filenames -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test place a newer files on both paths +(04) : test place a newer files on both paths -(05) : touch-glob 2001-01-02 {datadir/} file1.txt -(06) : touch-glob 2001-01-02 {datadir/} file2.txt -(07) : copy-as {datadir/}file1.txt {path2/} New_top_level_mañana_funcionará.txt -(08) : copy-as {datadir/}file1.txt {path2/} file_enconde_mañana_funcionará.txt -(09) : copy-as {datadir/}file1.txt {path1/} filename_contains_ࢺ_p1m.txt -(10) : copy-as {datadir/}file1.txt {path2/} Русский.txt -(11) : copy-as {datadir/}file1.txt {path1/} file1_with{spc}white{spc}space.txt -(12) : copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ test.txt -(13) : copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ mañana_funcionará.txt -(14) : copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ file_with_測試_.txt -(15) : copy-as {datadir/}file1.txt {path2/}subdir_with_ࢺ_ filename_contains_ࢺ_p2s.txt -(16) : copy-as {datadir/}file1.txt {path2/}subdir{spc}with{eol}white{spc}space.txt file2{spc}with{eol}white{spc}space.txt -(17) : copy-as {datadir/}file1.txt {path2/}subdir_rawchars_{chr:19}_{chr:81}_{chr:fe} file3_{chr:19}_{chr:81}_{chr:fe} +(05) : touch-glob 2001-01-02 {datadir/} file1.txt +(06) : touch-glob 2001-01-02 {datadir/} file2.txt +(07) : copy-as {datadir/}file1.txt {path2/} New_top_level_mañana_funcionará.txt +(08) : copy-as {datadir/}file1.txt {path2/} file_enconde_mañana_funcionará.txt +(09) : copy-as {datadir/}file1.txt {path1/} filename_contains_ࢺ_p1m.txt +(10) : copy-as {datadir/}file1.txt {path2/} Русский.txt +(11) : copy-as {datadir/}file1.txt {path1/} file1_with{spc}white{spc}space.txt +(12) : copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ test.txt +(13) : copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ mañana_funcionará.txt +(14) : copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ file_with_測試_.txt +(15) : copy-as {datadir/}file1.txt {path2/}subdir_with_ࢺ_ filename_contains_ࢺ_p2s.txt +(16) : copy-as {datadir/}file1.txt {path2/}subdir{spc}with{eol}white{spc}space.txt file2{spc}with{eol}white{spc}space.txt +(17) : copy-as {datadir/}file1.txt {path2/}subdir_rawchars_{chr:19}_{chr:81}_{chr:fe} file3_{chr:19}_{chr:81}_{chr:fe} -(18) : test place a new file on both paths -(19) : copy-as {datadir/}file2.txt {path2/}subdir_with_ࢺ_ filechangedbothpaths_ࢺ_.txt -(20) : touch-glob 2001-01-03 {datadir/} file1.txt -(21) : copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ filechangedbothpaths_ࢺ_.txt +(18) : test place a new file on both paths +(19) : copy-as {datadir/}file2.txt {path2/}subdir_with_ࢺ_ filechangedbothpaths_ࢺ_.txt +(20) : touch-glob 2001-01-03 {datadir/} file1.txt +(21) : copy-as {datadir/}file1.txt {path1/}subdir_with_ࢺ_ filechangedbothpaths_ࢺ_.txt -(22) : test delete files on both paths -(23) : delete-file {path2/}filename_contains_ࢺ_.txt -(24) : delete-file {path2/}subdir_with_ࢺ_/filename_contains_ě_.txt -(25) : delete-file {path1/}Русский.txt +(22) : test delete files on both paths +(23) : delete-file {path2/}filename_contains_ࢺ_.txt +(24) : delete-file {path2/}subdir_with_ࢺ_/filename_contains_ě_.txt +(25) : delete-file {path1/}Русский.txt -(26) : test bisync run -(27) : bisync +(26) : test bisync run +(27) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is new - file1_with white space.txt -INFO : - Path1 File is new - filename_contains_ࢺ_p1m.txt -INFO : - Path1 File is new - subdir_with_ࢺ_/file_with_測試_.txt -INFO : - Path1 File is new - subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt -INFO : - Path1 File is new - subdir_with_ࢺ_/mañana_funcionará.txt -INFO : - Path1 File is new - subdir_with_ࢺ_/test.txt -INFO : - Path1 File was deleted - Русский.txt +INFO : - Path1 File was deleted - Русский.txt +INFO : - Path1 File is new - file1_with white space.txt +INFO : - Path1 File is new - filename_contains_ࢺ_p1m.txt +INFO : - Path1 File is new - subdir_with_ࢺ_/file_with_測試_.txt +INFO : - Path1 File is new - subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt +INFO : - Path1 File is new - subdir_with_ࢺ_/mañana_funcionará.txt +INFO : - Path1 File is new - subdir_with_ࢺ_/test.txt INFO : Path1: 7 changes: 6 new, 0 newer, 0 older, 1 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is new - "subdir_rawchars_␙_\x81_\xfe/file3_␙_\x81_\xfe" -INFO : - Path2 File is new - New_top_level_mañana_funcionará.txt -INFO : - Path2 File is new - subdir with␊white space.txt/file2 with␊white space.txt -INFO : - Path2 File is new - subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt -INFO : - Path2 File is new - subdir_with_ࢺ_/filename_contains_ࢺ_p2s.txt -INFO : - Path2 File is newer - file_enconde_mañana_funcionará.txt -INFO : - Path2 File is newer - Русский.txt -INFO : - Path2 File was deleted - filename_contains_ࢺ_.txt -INFO : - Path2 File was deleted - subdir_with_ࢺ_/filename_contains_ě_.txt +INFO : - Path2 File is newer - file_enconde_mañana_funcionará.txt +INFO : - Path2 File was deleted - filename_contains_ࢺ_.txt +INFO : - Path2 File was deleted - subdir_with_ࢺ_/filename_contains_ě_.txt +INFO : - Path2 File is newer - Русский.txt +INFO : - Path2 File is new - New_top_level_mañana_funcionará.txt +INFO : - Path2 File is new - subdir with␊white space.txt/file2 with␊white space.txt +INFO : - Path2 File is new - "subdir_rawchars_␙_\x81_\xfe/file3_␙_\x81_\xfe" +INFO : - Path2 File is new - subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt +INFO : - Path2 File is new - subdir_with_ࢺ_/filename_contains_ࢺ_p2s.txt INFO : Path2: 9 changes: 5 new, 2 newer, 0 older, 2 deleted INFO : Applying changes INFO : Checking potential conflicts... @@ -64,26 +64,26 @@ ERROR : subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt: sizes differ NOTICE: Local file system at {path2}: 1 differences found NOTICE: Local file system at {path2}: 1 errors while checking INFO : Finished checking the potential conflicts. 1 differences found -INFO : - Path1 Queue copy to Path2 - {path2/}file1_with white space.txt -INFO : - Path1 Queue copy to Path2 - {path2/}filename_contains_ࢺ_p1m.txt -INFO : - Path1 Queue copy to Path2 - {path2/}subdir_with_ࢺ_/file_with_測試_.txt -NOTICE: - WARNING New or changed in both paths - subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt -NOTICE: - Path1 Renaming Path1 copy - {path1/}subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt..path1 -NOTICE: - Path1 Queue copy to Path2 - {path2/}subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt..path1 -NOTICE: - Path2 Renaming Path2 copy - {path2/}subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt..path2 -NOTICE: - Path2 Queue copy to Path1 - {path1/}subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt..path2 -INFO : - Path1 Queue copy to Path2 - {path2/}subdir_with_ࢺ_/mañana_funcionará.txt -INFO : - Path1 Queue copy to Path2 - {path2/}subdir_with_ࢺ_/test.txt -INFO : - Path2 Queue copy to Path1 - {path1/}Русский.txt -INFO : - Path2 Queue copy to Path1 - {path1/}New_top_level_mañana_funcionará.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file_enconde_mañana_funcionará.txt -INFO : - Path1 Queue delete - {path1/}filename_contains_ࢺ_.txt -INFO : - Path2 Queue copy to Path1 - {path1/}subdir with␊white space.txt/file2 with␊white space.txt -INFO : - Path2 Queue copy to Path1 - "{path1/}subdir_rawchars_␙_\x81_\xfe/file3_␙_\x81_\xfe" -INFO : - Path1 Queue delete - {path1/}subdir_with_ࢺ_/filename_contains_ě_.txt -INFO : - Path2 Queue copy to Path1 - {path1/}subdir_with_ࢺ_/filename_contains_ࢺ_p2s.txt -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}file1_with white space.txt +INFO : - Path1 Queue copy to Path2 - {path2/}filename_contains_ࢺ_p1m.txt +INFO : - Path1 Queue copy to Path2 - {path2/}subdir_with_ࢺ_/file_with_測試_.txt +NOTICE: - WARNING New or changed in both paths - subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt +NOTICE: - Path1 Renaming Path1 copy - {path1/}subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt..path1 +NOTICE: - Path1 Queue copy to Path2 - {path2/}subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt..path1 +NOTICE: - Path2 Renaming Path2 copy - {path2/}subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt..path2 +NOTICE: - Path2 Queue copy to Path1 - {path1/}subdir_with_ࢺ_/filechangedbothpaths_ࢺ_.txt..path2 +INFO : - Path1 Queue copy to Path2 - {path2/}subdir_with_ࢺ_/mañana_funcionará.txt +INFO : - Path1 Queue copy to Path2 - {path2/}subdir_with_ࢺ_/test.txt +INFO : - Path2 Queue copy to Path1 - {path1/}Русский.txt +INFO : - Path2 Queue copy to Path1 - {path1/}New_top_level_mañana_funcionará.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file_enconde_mañana_funcionará.txt +INFO : - Path1 Queue delete - {path1/}filename_contains_ࢺ_.txt +INFO : - Path2 Queue copy to Path1 - {path1/}subdir with␊white space.txt/file2 with␊white space.txt +INFO : - Path2 Queue copy to Path1 - "{path1/}subdir_rawchars_␙_\x81_\xfe/file3_␙_\x81_\xfe" +INFO : - Path1 Queue delete - {path1/}subdir_with_ࢺ_/filename_contains_ě_.txt +INFO : - Path2 Queue copy to Path1 - {path1/}subdir_with_ࢺ_/filename_contains_ࢺ_p2s.txt +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_filters/golden/test.log b/cmd/bisync/testdata/test_filters/golden/test.log index fa4b62d31..dfea30ddf 100644 --- a/cmd/bisync/testdata/test_filters/golden/test.log +++ b/cmd/bisync/testdata/test_filters/golden/test.log @@ -1,36 +1,36 @@ -(01) : test filters +(01) : test filters -(02) : copy-file {datadir/}filtersfile.flt {workdir/} +(02) : copy-file {datadir/}filtersfile.flt {workdir/} -(03) : test resync to force building of the filters md5 hash -(04) : bisync filters-file={workdir/}filtersfile.flt resync +(03) : test resync to force building of the filters md5 hash +(04) : bisync filters-file={workdir/}filtersfile.flt resync 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 : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(05) : copy-listings resync +(05) : copy-listings resync -(06) : test place new files on the remote -(07) : touch-glob 2001-01-02 {datadir/} fileZ.txt -(08) : copy-as {datadir/}fileZ.txt {path2/} fileZ.txt -(09) : copy-as {datadir/}fileZ.txt {path1/}subdir fileZ.txt +(06) : test place new files on the remote +(07) : touch-glob 2001-01-02 {datadir/} fileZ.txt +(08) : copy-as {datadir/}fileZ.txt {path2/} fileZ.txt +(09) : copy-as {datadir/}fileZ.txt {path1/}subdir fileZ.txt -(10) : test bisync with filters-file. path2-side fileZ.txt will be filtered. -(11) : bisync filters-file={workdir/}filtersfile.flt +(10) : test bisync with filters-file. path2-side fileZ.txt will be filtered. +(11) : bisync filters-file={workdir/}filtersfile.flt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}filtersfile.flt INFO : Path1 checking for diffs -INFO : - Path1 File is new - subdir/fileZ.txt +INFO : - Path1 File is new - subdir/fileZ.txt INFO : Path1: 1 changes: 1 new, 0 newer, 0 older, 0 deleted INFO : Path2 checking for diffs INFO : Applying changes -INFO : - Path1 Queue copy to Path2 - {path2/}subdir/fileZ.txt -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}subdir/fileZ.txt +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_filtersfile_checks/golden/test.log b/cmd/bisync/testdata/test_filtersfile_checks/golden/test.log index ab50cf9cf..937d4fbee 100644 --- a/cmd/bisync/testdata/test_filtersfile_checks/golden/test.log +++ b/cmd/bisync/testdata/test_filtersfile_checks/golden/test.log @@ -1,44 +1,44 @@ -(01) : test filtersfile-checks +(01) : test filtersfile-checks -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test 1. inject filters file in workdir. -(05) : copy-file {datadir/}filtersfile.txt {workdir/} +(04) : test 1. inject filters file in workdir. +(05) : copy-file {datadir/}filtersfile.txt {workdir/} -(06) : test 2. run with filters-file but without md5. should abort. -(07) : bisync filters-file={workdir/}filtersfile.txt +(06) : test 2. run with filters-file but without md5. should abort. +(07) : bisync filters-file={workdir/}filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}filtersfile.txt -ERROR : Bisync critical error: filters file md5 hash not found (must run --resync): {workdir/}filtersfile.txt -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : Bisync critical error: filters file md5 hash not found (must run --resync): {workdir/}filtersfile.txt +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(08) : test 3. run without filters-file. should be blocked due to prior abort. -(09) : bisync +(08) : test 3. run without filters-file. should be blocked due to prior abort. +(09) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" -ERROR : Bisync critical error: cannot find prior Path1 or Path2 listings, likely due to critical error on prior run -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : Bisync critical error: cannot find prior Path1 or Path2 listings, likely due to critical error on prior run +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(10) : test 4. run with filters-file and resync. -(11) : bisync filters-file={workdir/}filtersfile.txt resync +(10) : test 4. run with filters-file and resync. +(11) : bisync filters-file={workdir/}filtersfile.txt resync 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 : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(12) : test 5. run with filters-file alone. should run. -(13) : bisync filters-file={workdir/}filtersfile.txt +(12) : test 5. run with filters-file alone. should run. +(13) : bisync filters-file={workdir/}filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}filtersfile.txt INFO : Path1 checking for diffs @@ -46,33 +46,33 @@ INFO : Path2 checking for diffs INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(14) : test 6. push changed filters-file to workdir. -(15) : copy-as {datadir/}filtersfile2.txt {workdir/} filtersfile.txt +(14) : test 6. push changed filters-file to workdir. +(15) : copy-as {datadir/}filtersfile2.txt {workdir/} filtersfile.txt -(16) : test 7. run with filters-file alone. should abort. -(17) : bisync filters-file={workdir/}filtersfile.txt +(16) : test 7. run with filters-file alone. should abort. +(17) : bisync filters-file={workdir/}filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}filtersfile.txt -ERROR : Bisync critical error: filters file has changed (must run --resync): {workdir/}filtersfile.txt -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : Bisync critical error: filters file has changed (must run --resync): {workdir/}filtersfile.txt +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted -(18) : test 8. run with filters-file and resync and dry-run. should do the dry-run but still cause next non-resync run to abort. -(19) : bisync filters-file={workdir/}filtersfile.txt resync dry-run +(18) : test 8. run with filters-file and resync and dry-run. should do the dry-run but still cause next non-resync run to abort. +(19) : bisync filters-file={workdir/}filtersfile.txt resync dry-run 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 : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(20) : test 9. run with filters-file alone. should abort. -(21) : bisync filters-file={workdir/}filtersfile.txt +(20) : test 9. run with filters-file alone. should abort. +(21) : bisync filters-file={workdir/}filtersfile.txt INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Using filters file {workdir/}filtersfile.txt -ERROR : Bisync critical error: filters file has changed (must run --resync): {workdir/}filtersfile.txt -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : Bisync critical error: filters file has changed (must run --resync): {workdir/}filtersfile.txt +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted diff --git a/cmd/bisync/testdata/test_ignorelistingchecksum/golden/test.log b/cmd/bisync/testdata/test_ignorelistingchecksum/golden/test.log index 993e36559..6e383f784 100644 --- a/cmd/bisync/testdata/test_ignorelistingchecksum/golden/test.log +++ b/cmd/bisync/testdata/test_ignorelistingchecksum/golden/test.log @@ -1,39 +1,39 @@ -(01) : test basic +(01) : test basic -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful -(04) : bisync resync ignore-listing-checksum +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 : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(05) : test place newer files on both paths +(05) : test place newer files on both paths -(06) : touch-copy 2001-01-02 {datadir/}file1.txt {path2/} -(07) : copy-as {datadir/}file1.txt {path1/}subdir file20.txt +(06) : touch-copy 2001-01-02 {datadir/}file1.txt {path2/} +(07) : copy-as {datadir/}file1.txt {path1/}subdir file20.txt -(08) : test bisync run -(09) : bisync ignore-listing-checksum +(08) : test bisync run +(09) : bisync ignore-listing-checksum INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is newer - subdir/file20.txt +INFO : - Path1 File is newer - subdir/file20.txt INFO : Path1: 1 changes: 0 new, 1 newer, 0 older, 0 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is newer - file1.txt +INFO : - Path2 File is newer - file1.txt INFO : Path2: 1 changes: 0 new, 1 newer, 0 older, 0 deleted INFO : Applying changes -INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file1.txt +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +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 7d83e9150..c6d802a2f 100644 --- a/cmd/bisync/testdata/test_max_delete_path1/golden/test.log +++ b/cmd/bisync/testdata/test_max_delete_path1/golden/test.log @@ -1,55 +1,55 @@ -(01) : test max-delete-path1 +(01) : test max-delete-path1 -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test delete >50% of local files -(05) : delete-file {path1/}file1.txt -(06) : delete-file {path1/}file2.txt -(07) : delete-file {path1/}file3.txt -(08) : delete-file {path1/}file4.txt -(09) : delete-file {path1/}file5.txt +(04) : test delete >50% of local files +(05) : delete-file {path1/}file1.txt +(06) : delete-file {path1/}file2.txt +(07) : delete-file {path1/}file3.txt +(08) : delete-file {path1/}file4.txt +(09) : delete-file {path1/}file5.txt -(10) : test sync should fail due to too many local deletes -(11) : bisync +(10) : test sync should fail due to too many local deletes +(11) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File was deleted - file1.txt -INFO : - Path1 File was deleted - file2.txt -INFO : - Path1 File was deleted - file3.txt -INFO : - Path1 File was deleted - file4.txt -INFO : - Path1 File was deleted - file5.txt +INFO : - Path1 File was deleted - file1.txt +INFO : - Path1 File was deleted - file2.txt +INFO : - Path1 File was deleted - file3.txt +INFO : - Path1 File was deleted - file4.txt +INFO : - Path1 File was deleted - file5.txt INFO : Path1: 5 changes: 0 new, 0 newer, 0 older, 5 deleted INFO : Path2 checking for diffs ERROR : Safety abort: too many deletes (>50%, 5 of 9) on Path1 "{path1/}". Run with --force if desired. -NOTICE: Bisync aborted. Please try again. +NOTICE: Bisync aborted. Please try again. Bisync error: too many deletes -(12) : copy-listings initial-fail +(12) : copy-listings initial-fail -(13) : test change max-delete limit to 60%. sync should run. -(14) : bisync max-delete=60 +(13) : test change max-delete limit to 60%. sync should run. +(14) : bisync max-delete=60 INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File was deleted - file1.txt -INFO : - Path1 File was deleted - file2.txt -INFO : - Path1 File was deleted - file3.txt -INFO : - Path1 File was deleted - file4.txt -INFO : - Path1 File was deleted - file5.txt +INFO : - Path1 File was deleted - file1.txt +INFO : - Path1 File was deleted - file2.txt +INFO : - Path1 File was deleted - file3.txt +INFO : - Path1 File was deleted - file4.txt +INFO : - Path1 File was deleted - file5.txt INFO : Path1: 5 changes: 0 new, 0 newer, 0 older, 5 deleted INFO : Path2 checking for diffs INFO : Applying changes -INFO : - Path2 Queue delete - {path2/}file1.txt -INFO : - Path2 Queue delete - {path2/}file2.txt -INFO : - Path2 Queue delete - {path2/}file3.txt -INFO : - Path2 Queue delete - {path2/}file4.txt -INFO : - Path2 Queue delete - {path2/}file5.txt -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path2 Queue delete - {path2/}file1.txt +INFO : - Path2 Queue delete - {path2/}file2.txt +INFO : - Path2 Queue delete - {path2/}file3.txt +INFO : - Path2 Queue delete - {path2/}file4.txt +INFO : - Path2 Queue delete - {path2/}file5.txt +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +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 23cc350c4..ca5a0f636 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 @@ -1,55 +1,55 @@ -(01) : test max-delete-path2-force +(01) : test max-delete-path2-force -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test delete >50% of remote files -(05) : delete-file {path2/}file1.txt -(06) : delete-file {path2/}file2.txt -(07) : delete-file {path2/}file3.txt -(08) : delete-file {path2/}file4.txt -(09) : delete-file {path2/}file5.txt +(04) : test delete >50% of remote files +(05) : delete-file {path2/}file1.txt +(06) : delete-file {path2/}file2.txt +(07) : delete-file {path2/}file3.txt +(08) : delete-file {path2/}file4.txt +(09) : delete-file {path2/}file5.txt -(10) : test sync should fail due to too many path2 deletes -(11) : bisync +(10) : test sync should fail due to too many path2 deletes +(11) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs -INFO : - Path2 File was deleted - file1.txt -INFO : - Path2 File was deleted - file2.txt -INFO : - Path2 File was deleted - file3.txt -INFO : - Path2 File was deleted - file4.txt -INFO : - Path2 File was deleted - file5.txt +INFO : - Path2 File was deleted - file1.txt +INFO : - Path2 File was deleted - file2.txt +INFO : - Path2 File was deleted - file3.txt +INFO : - Path2 File was deleted - file4.txt +INFO : - Path2 File was deleted - file5.txt INFO : Path2: 5 changes: 0 new, 0 newer, 0 older, 5 deleted ERROR : Safety abort: too many deletes (>50%, 5 of 9) on Path2 "{path2/}". Run with --force if desired. -NOTICE: Bisync aborted. Please try again. +NOTICE: Bisync aborted. Please try again. Bisync error: too many deletes -(12) : copy-listings initial-fail +(12) : copy-listings initial-fail -(13) : test apply force option. sync should run. -(14) : bisync force +(13) : test apply force option. sync should run. +(14) : bisync force INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs -INFO : - Path2 File was deleted - file1.txt -INFO : - Path2 File was deleted - file2.txt -INFO : - Path2 File was deleted - file3.txt -INFO : - Path2 File was deleted - file4.txt -INFO : - Path2 File was deleted - file5.txt +INFO : - Path2 File was deleted - file1.txt +INFO : - Path2 File was deleted - file2.txt +INFO : - Path2 File was deleted - file3.txt +INFO : - Path2 File was deleted - file4.txt +INFO : - Path2 File was deleted - file5.txt INFO : Path2: 5 changes: 0 new, 0 newer, 0 older, 5 deleted INFO : Applying changes -INFO : - Path1 Queue delete - {path1/}file1.txt -INFO : - Path1 Queue delete - {path1/}file2.txt -INFO : - Path1 Queue delete - {path1/}file3.txt -INFO : - Path1 Queue delete - {path1/}file4.txt -INFO : - Path1 Queue delete - {path1/}file5.txt -INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Queue delete - {path1/}file1.txt +INFO : - Path1 Queue delete - {path1/}file2.txt +INFO : - Path1 Queue delete - {path1/}file3.txt +INFO : - Path1 Queue delete - {path1/}file4.txt +INFO : - Path1 Queue delete - {path1/}file5.txt +INFO : - Path2 Do queued copies to - Path1 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +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 644cab613..f0caf729a 100644 --- a/cmd/bisync/testdata/test_rclone_args/golden/test.log +++ b/cmd/bisync/testdata/test_rclone_args/golden/test.log @@ -1,43 +1,43 @@ -(01) : test rclone-args +(01) : test rclone-args -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test place newer files on both paths +(04) : test place newer files on both paths -(05) : touch-glob 2001-01-02 {datadir/} * +(05) : touch-glob 2001-01-02 {datadir/} * -(06) : copy-file {datadir/}file1.txt {path1/} -(07) : copy-file {datadir/}file2.txt {path2/} +(06) : copy-file {datadir/}file1.txt {path1/} +(07) : copy-file {datadir/}file2.txt {path2/} -(08) : copy-file {datadir/}file20.txt {path1/}subdir -(09) : copy-file {datadir/}file21.txt {path2/}subdir +(08) : copy-file {datadir/}file20.txt {path1/}subdir +(09) : copy-file {datadir/}file21.txt {path2/}subdir -(10) : test run bisync with custom options -(11) : bisync size-only +(10) : test run bisync with custom options +(11) : bisync size-only INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is newer - file1.txt -INFO : - Path1 File is newer - subdir/file20.txt +INFO : - Path1 File is newer - file1.txt +INFO : - Path1 File is newer - subdir/file20.txt INFO : Path1: 2 changes: 0 new, 2 newer, 0 older, 0 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is newer - file2.txt -INFO : - Path2 File is newer - subdir/file21.txt +INFO : - Path2 File is newer - file2.txt +INFO : - Path2 File is newer - subdir/file21.txt INFO : Path2: 2 changes: 0 new, 2 newer, 0 older, 0 deleted INFO : Applying changes -INFO : - Path1 Queue copy to Path2 - {path2/}file1.txt -INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file2.txt -INFO : - Path2 Queue copy to Path1 - {path1/}subdir/file21.txt -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}file1.txt +INFO : - Path1 Queue copy to Path2 - {path2/}subdir/file20.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file2.txt +INFO : - Path2 Queue copy to Path1 - {path1/}subdir/file21.txt +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful diff --git a/cmd/bisync/testdata/test_resync/golden/test.log b/cmd/bisync/testdata/test_resync/golden/test.log index 1c60be8a8..39f35b09e 100644 --- a/cmd/bisync/testdata/test_resync/golden/test.log +++ b/cmd/bisync/testdata/test_resync/golden/test.log @@ -1,91 +1,91 @@ -(01) : test resync +(01) : test resync -(02) : test 1. resync with empty path1, resulting in copying all content from path2. -(03) : purge-children {path1/} -(04) : bisync resync +(02) : test 1. resync with empty path1, resulting in copying all content from path2. +(03) : purge-children {path1/} +(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 : - 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 : Resync updating listings -INFO : Bisync successful -(05) : move-listings empty-path1 +INFO : Bisync successful +(05) : move-listings empty-path1 -(06) : test 2. resync with empty path2, resulting in synching all content to path2. -(07) : purge-children {path2/} -(08) : bisync resync +(06) : test 2. resync with empty path2, resulting in synching all content to path2. +(07) : purge-children {path2/} +(08) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful -(09) : move-listings empty-path2 +INFO : Bisync successful +(09) : move-listings empty-path2 -(10) : test 3. exercise all of the various file difference scenarios during a resync. -(11) : touch-glob 2002-02-02 {datadir/} fileA.txt -(12) : touch-glob 1999-09-09 {datadir/} fileB.txt +(10) : test 3. exercise all of the various file difference scenarios during a resync. +(11) : touch-glob 2002-02-02 {datadir/} fileA.txt +(12) : touch-glob 1999-09-09 {datadir/} fileB.txt -(13) : test = file - path1 - path2 - expected action - who wins -(14) : test - file1.txt - exists - missing - sync path1 > path2 - path1 -(15) : delete-file {path2/}file1.txt +(13) : test = file - path1 - path2 - expected action - who wins +(14) : test - file1.txt - exists - missing - sync path1 > path2 - path1 +(15) : delete-file {path2/}file1.txt -(16) : test - file2.txt - missing - exists - copy path2 > path1 - path2 -(17) : delete-file {path1/}file2.txt +(16) : test - file2.txt - missing - exists - copy path2 > path1 - path2 +(17) : delete-file {path1/}file2.txt -(18) : test - file3.txt - exists - newer date - sync path1 > path2 - path1 -(19) : copy-as {datadir/}fileA.txt {path2/} file3.txt +(18) : test - file3.txt - exists - newer date - sync path1 > path2 - path1 +(19) : copy-as {datadir/}fileA.txt {path2/} file3.txt -(20) : test - file4.txt - missing - newer date - copy path2 > path1 - path2 -(21) : delete-file {path1/}file4.txt -(22) : copy-as {datadir/}fileA.txt {path2/} file4.txt +(20) : test - file4.txt - missing - newer date - copy path2 > path1 - path2 +(21) : delete-file {path1/}file4.txt +(22) : copy-as {datadir/}fileA.txt {path2/} file4.txt -(23) : test - file5.txt - exists - older date - sync path1 > path2 - path1 -(24) : copy-as {datadir/}fileB.txt {path2/} file5.txt +(23) : test - file5.txt - exists - older date - sync path1 > path2 - path1 +(24) : copy-as {datadir/}fileB.txt {path2/} file5.txt -(25) : test - file6.txt - older date - newer date - sync path1 > path2 - path1 -(26) : copy-as {datadir/}fileB.txt {path1/} file6.txt -(27) : copy-as {datadir/}fileA.txt {path2/} file6.txt +(25) : test - file6.txt - older date - newer date - sync path1 > path2 - path1 +(26) : copy-as {datadir/}fileB.txt {path1/} file6.txt +(27) : copy-as {datadir/}fileA.txt {path2/} file6.txt -(28) : test - file7.txt - exists - exists (same) - none - same +(28) : test - file7.txt - exists - exists (same) - none - same -(29) : test run bisync with resync -(30) : bisync resync +(29) : test run bisync with resync +(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 : - 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 : Resync updating listings -INFO : Bisync successful -(31) : copy-listings mixed-diffs +INFO : Bisync successful +(31) : copy-listings mixed-diffs -(32) : test run normal bisync -(33) : bisync +(32) : test run normal bisync +(33) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs INFO : No changes found INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(34) : test 4. confirm critical error on normal sync of empty path. -(35) : purge-children {path2/} -(36) : bisync +(34) : test 4. confirm critical error on normal sync of empty path. +(35) : purge-children {path2/} +(36) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs ERROR : Empty current Path2 listing. Cannot sync to an empty directory: {workdir/}{session}.path2.lst-new -ERROR : Bisync critical error: empty current Path2 listing: {workdir/}{session}.path2.lst-new -ERROR : Bisync aborted. Must run --resync to recover. +ERROR : Bisync critical error: empty current Path2 listing: {workdir/}{session}.path2.lst-new +ERROR : Bisync aborted. Must run --resync to recover. Bisync error: bisync aborted diff --git a/cmd/bisync/testdata/test_rmdirs/golden/test.log b/cmd/bisync/testdata/test_rmdirs/golden/test.log index b770c2482..eca4e4fba 100644 --- a/cmd/bisync/testdata/test_rmdirs/golden/test.log +++ b/cmd/bisync/testdata/test_rmdirs/golden/test.log @@ -1,39 +1,39 @@ -(01) : test rmdirs +(01) : test rmdirs -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test 1. delete path1 subdir file -(05) : delete-file {path1/}subdir/file20.txt +(04) : test 1. delete path1 subdir file +(05) : delete-file {path1/}subdir/file20.txt -(06) : test 2. run bisync without remove-empty-dirs -(07) : bisync +(06) : test 2. run bisync without remove-empty-dirs +(07) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File was deleted - subdir/file20.txt +INFO : - Path1 File was deleted - subdir/file20.txt INFO : Path1: 1 changes: 0 new, 0 newer, 0 older, 1 deleted INFO : Path2 checking for diffs INFO : Applying changes -INFO : - Path2 Queue delete - {path2/}subdir/file20.txt -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path2 Queue delete - {path2/}subdir/file20.txt +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(08) : test 3. confirm the subdir still exists on both paths -(09) : list-dirs {path1/} +(08) : test 3. confirm the subdir still exists on both paths +(09) : list-dirs {path1/} subdir/ -(10) : list-dirs {path2/} +(10) : list-dirs {path2/} subdir/ -(11) : test 4. run bisync with remove-empty-dirs -(12) : bisync remove-empty-dirs +(11) : test 4. run bisync with remove-empty-dirs +(12) : bisync remove-empty-dirs INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs INFO : Path2 checking for diffs @@ -43,8 +43,8 @@ INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" INFO : Removing empty directories INFO : subdir: Removing directory INFO : subdir: Removing directory -INFO : Bisync successful +INFO : Bisync successful -(13) : test 5. confirm the subdir has been removed on both paths -(14) : list-dirs {path1/} -(15) : list-dirs {path2/} +(13) : test 5. confirm the subdir has been removed on both paths +(14) : list-dirs {path1/} +(15) : list-dirs {path2/} diff --git a/cmd/bisync/testdata/test_volatile/golden/test.log b/cmd/bisync/testdata/test_volatile/golden/test.log index 6964fa9e2..b65c8a26e 100644 --- a/cmd/bisync/testdata/test_volatile/golden/test.log +++ b/cmd/bisync/testdata/test_volatile/golden/test.log @@ -1,28 +1,28 @@ -(01) : test volatile +(01) : test volatile -(02) : test initial bisync -(03) : bisync resync +(02) : test initial bisync +(03) : bisync resync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Copying unique Path2 files to Path1 INFO : Resynching Path1 to Path2 INFO : Resync updating listings -INFO : Bisync successful +INFO : Bisync successful -(04) : test changed on both paths - file5 (file5R, file5L) -(05) : touch-glob 2001-01-02 {datadir/} file5R.txt -(06) : copy-as {datadir/}file5R.txt {path2/} file5.txt -(07) : touch-glob 2001-03-04 {datadir/} file5L.txt -(08) : copy-as {datadir/}file5L.txt {path1/} file5.txt +(04) : test changed on both paths - file5 (file5R, file5L) +(05) : touch-glob 2001-01-02 {datadir/} file5R.txt +(06) : copy-as {datadir/}file5R.txt {path2/} file5.txt +(07) : touch-glob 2001-03-04 {datadir/} file5L.txt +(08) : copy-as {datadir/}file5L.txt {path1/} file5.txt -(09) : test bisync with 50 files created during - should ignore new files -(10) : test-func -(11) : bisync +(09) : test bisync with 50 files created during - should ignore new files +(10) : test-func +(11) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is newer - file5.txt +INFO : - Path1 File is newer - file5.txt INFO : Path1: 1 changes: 0 new, 1 newer, 0 older, 0 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is newer - file5.txt +INFO : - Path2 File is newer - file5.txt INFO : Path2: 1 changes: 0 new, 1 newer, 0 older, 0 deleted INFO : Applying changes INFO : Checking potential conflicts... @@ -30,124 +30,124 @@ ERROR : file5.txt: md5 differ NOTICE: Local file system at {path2}: 1 differences found NOTICE: Local file system at {path2}: 1 errors while checking INFO : Finished checking the potential conflicts. 1 differences found -NOTICE: - WARNING New or changed in both paths - file5.txt -NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 -NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 -NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 -NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +NOTICE: - WARNING New or changed in both paths - file5.txt +NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 +NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 +NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 +NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(12) : test changed on both paths - file5 (file5R, file5L) -(13) : touch-glob 2001-01-02 {datadir/} file5R.txt -(14) : copy-as {datadir/}file5R.txt {path2/} file5.txt -(15) : touch-glob 2001-03-04 {datadir/} file5L.txt -(16) : copy-as {datadir/}file5L.txt {path1/} file5.txt +(12) : test changed on both paths - file5 (file5R, file5L) +(13) : touch-glob 2001-01-02 {datadir/} file5R.txt +(14) : copy-as {datadir/}file5R.txt {path2/} file5.txt +(15) : touch-glob 2001-03-04 {datadir/} file5L.txt +(16) : copy-as {datadir/}file5L.txt {path1/} file5.txt -(17) : test next bisync - should now notice new files -(18) : test-func -(19) : bisync +(17) : test next bisync - should now notice new files +(18) : test-func +(19) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is new - file100.txt -INFO : - Path1 File is new - file5.txt -INFO : - Path1 File is new - file51.txt -INFO : - Path1 File is new - file52.txt -INFO : - Path1 File is new - file53.txt -INFO : - Path1 File is new - file54.txt -INFO : - Path1 File is new - file55.txt -INFO : - Path1 File is new - file56.txt -INFO : - Path1 File is new - file57.txt -INFO : - Path1 File is new - file58.txt -INFO : - Path1 File is new - file59.txt -INFO : - Path1 File is new - file60.txt -INFO : - Path1 File is new - file61.txt -INFO : - Path1 File is new - file62.txt -INFO : - Path1 File is new - file63.txt -INFO : - Path1 File is new - file64.txt -INFO : - Path1 File is new - file65.txt -INFO : - Path1 File is new - file66.txt -INFO : - Path1 File is new - file67.txt -INFO : - Path1 File is new - file68.txt -INFO : - Path1 File is new - file69.txt -INFO : - Path1 File is new - file70.txt -INFO : - Path1 File is new - file71.txt -INFO : - Path1 File is new - file72.txt -INFO : - Path1 File is new - file73.txt -INFO : - Path1 File is new - file74.txt -INFO : - Path1 File is new - file75.txt -INFO : - Path1 File is new - file76.txt -INFO : - Path1 File is new - file77.txt -INFO : - Path1 File is new - file78.txt -INFO : - Path1 File is new - file79.txt -INFO : - Path1 File is new - file80.txt -INFO : - Path1 File is new - file81.txt -INFO : - Path1 File is new - file82.txt -INFO : - Path1 File is new - file83.txt -INFO : - Path1 File is new - file84.txt -INFO : - Path1 File is new - file85.txt -INFO : - Path1 File is new - file86.txt -INFO : - Path1 File is new - file87.txt -INFO : - Path1 File is new - file88.txt -INFO : - Path1 File is new - file89.txt -INFO : - Path1 File is new - file90.txt -INFO : - Path1 File is new - file91.txt -INFO : - Path1 File is new - file92.txt -INFO : - Path1 File is new - file93.txt -INFO : - Path1 File is new - file94.txt -INFO : - Path1 File is new - file95.txt -INFO : - Path1 File is new - file96.txt -INFO : - Path1 File is new - file97.txt -INFO : - Path1 File is new - file98.txt -INFO : - Path1 File is new - file99.txt +INFO : - Path1 File is new - file100.txt +INFO : - Path1 File is new - file5.txt +INFO : - Path1 File is new - file51.txt +INFO : - Path1 File is new - file52.txt +INFO : - Path1 File is new - file53.txt +INFO : - Path1 File is new - file54.txt +INFO : - Path1 File is new - file55.txt +INFO : - Path1 File is new - file56.txt +INFO : - Path1 File is new - file57.txt +INFO : - Path1 File is new - file58.txt +INFO : - Path1 File is new - file59.txt +INFO : - Path1 File is new - file60.txt +INFO : - Path1 File is new - file61.txt +INFO : - Path1 File is new - file62.txt +INFO : - Path1 File is new - file63.txt +INFO : - Path1 File is new - file64.txt +INFO : - Path1 File is new - file65.txt +INFO : - Path1 File is new - file66.txt +INFO : - Path1 File is new - file67.txt +INFO : - Path1 File is new - file68.txt +INFO : - Path1 File is new - file69.txt +INFO : - Path1 File is new - file70.txt +INFO : - Path1 File is new - file71.txt +INFO : - Path1 File is new - file72.txt +INFO : - Path1 File is new - file73.txt +INFO : - Path1 File is new - file74.txt +INFO : - Path1 File is new - file75.txt +INFO : - Path1 File is new - file76.txt +INFO : - Path1 File is new - file77.txt +INFO : - Path1 File is new - file78.txt +INFO : - Path1 File is new - file79.txt +INFO : - Path1 File is new - file80.txt +INFO : - Path1 File is new - file81.txt +INFO : - Path1 File is new - file82.txt +INFO : - Path1 File is new - file83.txt +INFO : - Path1 File is new - file84.txt +INFO : - Path1 File is new - file85.txt +INFO : - Path1 File is new - file86.txt +INFO : - Path1 File is new - file87.txt +INFO : - Path1 File is new - file88.txt +INFO : - Path1 File is new - file89.txt +INFO : - Path1 File is new - file90.txt +INFO : - Path1 File is new - file91.txt +INFO : - Path1 File is new - file92.txt +INFO : - Path1 File is new - file93.txt +INFO : - Path1 File is new - file94.txt +INFO : - Path1 File is new - file95.txt +INFO : - Path1 File is new - file96.txt +INFO : - Path1 File is new - file97.txt +INFO : - Path1 File is new - file98.txt +INFO : - Path1 File is new - file99.txt INFO : Path1: 51 changes: 51 new, 0 newer, 0 older, 0 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is new - file0.txt -INFO : - Path2 File is new - file10.txt -INFO : - Path2 File is new - file11.txt -INFO : - Path2 File is new - file12.txt -INFO : - Path2 File is new - file13.txt -INFO : - Path2 File is new - file14.txt -INFO : - Path2 File is new - file15.txt -INFO : - Path2 File is new - file16.txt -INFO : - Path2 File is new - file17.txt -INFO : - Path2 File is new - file18.txt -INFO : - Path2 File is new - file19.txt -INFO : - Path2 File is new - file20.txt -INFO : - Path2 File is new - file21.txt -INFO : - Path2 File is new - file22.txt -INFO : - Path2 File is new - file23.txt -INFO : - Path2 File is new - file24.txt -INFO : - Path2 File is new - file25.txt -INFO : - Path2 File is new - file26.txt -INFO : - Path2 File is new - file27.txt -INFO : - Path2 File is new - file28.txt -INFO : - Path2 File is new - file29.txt -INFO : - Path2 File is new - file30.txt -INFO : - Path2 File is new - file31.txt -INFO : - Path2 File is new - file32.txt -INFO : - Path2 File is new - file33.txt -INFO : - Path2 File is new - file34.txt -INFO : - Path2 File is new - file35.txt -INFO : - Path2 File is new - file36.txt -INFO : - Path2 File is new - file37.txt -INFO : - Path2 File is new - file38.txt -INFO : - Path2 File is new - file39.txt -INFO : - Path2 File is new - file40.txt -INFO : - Path2 File is new - file41.txt -INFO : - Path2 File is new - file42.txt -INFO : - Path2 File is new - file43.txt -INFO : - Path2 File is new - file44.txt -INFO : - Path2 File is new - file45.txt -INFO : - Path2 File is new - file46.txt -INFO : - Path2 File is new - file47.txt -INFO : - Path2 File is new - file48.txt -INFO : - Path2 File is new - file49.txt -INFO : - Path2 File is new - file5.txt -INFO : - Path2 File is new - file9.txt +INFO : - Path2 File is new - file0.txt +INFO : - Path2 File is new - file10.txt +INFO : - Path2 File is new - file11.txt +INFO : - Path2 File is new - file12.txt +INFO : - Path2 File is new - file13.txt +INFO : - Path2 File is new - file14.txt +INFO : - Path2 File is new - file15.txt +INFO : - Path2 File is new - file16.txt +INFO : - Path2 File is new - file17.txt +INFO : - Path2 File is new - file18.txt +INFO : - Path2 File is new - file19.txt +INFO : - Path2 File is new - file20.txt +INFO : - Path2 File is new - file21.txt +INFO : - Path2 File is new - file22.txt +INFO : - Path2 File is new - file23.txt +INFO : - Path2 File is new - file24.txt +INFO : - Path2 File is new - file25.txt +INFO : - Path2 File is new - file26.txt +INFO : - Path2 File is new - file27.txt +INFO : - Path2 File is new - file28.txt +INFO : - Path2 File is new - file29.txt +INFO : - Path2 File is new - file30.txt +INFO : - Path2 File is new - file31.txt +INFO : - Path2 File is new - file32.txt +INFO : - Path2 File is new - file33.txt +INFO : - Path2 File is new - file34.txt +INFO : - Path2 File is new - file35.txt +INFO : - Path2 File is new - file36.txt +INFO : - Path2 File is new - file37.txt +INFO : - Path2 File is new - file38.txt +INFO : - Path2 File is new - file39.txt +INFO : - Path2 File is new - file40.txt +INFO : - Path2 File is new - file41.txt +INFO : - Path2 File is new - file42.txt +INFO : - Path2 File is new - file43.txt +INFO : - Path2 File is new - file44.txt +INFO : - Path2 File is new - file45.txt +INFO : - Path2 File is new - file46.txt +INFO : - Path2 File is new - file47.txt +INFO : - Path2 File is new - file48.txt +INFO : - Path2 File is new - file49.txt +INFO : - Path2 File is new - file5.txt +INFO : - Path2 File is new - file9.txt INFO : Path2: 43 changes: 43 new, 0 newer, 0 older, 0 deleted INFO : Applying changes INFO : Checking potential conflicts... @@ -155,124 +155,124 @@ ERROR : file5.txt: md5 differ NOTICE: Local file system at {path2}: 1 differences found NOTICE: Local file system at {path2}: 1 errors while checking INFO : Finished checking the potential conflicts. 1 differences found -INFO : - Path1 Queue copy to Path2 - {path2/}file100.txt -NOTICE: - WARNING New or changed in both paths - file5.txt -NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 -NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 -NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 -NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 -INFO : - Path1 Queue copy to Path2 - {path2/}file51.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file52.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file53.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file54.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file55.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file56.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file57.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file58.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file59.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file60.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file61.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file62.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file63.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file64.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file65.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file66.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file67.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file68.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file69.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file70.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file71.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file72.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file73.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file74.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file75.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file76.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file77.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file78.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file79.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file80.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file81.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file82.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file83.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file84.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file85.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file86.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file87.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file88.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file89.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file90.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file91.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file92.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file93.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file94.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file95.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file96.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file97.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file98.txt -INFO : - Path1 Queue copy to Path2 - {path2/}file99.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file0.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file10.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file11.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file12.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file13.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file14.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file15.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file16.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file17.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file18.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file19.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file20.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file21.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file22.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file23.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file24.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file25.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file26.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file27.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file28.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file29.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file30.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file31.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file32.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file33.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file34.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file35.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file36.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file37.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file38.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file39.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file40.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file41.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file42.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file43.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file44.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file45.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file46.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file47.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file48.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file49.txt -INFO : - Path2 Queue copy to Path1 - {path1/}file9.txt -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +INFO : - Path1 Queue copy to Path2 - {path2/}file100.txt +NOTICE: - WARNING New or changed in both paths - file5.txt +NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 +NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 +NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 +NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 +INFO : - Path1 Queue copy to Path2 - {path2/}file51.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file52.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file53.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file54.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file55.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file56.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file57.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file58.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file59.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file60.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file61.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file62.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file63.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file64.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file65.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file66.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file67.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file68.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file69.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file70.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file71.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file72.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file73.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file74.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file75.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file76.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file77.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file78.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file79.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file80.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file81.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file82.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file83.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file84.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file85.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file86.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file87.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file88.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file89.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file90.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file91.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file92.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file93.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file94.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file95.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file96.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file97.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file98.txt +INFO : - Path1 Queue copy to Path2 - {path2/}file99.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file0.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file10.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file11.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file12.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file13.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file14.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file15.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file16.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file17.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file18.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file19.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file20.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file21.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file22.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file23.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file24.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file25.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file26.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file27.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file28.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file29.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file30.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file31.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file32.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file33.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file34.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file35.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file36.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file37.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file38.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file39.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file40.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file41.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file42.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file43.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file44.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file45.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file46.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file47.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file48.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file49.txt +INFO : - Path2 Queue copy to Path1 - {path1/}file9.txt +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful -(20) : test changed on both paths - file5 (file5R, file5L) -(21) : touch-glob 2001-01-02 {datadir/} file5R.txt -(22) : copy-as {datadir/}file5R.txt {path2/} file5.txt -(23) : touch-glob 2001-03-04 {datadir/} file5L.txt -(24) : copy-as {datadir/}file5L.txt {path1/} file5.txt +(20) : test changed on both paths - file5 (file5R, file5L) +(21) : touch-glob 2001-01-02 {datadir/} file5R.txt +(22) : copy-as {datadir/}file5R.txt {path2/} file5.txt +(23) : touch-glob 2001-03-04 {datadir/} file5L.txt +(24) : copy-as {datadir/}file5L.txt {path1/} file5.txt -(25) : test next bisync - should be no changes except dummy -(26) : test-func -(27) : bisync +(25) : test next bisync - should be no changes except dummy +(26) : test-func +(27) : bisync INFO : Synching Path1 "{path1/}" with Path2 "{path2/}" INFO : Path1 checking for diffs -INFO : - Path1 File is new - file5.txt +INFO : - Path1 File is new - file5.txt INFO : Path1: 1 changes: 1 new, 0 newer, 0 older, 0 deleted INFO : Path2 checking for diffs -INFO : - Path2 File is new - file5.txt +INFO : - Path2 File is new - file5.txt INFO : Path2: 1 changes: 1 new, 0 newer, 0 older, 0 deleted INFO : Applying changes INFO : Checking potential conflicts... @@ -280,13 +280,13 @@ ERROR : file5.txt: md5 differ NOTICE: Local file system at {path2}: 1 differences found NOTICE: Local file system at {path2}: 1 errors while checking INFO : Finished checking the potential conflicts. 1 differences found -NOTICE: - WARNING New or changed in both paths - file5.txt -NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 -NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 -NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 -NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 -INFO : - Path2 Do queued copies to - Path1 -INFO : - Path1 Do queued copies to - Path2 +NOTICE: - WARNING New or changed in both paths - file5.txt +NOTICE: - Path1 Renaming Path1 copy - {path1/}file5.txt..path1 +NOTICE: - Path1 Queue copy to Path2 - {path2/}file5.txt..path1 +NOTICE: - Path2 Renaming Path2 copy - {path2/}file5.txt..path2 +NOTICE: - Path2 Queue copy to Path1 - {path1/}file5.txt..path2 +INFO : - Path2 Do queued copies to - Path1 +INFO : - Path1 Do queued copies to - Path2 INFO : Updating listings INFO : Validating listings for Path1 "{path1/}" vs Path2 "{path2/}" -INFO : Bisync successful +INFO : Bisync successful