[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 |
Hi,
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...
Goals:
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).
Re:
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 'cvs2cl.pl' 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
repository.
Anyone have any ideas? Am I expecting too much?
Regards,
Carter