[Top][All Lists]

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

CVS for System Administration and Configuration Restoral

From: Carter Alvord
Subject: CVS for System Administration and Configuration Restoral
Date: Thu, 12 Oct 2000 20:59:21 -0000
User-agent: eGroups-EW/0.82


I have three problems that I'm trying to solve and I'm wondering if I
can use CVS to tackle all of them.

In a nutshell...


1) I want to use a revision control tool to manage system files that I
edit as I configure/maintain a Linux installation.  I want to keep the
repository on a different drive than the OS.

2) I want to keep a separate log file detailing the changes I make to
a system and any issues that I come across.

3) Because the files that I have edited to configure a system reside
in a repository, I want to be able to use that snapshot (or any other
within the repository) to restore system state.  This is particularly
true after installing a new distribution (say if it's a clean install
and not just an upgrade).


1) I've been playing around with CVS a little now, and perhaps I
misunderstand the import methodology, but I can't figure out how to
set it up such that my top level "module" is / (root).  I'm not sure
what to call it.  I would like at any time simply to be able to
add/commit directories and files at will at any level below root. 
It's always irked me a little that I can't just point to an existing
directory and tell CVS 'go manage that directory or that file.'  I
seem to have to import the directory (and go to great pains to tell it
what NOT to manage) 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.

As for the other note, keeping the repository on a different drive is
obviously no big deal.

2) This actually falls out of using CVS pretty easily using a nifty
Perl script called '' written by Karl Fogel
<address@hidden>.  It can parse through the CVS repository and
create a Changelog file from the information stored therein. 
Therefore, the sysadmin log is always consistent with the changes to
the filesystem and has all the info I need.

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.

I created a simple test case of a few nested directories with bogus
files.  I tar'd up the directory structure so that I could blow it
away and restore it later, simulating the creation of a new
installation.  I edited only a couple of the files and then checked
them in to the CVSROOT.  I then blew away the hierarchy and re-built
it from the tarfile.  At that point however, I haven't had any luck
forcing the replacement of the edited files with those in the

Anyone have any ideas?  Am I expecting too much?



reply via email to

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