Page MenuHomePhabricator

Super-long Pathnames
Closed, ResolvedPublic

Description

Ref: this ticket, thanks Matthias

Could you check that the program is compatible with extra long file name lengths and file path lengths? (There is a registry setting in windows that allows to exceed the usual limitations for file/path name lengths.) Could you then please mention in the version history that this has been checked. Thank you. I am always scared some files might be missing in the list.

I can confirm that the Win32 API she used will not copy extremely long names as my machine is set up now. As it happens, I don't want to replicate those folders anyway because they are derived by running composer, or npm, to download other people's code into a project. So, I used global exclusions to exclude vendor/ and node_modules/ folders. The whole reason I noticed I was trying to replicate them was the warnings in the Replicator log files. Windows' own File History had the same issue.

Woops, you're talking Directory Printer and I'm thinking Replicator.

I can use my Replicator log to find the files that were named too long to replicate and then run Directory Printer to see if the problem is there, too, and then check to see if registry fix will fix it.

I do know that Directory Printer isn't able to navigate to the direct access UNC -- a system put into place by Microsoft to deal with super-long filenames. For instance \\?\C:\Users\Joe\Documents\....

Event Timeline

Joe created this task.Jan 28 2018, 4:34 PM
Joe created this object in space S5 Public.
Joe created this object with visibility "Public (No Login Required)".
Joe updated the task description. (Show Details)
Joe added a comment.Sep 28 2018, 3:43 PM

Verified that Directory Printer will include files that exceed 260 character limit of standard Win32, like

"\\?\Y:\Test\0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\012345678901234567\012345678901234567890123456789012345678901234567890123456789\joe.txt"

User: joe Karen's Directory Printer Page: 1
Friday, September 28, 2018 Volume: JOEBACKUP Computer: JOEBOX7
3:40:28 PM Serial No.: BEXB-3XX8 Y:\Test\
Test
---AC--- C:9/26/2018 09:21 M:9/26/2018 09:21 A:9/26/2018 09:21 0 1.txt
---AC--- C:9/26/2018 09:21 M:9/26/2018 09:21 A:9/26/2018 09:21 0 11.txt
---AC--- C:9/26/2018 09:21 M:9/26/2018 09:21 A:9/26/2018 09:21 0 2.txt
---AC--- C:9/26/2018 09:31 M:9/26/2018 09:31 A:9/26/2018 09:31 0 New Text Document 1.txt
---AC--- C:9/26/2018 09:32 M:9/26/2018 09:32 A:9/26/2018 09:32 0 New Text Document 11.txt
---AC--- C:9/26/2018 09:32 M:9/26/2018 09:32 A:9/26/2018 09:32 0 New Text Document 2.txt
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
---AC--- C:9/28/2018 15:33 M:9/28/2018 15:33 A:9/28/2018 15:33 0 New Text Documen.txt
012345678901234567
---AC--- C:9/28/2018 15:34 M:9/28/2018 15:34 A:9/28/2018 15:34 0 New Text Document.txt
012345678901234567890123456789012345678901234567890123456789
---AC--- C:9/28/2018 15:37 M:9/28/2018 15:37 A:9/28/2018 15:37 0 joe.txt
Joe added a comment.Sep 28 2018, 3:44 PM

Replicator did not fail to replicate the file from source to "\\?\Y:\Test\0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\012345678901234567\012345678901234567890123456789012345678901234567890123456789\joe.txt"

I know I used to see failures for really long source paths. Maybe it was the number of directories in the tree.

Joe added a comment.Nov 2 2018, 9:43 AM

Example of Replicator failing -- due to long path?

11/2/2018 5:34:24 AM: Warning: Could Not Set Destination File Attributes (Error 3 - The system cannot find the path specified.): Y:\J\Documents\DEV\workspaces\Zend\workspaces\Winett\winett-com\node_modules\grunt-contrib-nodeunit\node_modules\nodeunit\node_modules\tap\node_modules\runforcover\node_modules\bunker\node_modules\burrito\node_modules\uglify-js\test\unit\compress\test\const.js

