google / adb-sync

Apache License 2.0
1.08k stars 169 forks source link

two way sync breaks when filename contains spaces #54

Open bbli08 opened 3 years ago

bbli08 commented 3 years ago

Ran under python 3.7 and with a local folder /tmp/sync-test and a remote folder (on device) /sdcare/sync-test.

It broken for the file with spaces in the name. The filename with full path is: /tmp/sync-test/GitHub - google_adb-sync.mhtml

Here is the command and output.

$ python3.7 ./adb-sync -2 /tmp/sync-test /sdcard INFO:root:Sync: local b'/tmp/sync-test', remote b'/sdcard/sync-test' INFO:root:Scanning and diffing... INFO:root:Push: b'/sdcard/sync-test/GitHub - google_adb-sync.mhtml' 4380 KB/s (1317055 bytes in 0.293s) INFO:root:Pull: b'/tmp/sync-test/GitHub\ -\ google_adb-sync.mhtml' remote object '/sdcard/sync-test/GitHub\ -\ google_adb-sync.mhtml' does not exist INFO:root:Interrupted-Pull-Delete: b'/tmp/sync-test/GitHub\ -\ google_adb-sync.mhtml' INFO:root:Total: 1653 KB/s (1317055 bytes in 0.778s) Traceback (most recent call last): File "./adb-sync", line 638, in PerformCopies self.copy[i](src_name, dst_name) File "./adb-sync", line 336, in Pull raise OSError('pull failed') OSError: pull failed