/*
 *	aegis - project change supervisor
 *	Copyright (C) 1991-1994, 2004-2006, 2008 Peter Miller.
 *
 *	This program is free software; you can redistribute it and/or modify
 *	it under the terms of the GNU General Public License as published by
 *	the Free Software Foundation; either version 3 of the License, or
 *	(at your option) any later version.
 *
 *	This program is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *	GNU General Public License for more details.
 *
 *	You should have received a copy of the GNU General Public License
 *	along with this program. If not, see
 *	<http://www.gnu.org/licenses/>.
 *
 * if you change this file, don't forget to change
 *	man5/aecattr.so
 */

#include <libaegis/common.def>

/*
 * This file contains a brief description of the change.
 * It should be limited to a single line of text.
 */
brief_description = string;

/*
 * This file contains a detailed description of the change.
 */
description = string;

/*
 * This field describes the cause which motivated the change.
 */
cause = change_cause;

/*
 * 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_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.
 */
test_baseline_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 improvments.
 */
regression_test_exempt = boolean;

/*
 * See the "architecture" field in aepconf(5) for a complete description.
 */
architecture = [ string ];

/*
 * 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 chnage 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.
 */
copyright_years = [ integer ];

/*
 * This field records the "previous" version, mostly to simplify patch
 * generation.  It is only meaningful for branches.  It is set
 * automatically when a branch is started or integrated.
 */
version_previous = string;

/*
 * The attribute field describes a list of user-specified attributes.
 *
 * Arguably, almost all change attributes could be subsumed into this
 * attribute list, but Aegis' original design was not that shape.
 */
attribute = attributes;