11/2/2018 5:34:49 AM: Warning: Could Not Set Destination File Attributes (Error 3 - The system cannot find the path specified.): Y:\J\Documents\DEV\workspaces\Zend\workspaces\Winett\winett.git\node_modules\grunt-contrib-nodeunit\node_modules\nodeunit\node_modules\tap\node_modules\runforcover\node_modules\bunker\node_modules\burrito\node_modules\uglify-js\test\unit\compress\test\const.js
Joe added a comment.Jan 7 2019, 10:44 AM

Long file name support might have been fixed by using CopyFileExW in T108: Performance Issues

Joe added a comment.Jan 7 2019, 11:08 AM

Trying to set up test, got path too long error from Windows Explorer. Need to find the registry key to enable long pathnames.

Joe added a comment.EditedJan 7 2019, 11:59 AM

Replicator 3.7.2 (not yet released, see T108: Performance Issues) was able to backup files from and to super long path named folders. However, so was 3.7.1 -- I don't know what to think, now.

This is like 500 characters:

$ pwd
/y/Karen's Tests/Long File Name/Long File Name Test Source Level 001/Long File Name Test Source Level 002/Long File Name Test Source Level 003/Long File Name Test Source Level 004/The United States Constitution is/Joe/We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare/and secure the Blessings of Liberty to ourselves and our Posterity, do ordain and establish this Constitution for the United States of America

$ ll
total 1
-rw-r--r-- 1 joe 197610 6 Jan  7 11:51 article1.txt
Joe closed this task as Resolved.Jan 7 2019, 5:15 PM

Verified that Directory Printer works with super-long pathnames. It's unable to print them because they clip off the end of the page, but it doesn't miss them.

FOLDER	Y:\Karen's Tests\Long File Name\	---A---	1	0	0	0
FOLDER	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\	---A---	1	0	0	0
FOLDER	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\	---A---	1	0	0	0
FOLDER	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\	---A---	1	0	0	0
FOLDER	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\	---A---	1	0	0	0
FOLDER	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\The United States Constitution is\	---A---	1	0	0	0
FOLDER	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\The United States Constitution is\Joe\	---A---	1	0	0	0
FOLDER	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\The United States Constitution is\Joe\We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare\	---A---	1	1	0	0
FILE	---A----	1/7/2019 11:50	1/7/2019 11:50	1/7/2019 11:50	0	joe.txt
FOLDER	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\The United States Constitution is\Joe\We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare\and secure the Blessings of Liberty to ourselves and our Posterity, do ordain and establish this Constitution for the United States of America\	---A---	0	1	6	6
FILE	---A----	1/7/2019 11:50	1/7/2019 11:51	1/7/2019 11:52	6	article1.txt
TOTAL	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\The United States Constitution is\Joe\We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare\and secure the Blessings of Liberty to ourselves and our Posterity, do ordain and establish this Constitution for the United States of America\	---A---	0	1	6	6
TOTAL	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\The United States Constitution is\Joe\We the People of the United States, in Order to form a more perfect Union, establish Justice, insure domestic Tranquility, provide for the common defence, promote the general Welfare\	---A---	1	2	6	6
TOTAL	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\The United States Constitution is\Joe\	---A---	2	2	6	6
TOTAL	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\The United States Constitution is\	---A---	3	2	6	6
TOTAL	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\Long File Name Test Source Level 004\	---A---	4	2	6	6
TOTAL	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\Long File Name Test Source Level 003\	---A---	5	2	6	6
TOTAL	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\Long File Name Test Source Level 002\	---A---	6	2	6	6
TOTAL	Y:\Karen's Tests\Long File Name\Long File Name Test Source Level 001\	---A---	7	2	6	6
TOTAL	Y:\Karen's Tests\Long File Name\	---A---	8	2	6	6