Introduction
In this section you will find the CMT reference documentation.
There are three types of CMT repositories:
- The main repository which is the only source of truth. It contains all exercises as a series of folders.
- The so-called studentified repository: an artifact derived from the main repository.
- To so-called linearized repository: an artifact derived from the main repository.
As far as the tooling is concerned, there are two commands,cmta
and
cmtc
.
cmta
, the CMT admin command, operates on a main
repository and is used, among other things, to generate the studentified
repository or the linearized repository. It can also used to perform the
inverse of the linearization of a main repo via a process called
delinearization.
Note that, in general, a linearized repository is an artifact that can effectively be considered to be a scratch pad and as such, it is discarded after having served its purpose.
cmtc
, the CMT client command, mainly used by students,
operates on a studentified repository. It is used to "manipulate" the state
of the latter. Examples of this are navigating between exercises, pulling one
or more files from an exercise solution into the current exercise workpace,
etc.