On Jun 1, 2005, at 8:31 AM, Ryan Schmidt wrote:
> On 01.06.2005, at 17:20, Ben Collins-Sussman wrote:
>> On Jun 1, 2005, at 4:18 AM, Ryan Schmidt wrote:
>>> I was pretty sure I'd heard from others on this list that they're
>>> using Subversion on 10.4 without problems. But maybe they're not
>>> using any files with a ._ component? or maybe they're not using UFS?
>> Ryan, I just spoke with fitz, who is a former apple guy, and I
>> think your analysis is spot-on. If both 'foo' and '._foo' are in
>> the repository, then 'svn checkout' downloads the files into .svn/
>> tmp/. It then asks APR to move 'foo' into the visible working
>> area... but then the darwin kernel moves *both* files when this
>> happens.
>>
>> This is effectively a 10.4 kernel feature... or bug, depending on
>> how you look at it. APR asks the OS to move a file, and it moves
>> 2 files instead. I don't think there's anything either Subversion
>> or APR can do about this. The only advice is either (1) don't use
>> UFS, or (2) don't put ._foo files under version control (why would
>> you do that anyway?)
>>
>
> Re (1): I'm not convinced it's only a UFS problem. My 10.4 DVD
> arrived today so I'll be able to test this on HFS+ soon.
>
> Re (2): There may be valid reasons to include ._ files in the
> repository. They contain the resource fork, so any files that are
> old-school Mac files that require resource forks would be destroyed
> if the ._ file were not maintained. And since 10.4 now stores even
> more stuff in there (ACL properties for example?) there may now be
> even more reason one would want to version those.
But if subversion were to use the extended attributes functions to
fetch and store the extended attributes along with the file, then
we'd be in heaven. The extended attributes, which include the
resource fork under 10.4, would simply be archived along with the
file. Subversion _should_ be made to do this. At that point, the fact
that there is a ._file on some file systems should be ignored as an
fs implementation detail.
(Note that while I believe ACLs are stored internally as EA's, I
think you have to use additional API to query and set them...but they
should probably be stored too.)
-jdb
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Jun 1 17:49:07 2005