NAME

aecattr - aegis change attributes file

DESCRIPTION

A change attributes file is used to describe the modifiable portion of
a change.

CONTENTS

A change attributes file contains the following fields:
description = string;
This field contains a detailed description of the change.
brief_description = string;
This field contains a brief description of the change.
cause = ( ... );
This field describes the cause which motivated the change.
external_bug
The change was created in response to a bug report from
outside the development team. This repairs existing
functionality.
external_enhancement
The change was created in response to an enhancement
request from outside the development team. This adds
new functionality.
external_improvement
The change was created in response to an improvement
request from outside the development team. This
improves existing functionality.
internal_bug
The change was created in response to a bug report from
inside the development team. This repairs existing
functionality.
internal_enhancement
The change was created in response to an enhancement
request from inside the development team. This adds
new functionality.
internal_improvement
The change was created in response to an improvement
request from inside the development team. This
improves existing functionality.
chain
This cause is where you have a fix to fix a fix;
tracking these is an interesting quality metric.
test_exempt = boolean;
This field is true if it is not necessary to test the change.
It is, in general, desirable to test all changes, whether new
functionality or a bug fix. This is, however, a project
management issue.
test_baseline_exempt = boolean;
This field is true if it is not necessary to test the change
against the baseline before it is changed. The test of the
baseline is required to fail; this is to establish that the
test has isolated the bug, and that the change has fixed that
isolated bug.
regression_test_exempt = boolean;
This field is true if it is not necessary to perform a full
regression test on the change. If absent, defaults to true for
all causes except improvements.
architecture = [ string ];
This field is a list of names of system and machine
architectures on which the change must successfully build and
test.
copyright_years = [ integer ];
This field details the years in which the change was worked on.
This field is present in trunk, branch and leaf nodes.
As a change is edited, years in which the change was worked on
accumulate in this field automatically. Branches accumulate
years as integrations occur. You may need to manually edit
this, though it should be rare.
version_previous = string;
This field records the "previous" version, mostly to simplify
patch generation. It is only meaningful for trunks and
branches. It is set automatically when a branch is started or
integrated.
attribute = [ { ... } ];
This is a list of (name,value) pairs, defining user specified
attributes.
name = string;
The name of the attribute. By convention, names which
start with an upper-case letter will appear in
listings, and lower-case will not. Attribute names are
case-insensitive.
value = string;
The value of the attribute.
Arguably, most change attributes which may be altered by the
user (and some that can’t) should be of this form. Due to an
accident of history, this is not the case.