| | @@ -132,40 +132,50 @@ |
| 132 | 132 | -- project). The last is encoded as single id, see table |
| 133 | 133 | -- 'meta'. The date/time is given in seconds since the |
| 134 | 134 | -- epoch, for easy comparison. The text content is an |
| 135 | 135 | -- (offset,length) pair into the rcs archive. |
| 136 | 136 | |
| 137 | | - op INTEGER NOT NULL, |
| 137 | + op INTEGER NOT NULL REFERENCES optype, |
| 138 | 138 | date INTEGER NOT NULL, |
| 139 | 139 | state TEXT NOT NULL, |
| 140 | | - mid INTEGER NOT NULL REFERENCES meta, |
| 140 | + mid INTEGER NOT NULL REFERENCES meta, |
| 141 | 141 | coff INTEGER NOT NULL, |
| 142 | 142 | clen INTEGER NOT NULL, |
| 143 | 143 | |
| 144 | 144 | UNIQUE (fid, rev) -- The DTN is unique within the revision's file. |
| 145 | 145 | } |
| 146 | | - |
| 146 | + state writing optype { |
| 147 | + oid INTEGER NOT NULL PRIMARY KEY, |
| 148 | + name TEXT NOT NULL, |
| 149 | + UNIQUE(text) |
| 150 | + } |
| 151 | + # Keep optype in sync with file::rev.myopcode |
| 152 | + state run { |
| 153 | + INSERT INTO optype VALUES (-1,'delete'); |
| 154 | + INSERT INTO optype VALUES ( 0,'nothing'); |
| 155 | + INSERT INTO optype VALUES ( 1,'add'); |
| 156 | + INSERT INTO optype VALUES ( 2,'change'); |
| 157 | + } |
| 147 | 158 | state writing tag { |
| 148 | 159 | tid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, |
| 149 | 160 | fid INTEGER NOT NULL REFERENCES file, -- File the item belongs to |
| 150 | 161 | lod INTEGER REFERENCES symbol, -- Line of development (NULL => Trunk) |
| 151 | | - |
| 152 | 162 | sid INTEGER NOT NULL REFERENCES symbol, -- Symbol capturing the tag |
| 153 | 163 | |
| 154 | 164 | rev INTEGER NOT NULL REFERENCES revision -- The revision being tagged. |
| 155 | 165 | } |
| 156 | 166 | |
| 157 | 167 | state writing branch { |
| 158 | 168 | bid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, |
| 159 | 169 | fid INTEGER NOT NULL REFERENCES file, -- File the item belongs to |
| 160 | 170 | lod INTEGER REFERENCES symbol, -- Line of development (NULL => Trunk) |
| 161 | | - |
| 162 | 171 | sid INTEGER NOT NULL REFERENCES symbol, -- Symbol capturing the branch |
| 163 | 172 | |
| 164 | 173 | root INTEGER NOT NULL REFERENCES revision, -- Revision the branch sprouts from |
| 165 | 174 | first INTEGER REFERENCES revision, -- First revision committed to the branch |
| 166 | | - bra TEXT NOT NULL -- branch number |
| 175 | + bra TEXT NOT NULL, -- branch number |
| 176 | + pos INTEGER NOT NULL -- creation order in root. |
| 167 | 177 | } |
| 168 | 178 | |
| 169 | 179 | # Project level ... |
| 170 | 180 | # pLineOfDevelopment, pSymbol, pBranch, pTag, pTrunk |
| 171 | 181 | # |
| | @@ -211,14 +221,14 @@ |
| 211 | 221 | plural TEXT NOT NULL, |
| 212 | 222 | UNIQUE (name) |
| 213 | 223 | UNIQUE (plural) |
| 214 | 224 | } |
| 215 | 225 | state run { |
| 216 | | - INSERT INTO symtype VALUES (0,'excluded'); |
| 217 | | - INSERT INTO symtype VALUES (1,'tag'); |
| 218 | | - INSERT INTO symtype VALUES (2,'branch'); |
| 219 | | - INSERT INTO symtype VALUES (3,'undefined'); |
| 226 | + INSERT INTO symtype VALUES (0,'excluded', 'excluded'); |
| 227 | + INSERT INTO symtype VALUES (1,'tag', 'tags'); |
| 228 | + INSERT INTO symtype VALUES (2,'branch', 'branches'); |
| 229 | + INSERT INTO symtype VALUES (3,'undefined','undefined'); |
| 220 | 230 | } |
| 221 | 231 | |
| 222 | 232 | state writing meta { |
| 223 | 233 | -- Meta data of revisions. See revision.mid for the |
| 224 | 234 | -- reference. Many revisions can share meta data. This is |
| 225 | 235 | |