| 1 | [[PageOutline(2)]] |
| 2 | |
| 3 | = Trac Database Schema: Version Control |
| 4 | |
| 5 | Trac's version control system stores some mainly caching information in the database. (For the version control backends that support this.) |
| 6 | |
| 7 | == Table `repository` |
| 8 | ||'''Table'''||'''Key'''|| |
| 9 | ||''repository''||''id'', ''name''|| |
| 10 | |
| 11 | ||'''Columns'''||'''Type'''||'''Notes'''|| |
| 12 | ||''id''||`int`||ID of a version control repository (e.g. 1 or 2)|| |
| 13 | ||''name''|| ||Name of a per-repository property|| |
| 14 | ||''value''|| ||Value of that property|| |
| 15 | |
| 16 | Stores (some cached and some configured) per-repository properties. |
| 17 | |
| 18 | Trac itself uses a few such properties: |
| 19 | * `name` Admin-given name (configured in Admin panel) |
| 20 | * `dir` Just the repository directory (configured in Admin panel) |
| 21 | * `alias` Admin-given alias (configured in Admin panel) |
| 22 | * `description` Admin-given description (configured in Admin panel) |
| 23 | * `repository_dir` The repository directory (usually with a repository type prefix) of a cached repository |
| 24 | * `youngest_rev` The youngest revision number that is cached of a cached repository |
| 25 | |
| 26 | See VcCache, [browser:trunk/trac/versioncontrol/cache.py trac.versioncontrol.cache] |
| 27 | |
| 28 | == Table `revision` |
| 29 | ||'''Table'''||'''Key'''|| |
| 30 | ||''revision''||''repos'', ''rev'' (20)|| |
| 31 | |
| 32 | ||'''Columns'''||'''Type'''||'''Notes'''|| |
| 33 | ||''repos''||`int`||Repository id that this revision belongs to|| |
| 34 | ||''rev''|| ||Revision number|| |
| 35 | ||''time''||`int64`||Commit time|| |
| 36 | ||''author''|| ||Commit author|| |
| 37 | ||''message''|| ||Commit message|| |
| 38 | |
| 39 | ||'''Index'''|| |
| 40 | ||''repos'', ''time''|| |
| 41 | |
| 42 | Part of the version control cache. Stores cached revisions (i.e. changesets, commits). |
| 43 | |
| 44 | See VcCache, [browser:trunk/trac/versioncontrol/cache.py trac.versioncontrol.cache] |
| 45 | |
| 46 | == Table `node_change` |
| 47 | ||'''Table'''||'''Key'''|| |
| 48 | ||''node_change''||''repos'', ''rev'' (20), ''path'' (255), ''change_type'' (2)|| |
| 49 | |
| 50 | ||'''Columns'''||'''Type'''||'''Notes'''|| |
| 51 | ||''repos''||`int`||Repository id that this revision belongs to|| |
| 52 | ||''rev''|| ||Revision number that this change belongs to|| |
| 53 | ||''path''|| ||Path of the affected file or directory|| |
| 54 | ||''node_type''||size=1||'F' for files, 'D' for directories|| |
| 55 | ||''change_type''||size=1||'A' for added, 'D' for deleted', 'M' for moved, 'C' for copied', 'E' for edited|| |
| 56 | ||''base_path''|| ||The source path (or null)|| |
| 57 | ||''base_rev''|| ||The previous revision affecting this path (or null)|| |
| 58 | |
| 59 | ||'''Index'''|| |
| 60 | ||''repos'', ''rev''|| |
| 61 | |
| 62 | Part of the version control cache. Stores cached ''node changes'' of a revisions. A ''node change'' is a added, deleted, moved, copied or edited directory or file. |
| 63 | |
| 64 | See VcCache, [browser:trunk/trac/versioncontrol/cache.py trac.versioncontrol.cache] |