Etcsvn 0.2.1 review
DownloadEtcsvn is a command line program for managing system configurations in subversion
|
|
Etcsvn is a command line program for managing system configurations in subversion. Etcsvn doesn't make a working copy out of your /etc, but uses a temporary workspace. Etcsvn will preserve ownership/permissions of the files being tracked.
Suppose you want to keep track of important config files on a system in a subversion repository. There are a few problems with using svn directly. One problem is that you need to keep track of ownership and permission modes of files and directories that you are tracking. It is somewhat difficult to manage the repository without access to a working copy, but a working copy is twice as big as what it works on. Also there is the possibility that you want to track some files in /var or somewhere else.
Etcsvn tries to provide a simple command line interface to manage files on you system. What it does is make a temporary working copy on the system. Etcsvn must be run as root, and it sets a umask of 077 before creating any file or directory. This makes the working copy as secure as possible. This is also true when restoring files, as the ownership and permissions are set after the file is created.
I am trying to make etcsvn a bridge between your system and the working copy. The goal is to provide only what is necessary to aid a system admin in being able to edit system configuration files in a convenient manner with tools that may not be available on the system your configuring.
Limitations:
I am currently working on getting etcsvn to handle symbolic links. I am also adding an option to track directories recursively.
There is no revision support yet.
There is should be a little work done on the repository layout. It should be possible to place many systems in one repository, or have separate repositories for clients, networks, etc.
Etcsvn makes no attempt to authenticate to your repository. This will probably not change anytime soon, because I feel that it should be the job of the script or administrator to handle this.
Currently there needs to be a ini style config file in the root of your repository named "etcsvn.conf". There is only one section used in this file currently, and it is called "main". In the "main" section there is only one option supported, and it is called "files". The "files" option is a list of absolute path files separated with newlines.
Requirements:
python -- A good scripting language
pysvn -- I like this extension better than the official one.
subversion -- If not a dependency, then highly recommended
Etcsvn should work as is on any Unix/posix type system.
What's New in This Release:
A minor syntax error when handling links has been fixed.
Etcsvn 0.2.1 keywords