[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Fwd: Subversion AppleDouble patch updated to 1.5.0

From: Steve Sisak <sgs_at_codewell.com>
Date: Fri, 8 Aug 2008 16:34:35 -0400

With all the talk, of 1.6 features, it seems an opportune time to
reopen an old discussion that I'd been holding off until 1.5 shipped.

I'd still like to switch my repositories over from cvs to svn but am
unable to do so until svn can round trip a Mac OS file without
destroying it by deleting the resource fork, finder attributes, etc.

Matt Slott at Ambrosia software has been maintaining a patch and
resubmitting it every release. (See below)

We had talked about reviewing it and getting it rolled into the trunk
when 1.5 shipped, so I guess it's time for another poke. :-)

For reference, the patch works by storing Mac OS specific data in an 
property in the repository (which can be ignored by other platforms), 
and reconstituting it on checkout.
Note that Leopard supports extended attributes on all files (yes, 
metadata is back in fovor), so we might consider saving all extended 
attributes as well on Leopard.
See "xattr --help" for documentation (there is not currently a man page)
For instance,  Leopard stores FinderInfo (file type, creator, 
creation date, etc.) in the com.apple.FinderInfo extended attribute 
-- for example:
MBP:~ sgs$ ls -l logs.zip
-rw-r--r--@ 1 sgs  3000  175152 Feb 28 23:43 logs.zip
MBP:~ sgs$ xattr logs.zip
MBP:~ sgs$ xattr -p com.apple.FinderInfo logs.zip
Note that there is some overlap between the Leopard xattr's and Apple 
Double and that xattrs can be added at any time by Apple or 3rd party 
developers, so it may make sense to do things the "new" way and break 
up the AppleDouble property by defining xattr's for the the 
AppleDouble entryIDs defined in RFC 1740 where Apple hasn't done so 
already and store them as separate properties.
(For instance, Leopard's com.apple.FinderInfo corresponds exactly to 
Entry ID 9 in AppleDouble)
I assume this technique would apply equally to other platforms' 
unique extended attributes, where the client would interpret 
attributes appropriate to that platform and ignore the rest.
While it might be a slightly better implementation by breaking the 
AppleDouble blob up into multiple properties, Matt's implementation 
seems forward compatible by simply breaking up the big property on a 
Any traction this time? :-)
>From: Matt Slot <fprefect_at_ambrosiasw.com>
>To: users_at_subversion.tigris.org
>Date: Fri, 20 Jun 2008 03:25:47 -0400
>X-Virus-Scanned: by amavisd-new at ambrosiasw.com
>Subject:  Subversion AppleDouble patch updated to 1.5.0
>Download the latest AppleDouble patch for Subversion 1.5.0 from:
>   http://www.ambrosiasw.com/~fprefect/subversion-appledouble.html
>This patch adds support for HFS resource forks and Finder info on 
>MacOS X 10.3 and later. The patch archive contains a script that 
>will download and compile the necessary dependencies on your system, 
>or you can download compiled binaries from the link above.
>Matt Slot / Bitwise Operator / Ambrosia Software, Inc. -- 
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-08 22:35:56 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.