info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cvswrappers questions


From: Greg A. Woods
Subject: Re: cvswrappers questions
Date: Sun, 6 Oct 2002 01:41:53 -0400 (EDT)

[ On Sunday, October 6, 2002 at 14:31:00 (+1000), Ken Williams wrote: ]
> Subject: Re: cvswrappers questions
>
> Now, I don't really expect that CVS is going to automatically 
> preserve filesystem attributes (in my case, they're type/creator 
> codes from an HFS+ filesystem, so it would perhaps have to do 
> something complicated to handle this natively - it's feasible 
> though, which I can explain in a separate message if someone's 
> interested), but I was looking for some way to manage the 
> process myself.

I think you missed the point.

CVS doesn't care about file attributes, beyond that they have to allow
the operations necessary for the invoking user to perform the various
operations CVS does.

CVS doesn't even care about directory structure.  Files simply exist in
a structure that CVS follows.  CVS, like RCS before it, only manages the
content of files, and only tracks changes to the content of, and the
presence or disappearance of, each file in that directory structure.

When you think about it that's really all you need to do to fulfil the
goals CVS was designed to fulfil -- CVS is a source code control system.

> Currently CVS does handle some filesystem attributes, like 
> permissions.

No, it doesn't at all.

(Well, there is the old and very broken-by-design carry-over from RCS of
preserving the execute permission by simply making the RCS file in the
repository executable....  this is broken of course because there is no
versioning of this one bit of information -- it's all-or-nothing.  So
with respect to "handling filesystem attributes", this isn't a valid
example -- just a cheap hack, as it is in RCS too.)

> Just trying to make it clear that the problem of 
> preserving filesystem meta-attributes is orthogonal to the 
> problem of text vs. binary contents, and one may be deemed worth 
> solving even if the other isn't.

CVS is not a build system.  If you wish to "preserve" meta-attributes of
files then you should write some program to set them as desired and then
maintain the source for that program using CVS.  That way you'll be
able to properly version control the changes to those attributes.

CVSwrappers was a really badly conceived and just about as badly
implemented idea to try to encase one or more files in an archive file
so that attributes could be preserved and versioned.  Unfortunately the
chosen archive format made it impossible to merge changes in those
files, at least using currently avaliable tools, and since merging is of
paramount importance to CVS, this was the first fatal flaw of
CVSwrappers -- it should have died on the drawing board.

-- 
                                                                Greg A. Woods

+1 416 218-0098;            <address@hidden>;           <address@hidden>
Planix, Inc. <address@hidden>; VE3TCP; Secrets of the Weird <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]