fd95511091
Before this change, bisync needed to build a full listing for Path1, then a full listing for Path2, then compare them -- and each of those tasks needed to finish before the next one could start. In addition to being slow and inefficient, it also caused real problems if a file changed between the time bisync checked it on Path1 and the time it checked the corresponding file on Path2. This change solves these problems by listing both paths concurrently, using the same March infrastructure that check and sync use to traverse two directories in lock-step, optimized by Go's robust concurrency support. Listings should now be much faster, and any given path is now checked nearly-instantaneously on both sides, minimizing room for error. Further discussion: https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=4.%20Listings%20should%20alternate%20between%20paths%20to%20minimize%20errors |
||
---|---|---|
.. | ||
_testdir_path1.._testdir_path2.copy1to2.que | ||
_testdir_path1.._testdir_path2.path1.lst | ||
_testdir_path1.._testdir_path2.path1.lst-new | ||
_testdir_path1.._testdir_path2.path1.lst-old | ||
_testdir_path1.._testdir_path2.path2.lst | ||
_testdir_path1.._testdir_path2.path2.lst-new | ||
_testdir_path1.._testdir_path2.path2.lst-old | ||
test.log |