Hi,

Looking at this further.

The offending file is

cmd/bisync/testdata/test_extended_char_paths/golden/normal-sync._testdir_path1_測試_Русский_____ě_áñ.._testdir_path2_測試_Русский_____ě_áñ.copy1to2.que


In generating the manifest, pristine-tar calls:

LANG='C' tar --quoting-style=escape -tf rclone-1.60.0.tar.gz

which renders it thus:

rclone-1.60.0/cmd/bisync/testdata/test_extended_char_paths/golden/normal-sync._testdir_path1_\346\270\254\350\251\246_\320\240\321\203\321\201\321\201\320\272\320\270\320\271_____\304\233_\303\241\303\261.._testdir_path2_\346\270\254\350\251\246_\320\240\321\203\321\201\321\201\320\272\320\270\320\271_____\304\233_\303\241\303\261.copy1to2.que

That appears in manifest as:

rclone-1.60.0/cmd/bisync/testdata/test_extended_char_paths/golden/normal-sync._testdir_path1_\346\270\254\350\251\246_\320\240\321\203\321\201\321\201\320\272\320\270\320\271_____\304\233_\303\241\303\261.._testdir_path2_\346\270\254\350\251\246_\320\240\321\203\321\201\321\201\320\272\320\270\320\271_____\304\233_\303\241\303\261.copy1to2.que

pristine-tar then prints that out in its warning message:

pristine-tar: rclone-1.60.0/cmd/bisync/testdata/test_extended_char_paths/golden/normal-sync._testdir_path1_\346\270\254\350\251\246_\320\240\321\203\321\201\321\201\320\272\320\270\320\271_____\304\233_\303\241\303\261.._testdir_path2_\346\270\254\350\251\246_\320\240\321\203\321\201\321\201\320\272\320\270\320\271_____\304\233_\303\241\303\261.copy1to2.que is listed in the manifest but may not be present in the source directory

...but if I strace it, it's looking at something different - like it's interpreting the \s in the manifest as literal \s rather than escape characters...

stat("/tmp/pristine-tar.lndiNRBXMu/workdir/rclone-1.60.0/cmd/bisync/testdata/test_extended_char_paths/golden/normal-sync._testdir_path1_\\346\\270\\254\\350\\251\\246_\\320\\240\\321\\203\\321\\201\\321\\201\\320\\272\\320\\270\\320\\271_____\\304\\233_\\303\\241\\303\\261.._testdir_path2_\\346\\270\\254\\350\\251\\246_\\320\\240\\321\\203\\321\\201\\321\\201\\320\\272\\320\\270\\320\\271_____\\304\\233_\\303\\241\\303\\261.copy1to2.que", 0x55a1149ee4b8) = -1 ENAMETOOLONG (File name too long)

and indeed it tries to create something similar:

mkdir("/tmp/pristine-tar.lndiNRBXMu/workdir/rclone-1.60.0/cmd/bisync/testdata/test_extended_char_paths/golden/normal-sync._testdir_path1_\\346\\270\\254\\350\\251\\246_\\320\\240\\321\\203\\321\\201\\321\\201\\320\\272\\320\\270\\320\\271_____\\304\\233_\\303\\241\\303\\261.._testdir_path2_\\346\\270\\254\\350\\251\\246_\\320\\240\\321\\203\\321\\201\\321\\201\\320\\272\\320\\270\\320\\271_____\\304\\233_\\303\\241\\303\\261.copy1to2.que", 0777) = -1 ENAMETOOLONG (File name too long)

HTH,

Matthew

Reply via email to