Svnengine
From Revolution Linux OpenSource projects
Contents |
About Svnengine
As the name suggests, Svnengine purpose is to make integration between SVN and Cfengine easy. While working with Cfengine, there are many steps that are repetitive, boring and error prone. With Svnengine, the system administrator can create cfengine class in a more automated manner.
The principle of operation is simple. Files and attributes of files are stored in svn repository. If a file is added with svnengine, properties will be set for mode, owner, etc. Each files added into a directory can be used to generate the cfengine class file automaticaly. This file can be added to the cfengine server, and apply files to servers.
It's also usefull for testing. For example, you can apply a class even without a cfengine server. Also, you can change configuration files directly on the filesystem and gather changes by using the collect feature, and then commit.
Bet you will love it!
Installation
Svnengine needs pysvn library. Then, Svnengine is easy to install, because it's a python package. RPMS are available, DEBS are in process. At this time, the software is alpha, it means that it may work.
Packages for Mandriva 2006 are available on the gulus mirror
Usage
Available SVN commands
- svnengine checkout URL : Get a working copy of a repository. By default, it will be written into ~/.svnengine/repo directory
- svnengine update : Update local classes repository
- svnengine commit : Commit changes to the repository
- svnengine status : Get status of files of working copy
Class management
- svnengine newclass CLASSNAME : Create a new class
- svnengine useclass CLASSNAME : Choose a class to apply furthur commands
- svnengine delclass CLASSNAME : Delete a class
- svnengine listclasses : List all available classes of this repository
File management
- svnengine add /path/to/file : add the selected file in the current class, and create intermediate directory if they don't exists
- svnengine apply CLASSNAME : Put files on the filesystem from a given class, and set permissions, owner, etc.
- svnengine collect CLASSNAME : Gather changes that has been done on the filesystem into the selected class. Diff is displayed.
Cfengine
- svnengine cfengine : outputs the cfengine class on stdout. You may have to change some parameters to fit your configuration.
