Resync/merge with incomplete local folder does not sync down all files


#1

Steps to (very reliably) reproduce this error:

  1. Prepare a folder with some random files and at least two levels of subfolders, for example a “test” folder with the following content:

    test/random0
    test/random1
    test/dir1/dir3/random0
    test/dir1/dir3/random1
    test/dir1/random0
    test/dir1/random1
    test/dir2/random0
    test/dir2/random1

    Put this folder on both local PC (outside of the top level Insync folder) and in Google Drive, but not synced via Insync.

  2. Delete some files/folders at deeper levels in the local folder. For example, the local version may now be

    test/random0
    test/random1
    test/dir1/random1
    test/dir2/random0
    test/dir2/random1

    So now the cloud version is still complete, but the local version is incomplete.

  3. Sync/merge the local and cloud versions of this folder via Insync. This can be achieved with (at least) two methods:

    Method A: If the cloud version is at the root of Google Drive, use “sync to a separate location” button in Insync’s file explorer interface, and choose the corresponding local folder to “merge”.

    Method B: Selectively sync the cloud version. As soon as the top level “test” folder is created, pause syncing. Next, delete the just created empty “test” folder in Insync folder, and move the actual local folder into the corresponding location in Insync folder by either directly moving the folder or by creating a symlink. Then resume syncing.

  4. Wait until syncing completes. And notice that even though all files and folders/subfolders have green check marks in Windows Explorer, the files & folders deleted in Step 2 are not synced down from the cloud.
    In Insync’s built-in file explorer / selective sync interface, the “test” folder also has a green check mark.

  5. To find the (locally) missing files, in Insync’s file explorer / selective sync interface, expand the “test” folder to where the missing files are. Selective sync will then notice the mismatch, and prompt that selective sync settings need updating.

General comments: I’m doing some file migration and cleanup recently, and find the new file explorer / selective sync in 1.4.x somewhat buggy overall. The above is just the most concrete example.
Another less concrete example is that once I found a few local folders shown to be synced in Windows Explorer, but Insync’s selective sync says they’re not synced.

P.S.: Logs sent in an email titled “log file for system tray icon issue and resync issue”.


#2

Hey @Hawk,

Thanks for providing us with steps on how to replicate the issue! It’ll help us a ton. :slight_smile: We’ll update you accordingly regarding the issue!


#3

Ahh… I can sort of see how this error happened.

I guess this has to do with how Insync now does the initial resync when a user adds a new Google Drive account to Insync. In the initial resync, Insync only syncs what’s already in the user’s local folder. And I suppose some of that code is reused for future folder resync as well.
Of course, the issue in this case is that, Insync ignored my command to sync the entire folder, and the file explorer / selective sync interface does not correctly reflect the actual sync status.

I can see it may make sense to resync only what’s already available in user’s local folder even for a folder resync. But users need to be clearly informed, and the selective sync interface needs to always correctly reflect the sync status.