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

Re: checking out mac resource forks

From: Ryan Schmidt <subversion-2006q2_at_ryandesign.com>
Date: 2006-05-19 12:31:50 CEST

On May 19, 2006, at 08:00, Richard Stephens wrote:

> I'm trying to set up subversion to do source control, and the files
> we're using have resource forks, which are not checked in by
> subversion.
>
> I found that if I created a read/write UFS disk image, and copied
> the source to there, it could be checked in and the resource fork
> would be maintained in the form of a file with the same name but
> with "._" before it.
>
> Only problem is, when i try to check them out, it fails on
> seemingly random files. It's always the "._" files, and they check
> out fine on a windows machine.
>
> In an attempt to isolate the problem, I pulled out a few small
> files that cause it to fail from the main source tree, and checked
> them in. When I checked them out again, it failed. Renaming them
> by putting a 2 at the end makes it checkout properly but this is
> not a satisfactory solution.
>
> This is what happens on the terminal:
>
> imac-intel-2ghz:/Volumes/Untitled 1 Richard$ /usr/local/bin/svn
> checkout svn://192.168.51.3/gworldstest wd/
> A wd/._QuickTime Work
> A wd/QuickTime Work
> A wd/QuickTime Work/._Gestalt
> A wd/QuickTime Work/GWorlds
> A wd/QuickTime Work/Gestalt
> A wd/QuickTime Work/._GWorlds
> svn: In directory 'wd/QuickTime Work'
> svn: Can't copy 'wd/QuickTime Work/.svn/tmp/text-base/._GWorlds.svn-
> base' to 'wd/QuickTime Work/._GWorlds.tmp': No such file or directory
> imac-intel-2ghz:/Volumes/Untitled 1 Richard$
>
> Gestalt was included because i wanted to use a file which I know
> did not fail.
>
> Any idea? Thanks in advance

On Mac OS X 10.4, Apple "helpfully" modified the built-in commands
which move and copy and remove files, so that they also move and copy
and remove the separate resource fork files on filesystems like UFS
where they exist. So as soon as Subversion tells the OS to move foo
from within the .svn directory to outside of it, the OS "helpfully"
moves the ._foo file along with it. Subversion does not know that
this has occurred, and thinks ._foo is still in the .svn directory
waiting to be moved. So Subversion tells the OS to move the
file ._foo, and—heavens to Betsy—it's not there and an error occurs.

Possible conclusions one can draw from this:

* Mac OS X 10.4 is broken.
* Resource forks cannot be used with Subversion.

The only solution I can suggest is to place your resource fork-
containing files on a disk image, and check the disk image into
Subversion. You'll no doubt be able to see why that's less than ideal.

And the other solution is to use Mac OS X 10.3.x or earlier and never
upgrade.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri May 19 12:32:54 2006

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

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