[Top][All Lists]

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

Re: CVS for System Administration and Configuration Restoral

From: Garth Winter Webb
Subject: Re: CVS for System Administration and Configuration Restoral
Date: Thu, 12 Oct 2000 16:00:40 -0700 (PDT)

On Thu, 12 Oct 2000, Carter Alvord wrote:
> directory and tell CVS 'go manage that directory or that file.' 

I'm not sure what you want here that 'import' and 'checkout' don't
handle.  I suspect you dislike the two stop process.  Remember CVS is
built to keep track of files and data for development.  It is far more
dangerous to start adding bookkeeping files and generally altering the
source as oppose to just grabbing a snapshot and requiring the user to
check out the copy in a new, safe place.

> I
> seem to have to import the directory (and go to great pains to tell it
> what NOT to manage) 

Yup, you've got to import.  Thats how CVS works.  CVS does allow you to
define patterns to match against files you don't want imported.  What
would you say is an easy way to define what you don't want from a list of
a files?

> and then 'checkout' to get it to create all the
> little ./CVS dir's everywhere.  What do I 'checkout' in this case?  I
> don't want to go to / and have it then 'checkout' the top level module
> into ./  I want / to BE the top level module.

CVS is not tar.  You can't make it checkout into an absolute directory
by default and a module is not a path.  A module is just a symbolic name
that happens to become the top level directory when you check it out.  The
only way you can get CVS to check out everything under '/' is to change to
'/' and checkout into './'

> 3) I can't figure out how to make this work... I can't seem to use a
> 'cvs co' or 'cvs export' or whatever to force a replacement of files
> on the system with those in the repository.  I also don't want to have
> to know what files need replacing.  I just want to type 'checkout' and
> have it figure out which files have been managed and replace them.

Again, CVS is not tar.  I think many people would use CVS if they
accidently typed 'cvs co' without any arguments or 'cvs export' in the
wrong directory and inadvertantly trashed all their work.
        CVS is meant to be paranoid.  It will not replace files for
you.  It complains rather than assumes.  
        You *can* get the functionality you want if you checkout the files
into an empty directory (or one that will not create filename 
conflicts) and then leave the CVS directories in place.  The next time you 
make a change you can do a 'cvs update' and cvs will update all files to
the lastest version.  CVS will change files in this case because it knows
it put them there in the first place.

> Am I expecting too much?

No, you're just trying to pound CVS into a square hole.  Do you ever revert to
older versions?  Do you ever make different changes to the same file on
two differnt machines and need them to be merged? If not, maybe you want
to use 'rsync' instead.

Good Luck!


reply via email to

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