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

Re: Pre/Post-processing files on check-in/out

From: Steve Sisak <sgs_at_codewell.com>
Date: 2007-10-02 16:41:10 CEST

At 10:02 AM -0400 10/2/07, Andy Levy wrote:
>On 10/2/07, Steve Sisak <sgs@codewell.com> wrote:
>> At 8:52 AM -0400 10/2/07, Andy Levy wrote:
>> > > Based your response to my question (and similar questions by Mac OS
> > >> developers in the past), I can assume your advice to unix users to be
>> >> "The only solution at present is the one you've already found: don't
> > >> use unix permissions or symlinks." ;-)
>> >
>> >Subversion does store and version symlinks.
>>
>> Sorry if I misunderstand -- from the header to asvn:
>>
>> # Description:
>> # Archive SVN (asvn) will allow the recording of file types not
>> # normally handled by svn. Currently this includes devices,
>> # symlinks and file ownership/permissions.
>
>How old is that? I'm almost certain that SVN supports symlinks today.

<http://svn.collab.net/repos/svn/trunk/contrib/client-side/asvn>

I ran across references asvn while researching the list archive
before my initial post.

> > So it looks like there's a need for a solution for Windows here as
> > well -- provide client-side post processing to convert symlinks to
>> Windows shortcuts.
>
>Windows shortcuts *are not* symlinks. Not even close. They are not
>interchangeable. The fact that SVN can version both makes attempting
>to do this (erroneous) "conversion" dangerous and foolish IMO.

Like I said, I don't do Windows, so pardon any misunderstanding of
the specifics. I could have used Mac OS Alias files (which are
probably closer to shortcuts) but was trying to pick yet another
platform as an example.

My general point is that there are non-Mac uses for the ability to
store files in the repository in an encoded form and perform
platform-specific fixups based on svn properties.

A simple example would be to have a client config file that lists
wrap/unwrap scripts based on MIME type.

Given that, a repository converted from CVS/MacCVS Pro could be
handled by installing wrappers for:

    application/macbinary
    application/mac-binhex4
    application/applefile

Matt Slott has already proposed a solution for

    multipart/appledouble

Although that could be subsumed into this one as well and implemented
as a wrapper: if a file has file:appledouble property, then the file
is AppleDouble encoded with the data file going to the repository and
the going to the repository and the header file going to the
file:appledouble property.

Other platforms will ignore the property and see only the data fork,
which is the desired behavior for AppleDouble. (Note that this can be
used to preserve Mac OS file type/creator even if there is no
resource fork)

The same mechanism could be used to preserve unix- (or Windows-, or
whatever-)specific attributes, permissions, etc.

Feel free to shoot holes here, I'm looking for the simplest solution
that solves my problem, but in a way consistent with svn's purpose.

-Steve

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Oct 2 16:41:34 2007

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.