RCS Terminology Cross Reference
Different Revision Control Systems use different terms to describe the same code organization concepts. Sometimes the concepts are exactly equivalent, sometimes there's an important twist. Buildbot already abstracts the core concepts quite well. However there's a big need for more the next layer of RCS complexity to handle more complicated projects. Some examples are:
- Watching multiple types of repositories in a single master.
- Watching multiple separate logical code units in a single repository.
- Bundling multiple pieces of software into an installer.
- <Add your convoluted build problem here>
The headers are the terms we should use in discussions and code. The rows are the terms the native repositories use. This has great bike shed potential, so let's try not to overthink this too much.
| RCS | Change | URL | Code Unit | Branch | Tag | Build directives | Revision |
| CVS | diff/patch | ||||||
| SVN | diff/patch | svn url | project | branch | tag | externals? | revision (int) |
| Git | delta/patch | git url | module | branch/fork | ?? | ?? | sha1 (str) |
| Mercurial | changeset | url/path | repository | branch / repository | tag | subrepos?/forest ? | sha1 (str) |
| Darcs | |||||||
| Bazaar | |||||||
| Perforce | category? | ||||||
| BitKeeper | changeset | url(?) | repository | repository | tag | ?? | changeset key (str) |
![[Buildbot Logo]](/trac/chrome/site/header-text-transparent.png)