From: Fred L. D. Jr. <fd...@ac...> - 2003-07-14 16:52:03
|
I've just added a new script to the cvs-syncmail CVS trunk: branchctl. This script controls the use of branches within a CVS repository. For each branch (including the trunk), two controls are available: - whether the branch is open for commits, and - whether commits involving that branch and any other should be permitted. Both default to true since that's the normal CVS behavior. Much of this code is based on the new-config-branch version of syncmail, and allowed portions of that to be tested in a simpler environment. The configuration file should be present in the CSVROOT administrative directory alongside the script. The configuration files have the same structure as the strawman configuration file for syncmail, but different keys are checked: open Indicates whether checkins are allowed. The value may be "true" or "false"; the default is "true". cross-branch-commits Indicates whether a single commit may span multiple branches. The implementation only checks this for a single directory at a time; commits that affect one branch in one directory and another branch in a separate directory are not (yet) detected. The value may be "true" or "false"; the default is "true". An example configuration may look like this: ---------------------------------------- [general] open = true cross-branch-commits = false [branch unmaintained-maintenance-branch] ; we don't like this branch any more open = false ---------------------------------------- This configuration data can co-exist in the configuration file for the new version of syncmail that's currently in development, so all your branch-control configuration can be in one place. The default configuration file names are different for the two scripts; I'll suggest appropriate usage would be to create a single file and name it explicitly using the --config option for each script. This script may provide a good foundation for additional forms of access control for CVS repositories as well. -Fred -- Fred L. Drake, Jr. <fdrake at acm.org> PythonLabs at Zope Corporation |