1/* 2 * aegis - project change supervisor 3 * Copyright (C) 1991-1993, 1997, 1998, 2001-2004, 2006, 2008, 2012 Peter Miller 4 * Copyright (C) 2008 Walter Franzini 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 3 of the License, or (at 9 * your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 * 19 * 20 * If you change this file, don't forget to change 21 * man5/aecattr.so 22 * man5/aepstate.5 23 */ 24 25type change_cause = 26( 27 /* 28 * The change was created in response to 29 * a bug report 30 * from outside the development team. 31 * This repairs existing functionality. 32 */ 33 external_bug, 34 35 /* 36 * The change was created in response to 37 * an enhancement request 38 * from outside the development team. 39 * This adds new functionality. 40 */ 41 external_enhancement, 42 43 /* 44 * The change was created in response to 45 * an improvement request 46 * from outside the development team. 47 * This improves existing functionality. 48 */ 49 external_improvement, 50 51 /* 52 * The change was created in response to 53 * a bug report 54 * from inside the development team. 55 * This repairs existing functionality. 56 */ 57 internal_bug, 58 59 /* 60 * The change was created in response to 61 * an enhancement request 62 * from inside the development team. 63 * This adds new functionality. 64 */ 65 internal_enhancement, 66 67 /* 68 * The change was created in response to 69 * an improvement request 70 * from inside the development team. 71 * This improves existing functionality. 72 */ 73 internal_improvement, 74 75 /* 76 * This cause is where you have a fix to fix a fix; 77 * tracking these is an interesting quality metric. 78 */ 79 chain 80); 81type file_action = (create, modify, remove, insulate, transparent); 82 83/* 84 * The file usage type is used to remember a type of file. 85 * 86 * (Files are not particularly distinguished by whether ot not they are 87 * binary or plain text. Aegis doesn't care, and thus file_usage makes 88 * no distinction.) 89 */ 90type file_usage = 91( 92 /* 93 * Source files are a primary source, the preferred form of 94 * editing and storage of a fundamental project building block. 95 */ 96 source, 97 98 /* 99 * Configuration files are in aepconf(5) format, but are in all 100 * other respects primary source files. 101 */ 102 config, 103 104 /* 105 * Build files are secondary source files, generated during the 106 * build process (see aeb(1) for example) and tracked by Aegis. 107 */ 108 build, 109 110 /* 111 * Authomatic test files are by default shell scripts, but may 112 * in fact be any format desired (see aet(1) and aepconf(5) for 113 * more information). They are in all other respects primary 114 * source files. 115 */ 116 test, 117 118 /* 119 * Manual test files are by default shell scripts, but may in 120 * fact be any format desired. They are in all other respects 121 * primary source files. 122 */ 123 manual_test 124); 125 126type metric = 127[ 128 { 129 /* 130 * The name of the metric. 131 */ 132 name = string; 133 134 /* 135 * The value of the metric. 136 */ 137 value = real; 138 } 139]; 140 141/* 142 * The history_version structure is used to remember sufficient 143 * information about a file version checked into history that it can 144 * be re-created. The edit number alone is not sufficient, because you 145 * need to know how to decode it, as well. The uuid field points to 146 * the change the file'sedit belongs to. 147 */ 148type history_version = 149{ 150 /* 151 * The revision identifier as reported by the history_get_command. 152 */ 153 revision = string; 154 155 /* 156 * The encoding employed by the history_{put,create}_command 157 * 158 * none 159 * No encoding was employed at all. The file conforms to 160 * history_content_limitation. 161 * 162 * quoted_printable 163 * The MIME Quoted Printable encoding was used when the 164 * file was committed to history. 165 * 166 * quoted_printable 167 * The MIME base 64 encoding was used when the file was 168 * committed to history. 169 */ 170 encoding = (none, quoted_printable, base64); 171 172 /* 173 * The UUID of the change this revision belongs to. 174 * 175 */ 176 uuid = string; 177}; 178 179/* 180 * The attribute_list structure is used to remember arbitrary name/value 181 * pairs of information. This is used for project attributes, change 182 * attributes and file attributes. 183 */ 184type attributes = 185[ 186 { 187 name = string; 188 value = string; 189 } 190]; 191 192 193/* vim: set ts=8 sw=4 et : */ 194