/* * aegis - project change supervisor * Copyright (C) 1991-1993, 1997, 1998, 2001-2004, 2006, 2008, 2012 Peter Miller * Copyright (C) 2008 Walter Franzini * * 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 . * * * If you change this file, don't forget to change * man5/aecattr.so * man5/aepstate.5 */ type change_cause = ( /* * The change was created in response to * a bug report * from outside the development team. * This repairs existing functionality. */ external_bug, /* * The change was created in response to * an enhancement request * from outside the development team. * This adds new functionality. */ external_enhancement, /* * The change was created in response to * an improvement request * from outside the development team. * This improves existing functionality. */ external_improvement, /* * The change was created in response to * a bug report * from inside the development team. * This repairs existing functionality. */ internal_bug, /* * The change was created in response to * an enhancement request * from inside the development team. * This adds new functionality. */ internal_enhancement, /* * The change was created in response to * an improvement request * from inside the development team. * This improves existing functionality. */ internal_improvement, /* * This cause is where you have a fix to fix a fix; * tracking these is an interesting quality metric. */ chain ); type file_action = (create, modify, remove, insulate, transparent); /* * The file usage type is used to remember a type of file. * * (Files are not particularly distinguished by whether ot not they are * binary or plain text. Aegis doesn't care, and thus file_usage makes * no distinction.) */ type file_usage = ( /* * Source files are a primary source, the preferred form of * editing and storage of a fundamental project building block. */ source, /* * Configuration files are in aepconf(5) format, but are in all * other respects primary source files. */ config, /* * Build files are secondary source files, generated during the * build process (see aeb(1) for example) and tracked by Aegis. */ build, /* * Authomatic test files are by default shell scripts, but may * in fact be any format desired (see aet(1) and aepconf(5) for * more information). They are in all other respects primary * source files. */ test, /* * Manual test files are by default shell scripts, but may in * fact be any format desired. They are in all other respects * primary source files. */ manual_test ); type metric = [ { /* * The name of the metric. */ name = string; /* * The value of the metric. */ value = real; } ]; /* * The history_version structure is used to remember sufficient * information about a file version checked into history that it can * be re-created. The edit number alone is not sufficient, because you * need to know how to decode it, as well. The uuid field points to * the change the file'sedit belongs to. */ type history_version = { /* * The revision identifier as reported by the history_get_command. */ revision = string; /* * The encoding employed by the history_{put,create}_command * * none * No encoding was employed at all. The file conforms to * history_content_limitation. * * quoted_printable * The MIME Quoted Printable encoding was used when the * file was committed to history. * * quoted_printable * The MIME base 64 encoding was used when the file was * committed to history. */ encoding = (none, quoted_printable, base64); /* * The UUID of the change this revision belongs to. * */ uuid = string; }; /* * The attribute_list structure is used to remember arbitrary name/value * pairs of information. This is used for project attributes, change * attributes and file attributes. */ type attributes = [ { name = string; value = string; } ]; /* vim: set ts=8 sw=4 et : */