From: Daniel A. S. <st...@ic...> - 2003-04-28 11:06:10
|
On Wednesday, Apr 23, 2003, at 22:58 Australia/Sydney, Arnt Witteveen wrote: > Further info: I now have this, when copying files using ditto over an > afp-mounted filesystem (mounted to a Windows2000 server). > > - cp works perfectly over the afp mounted file system, with longer > filenames (but loses rsrc) for TIP 118 I'm using essentially the equivalent of cp /src/a /dst/a cp /src/a/rsrc /dst/a/rsrc to copy the resource fork. This only works on certain filesystems, HFS+ and AFP in my testing, but not SMB and UFS. Other filesystem support would require linking with Carbon or reimplementing the necessary AppleDouble logic in tcl. > - ditto works perfectly with longer files names on a local filesystem > (and keeps rsrc) > > BUT > > - ditto does NOT work with files longer than 8 chars (8?!?) over an > afp mounted drive AFAICT, ditto does not link with Carbon but uses Bom.framework; looking at the code in there, this seems to handroll the code for rsrc and attribute copying, depending on the underlying filesystem. If you're interested, look for the symbol _BOMRsrcForksCopyRsrcFork in the output of otool -t -V /System/Library/PrivateFrameworks/Bom.framework/Bom You may well be seeing a bug in Bom.framework, you should report it to Apple. > Depending on how you implement copying in tcl, you may run into the > same problems? does the above sequence of two cp's work for your example? Also note that at present Tcl on OSX is restricted in general to utf8 paths less than 1024 bytes in length (PATH_MAX, c.f. /usr/include/sys/syslimits.h) Cheers, Daniel -- ** Daniel A. Steffen ** "And now for something completely ** Dept. of Mathematics ** different" Monty Python ** Macquarie University ** <mailto:st...@ma...> ** NSW 2109 Australia ** <http://www.maths.mq.edu.au/~steffen/> |