Bug #4261
closedLong file name on windows
Added by Chris Weed about 15 years ago. Updated over 12 years ago.
0%
Description
When I tried to copy my directory of the kepler source files to a windows box, I got an error about a long filename and the copy quit. The file is:
ConstraintCheck_FSM_MultiplePorts_MultipleStates_Transitions_NoActions.xml
Updated by Christopher Brooks about 15 years ago
I think under Windows XP, the path can only be 256 characters, see
http://www-01.ibm.com/support/docview.wss?rcss=faqtt_2Q09&uid=swg21120400
and
http://en.wikipedia.org/wiki/Comparison_of_file_systems
I'd rant about how weak NTFS is here, but I'm just waking up :-)
Was the error a Windows error? How were you copying the directory? From
the UI by dragging the icon or by using a command such as copy or cygwin cp?
I just renamed that file to make it shorter:
svn mv ConstraintCheck_FSM_MultiplePorts_MultipleStates_Transitions_NoActions.xml ConstraintCheckFSMMulti.xml
Updated by Chad Berkley about 15 years ago
I hit this same error on the nightly builds. It's mainly because of how SVN duplicates all of the files in the .svn directories making the paths even longer. For the nightly build, I remove the .svn directories before trying to do anything on windows. There isn't much we can do about this other than change the name of some of the files.
Updated by Christopher Brooks about 15 years ago
It looks like longest files are properties tests.
I ran
find . -type f | awk '{print length($0), $0}' > /tmp/f2
bash-3.2$ sort -nr /tmp/f2 | head
211 ./ptolemy/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/.svn/text-base/ConstraintCheck_AtomicActor_2inputs_SinglePort_2outputs_Singleport__logicalOrBackward_resolved.txt.svn-base
211 ./ptolemy/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/.svn/prop-base/ConstraintCheck_AtomicActor_2inputs_SinglePort_2outputs_Singleport__logicalOrBackward_resolved.txt.svn-base
210 ./ptolemy/target/eclipse/classes/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/ConstraintCheck_AtomicActor_2inputs_SinglePort_2outputs_Singleport__logicalOrBackward_resolved.txt
210 ./ptolemy/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/.svn/text-base/ConstraintCheck_AtomicActor_2inputs_SinglePort_2outputs_Singleport__logicalOrBackward_initial.txt.svn-base
210 ./ptolemy/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/.svn/prop-base/ConstraintCheck_AtomicActor_2inputs_SinglePort_2outputs_Singleport__logicalOrBackward_initial.txt.svn-base
209 ./ptolemy/target/eclipse/classes/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/ConstraintCheck_AtomicActor_2inputs_SinglePort_2outputs_Singleport__logicalOrBackward_initial.txt
209 ./ptolemy/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/.svn/text-base/ConstraintCheck_AtomicActor_1input_SinglePort_1output_Singleport__logicalOrBackward_resolved.txt.svn-base
209 ./ptolemy/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/.svn/prop-base/ConstraintCheck_AtomicActor_1input_SinglePort_1output_Singleport__logicalOrBackward_resolved.txt.svn-base
208 ./ptolemy/target/eclipse/classes/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/ConstraintCheck_AtomicActor_1input_SinglePort_1output_Singleport__logicalOrBackward_resolved.txt
208 ./ptolemy/ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/.svn/text-base/ConstraintCheck_AtomicActor_1input_SinglePort_1output_Singleport__logicalOrBackward_initial.txt.svn-base
bash-3.2$
I'll see if Jackie can shorten these file names.
Updated by Chris Weed about 15 years ago
(In reply to comment #1)
I think under Windows XP, the path can only be 256 characters, see
http://www-01.ibm.com/support/docview.wss?rcss=faqtt_2Q09&uid=swg21120400
and
http://en.wikipedia.org/wiki/Comparison_of_file_systemsI'd rant about how weak NTFS is here, but I'm just waking up :-)
Ditto
Was the error a Windows error? How were you copying the directory? From
the UI by dragging the icon or by using a command such as copy or cygwin cp?
It was a windows error dialog, and I was doing the copy using Copy/Paste in the File Manager, or File Explorer. (whatever it is called now)
I just renamed that file to make it shorter:
svn mv
ConstraintCheck_FSM_MultiplePorts_MultipleStates_Transitions_NoActions.xml
ConstraintCheckFSMMulti.xml
Updated by Christopher Brooks over 14 years ago
Just an update on the long-line length problem.
The issue is that certain file systems have limits
and svn makes the paths even longer.
The biggest problem is ptolemy/data/properties, which is not
shipped in Ptolemy II 8.0.beta.
The second biggest problem is ptolemy/cg, which is also
not shipped in 8.0.beta.
However, both these directories are in the subversion tree.
I took a look at the lengths in the ptII8.1.devel tar file
and the longest path is now 175 chars.
In the ptII8.0.beta tar file, the longest path is
128 characters.
In the 8.1.beta subversion tree, the longest file is now 187 chars,
down from 211 characters as reported earlier.
Below are the commands I used to find long files:
[bldmastr@sisyphus ~/ptII]$ find . -name adm -prune -o -type f | awk '{print length($0), $0}' > /tmp/f2
[bldmastr@sisyphus ~/ptII]$ sort -nr /tmp/f2 | head
187 ./ptolemy/data/properties/lattice/logicalOrBackward/test/auto/trainedConstraints/.svn/text-base/AtomicActor_2inputs_SinglePort_2outputs_Singleport__logicalOrBackward_resolved.txt.svn-base
The first non-data.properties file has a length of 152 characters.
In the 8.0.beta subversion branch, the longest file is 141 characters.
So, to close this bug, we need to pull data.properties from the ptII release.
Updated by Christopher Brooks over 12 years ago
ptolemy.data.properties has been removed.
That package used to contain files with long names.
I added test to https://kepler-project.org/developers/reference/kepler-installer-checklist
that the filename length should be checked.
We are at 206 characters, so I'm closing this.
bash-3.2$ find kepler -type f | awk '{print length($0), $0}' > /tmp/f2
bash-3.2$ sort -nr /tmp/f2 | head -20
206 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/demo/TimeTriggeredTunnelingBallDevice/.svn/text-base/TimeTriggeredTunne\
lingBallDevice.xml.svn-base
206 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/demo/TimeTriggeredTunnelingBallDevice/.svn/prop-base/TimeTriggeredTunne\
lingBallDevice.xml.svn-base
182 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/demo/TimeTriggeredTunnelingBallDevice/TimeTriggeredTunnelingBallDevice.\
xml
180 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/demo/TunnelingBallDevice/.svn/text-base/TunnelingBallDevice.xml.svn-bas\
e
180 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/demo/TunnelingBallDevice/.svn/prop-base/TunnelingBallDevice.xml.svn-bas\
e
178 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/demo/TimeTriggeredTunnelingBallDevice/.svn/text-base/makefile.svn-base
178 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/demo/TimeTriggeredTunnelingBallDevice/.svn/prop-base/makefile.svn-base
177 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/lib/luminary/.svn/text-base/TimeTriggeredEncoderHandler.java.svn-base
177 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/lib/luminary/.svn/prop-base/TimeTriggeredEncoderHandler.java.svn-base
176 kepler/ptolemy/src/ptolemy/domains/ptides/demo/PowerManagementUnitSamplingWithoutCurrentLocalTime/.svn/text-base/PowerManagementUnitSamplingWithoutCurrentLocalTime.xml.svn-base
176 kepler/ptolemy/src/ptolemy/domains/ptides/demo/PowerManagementUnitSamplingWithoutCurrentLocalTime/.svn/prop-base/PowerManagementUnitSamplingWithoutCurrentLocalTime.xml.svn-base
176 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/java/adapters/ptolemy/actor/lib/test/auto/knownFailedTests/.svn/text-base/ExpressionMultiplyPower2.xml.svn-base
176 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/java/adapters/ptolemy/actor/lib/test/auto/knownFailedTests/.svn/prop-base/ExpressionMultiplyPower2.xml.svn-base
174 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/lib/luminary/.svn/text-base/TimeTriggeredEncoderHandler.c.svn-base
174 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/luminary/adapters/ptolemy/domains/ptides/lib/luminary/.svn/prop-base/TimeTriggeredEncoderHandler.c.svn-base
173 kepler/ptolemy/src/ptolemy/domains/ptides/demo/PowerManagementUnitSamplingWithoutCurrentLocalTime/.svn/text-base/PowerManagementUnitSamplingWithCurrentLocalTime.xml.svn-base
173 kepler/ptolemy/src/ptolemy/domains/ptides/demo/PowerManagementUnitSamplingWithoutCurrentLocalTime/.svn/prop-base/PowerManagementUnitSamplingWithCurrentLocalTime.xml.svn-base
173 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/adapters/ptolemy/actor/lib/test/auto/knownFailedTests/.svn/text-base/ExpressionMultiplyPower2.xml.svn-base
173 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/c/adapters/ptolemy/actor/lib/test/auto/knownFailedTests/.svn/prop-base/ExpressionMultiplyPower2.xml.svn-base
172 kepler/ptolemy/src/ptolemy/cg/adapter/generic/program/procedural/java/adapters/ptolemy/actor/lib/colt/test/auto/.svn/text-base/ColtBinomialSelectorUnusedOutput.xml.svn-base