List Info

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




Re: Pre/Post-processing files on check-in/out
user name
2007-10-02 09:02:25
On 10/2/07, Steve Sisak <sgscodewell.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.

> >They get slightly garbled when checked out on
Windows (actually
> >changed to text files and aren't usable on that
OS). So the advice is
> >"if you have to share your project with
Windows users, you have to
> >either not use, or be very careful about how you
use, symlinks."
>
> OK, so you hate all non-unix platforms equally. 

No, the issue is that NTFS hasn't supported symlinks *at
all* until Vista.

> 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.

------------------------------------------------------------
---------
To unsubscribe, e-mail: users-unsubscribesubversion.tigris.org
For additional commands, e-mail: users-helpsubversion.tigris.org


Re: Pre/Post-processing files on check-in/out
user name
2007-10-02 09:41:10
At 10:02 AM -0400 10/2/07, Andy Levy wrote:
>On 10/2/07, Steve Sisak <sgscodewell.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-unsubscribesubversion.tigris.org
For additional commands, e-mail: users-helpsubversion.tigris.org


[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )