aelock(1)

NAME
aelock - take a lock while a command runs

SYNOPSIS
aelock [ option... ] command
aelock -Help
aelock -VERSion

DESCRIPTION
The aelock" command is used to take a project lock while a command runs. This may be used to ensure that the project state is stable while it is being backed up.

The named command is looked for as an attribute called aelock:command within the project_specific field of the project configuration file.

The command is then passed through the usual aesub(5) substitutions before being executed. The command is executed as the project owner. If the command returns with a non-zero exit status, the aelock(1) command will return an exit status of one.

  Security Issues
This command is a potential security problem. Because it takes a read-only lock of all active branches and changes in a project, from the trunk down, misuse of this command is a potential denial of service attack. Thus, this command is limited to project administrators only.

This command could have been designed to take an arbitrary command to execute, like sudo(1), but this would have granted users, even project administrators, more privileges than usual. For this reason, the command is held in a source controlled, fully reviewed project configuration file, and is simply indicated by name.

The command is run as the project owner, not the executing user. It has full write access (that's the way Unix permissions work). Like aeb(1), this means it can wreak havoc on the project baseline and meta-data. Use with extreme care.

OPTIONS
The following options are understood: