Recommendations for config file revision control

Maxim Khitrov mkhitrov at gmail.com
Fri Jun 1 19:27:58 UTC 2007


Hi everyone,

I'm currently setting up a new server, and I'd like to keep track of
all changes made to various config files (in /etc, /usr/local/etc, and
a few other places perhaps). My first thought was to setup a
subversion server which would contain the partial directory structure
that matches that of the server's starting at /. It would contain
versioned copies of all the configuration files that I want to keep
track of in their appropriate locations. What I would do then is write
a hook for subversion that will issue an automatic export command
(don't want .svn directories everywhere) every time a commit is made
to the repository. So to edit some configuration file I would first
checkout a working copy of the repository to some other location, make
the change and commit it. The server would be automatically updated
with the new file and I would be able to keep track of every change.

This seems like a decent strategy to me, but before I go off writing
the scripts and setting up the server I wanted to ask what you guys
might be using to keep track of the server configuration (backups
don't count)? Is there an easier way of doing the same thing, for
example, eliminating the need to do a working copy checkout first?
Perhaps a way to monitor certain files for changes, and automatically
commit them every time a change is saved. I'd be glad to hear any
suggestions you might have in this regard. If possible, I'd like all
the versioned files to contain an id string, so that it's easy to
determine when the file was last changed and by whom, but this is
optional. For the most part I just need a way of going back to
previous versions.

Thanks,
Maxim Khitrov


More information about the freebsd-questions mailing list