Certificate: (Normally: "Cert".) A note made against a revision. Certificates are used internally by Monotone - for example, to represent branches and to store the ID of the person committing a change - but can also be added manually by users.
Domain: Monotone uses this term to describe a group of variables held on a database.
Endpoints: Need a definition here to match this usage: "By restricting the set of trusted testresult certificates, you can require that the endpoints of an update operation have a certificate asserting that the revision in question passed a certain test, or testsuite."
Directed Acyclic Graph (D.A.G.): A diagram made up of points connected by arrows, where no arrow can lead back to an earlier point; in other words, the arrows cannot form a loop. If you drew a map of Monotone revisions, connecting each revision to each of its children by an arrow, this is the sort of graph you would be drawing. This is sometimes called the Revision Graph.
Manifest: Monotone's term for a snapshot of all the files in a working copy.
Man In The Middle Attack: A way of intercepting key-encrypted information sent between two parties (Alice and Bob) without either of them knowing. The third party pretends to Alice that they are Bob, and to Bob that they are Alice. This attack only works if Alice and Bob cannot authenticate each other's signatures by a second means, say, by reading each others' key hashes out over the 'phone. Monotone uses keys to prove the identity of the person signing a cert.
Packet Stream: Monotone writes data to disk in a Stream, in other words, at the time it changes. For efficiency the changes are (presumably - help, anyone?) sent to the database in Packets, in other words, grouped together.
Roster: It's like a manifest, except it also has various pieces of internal metadata used to make merging faster. In our data structures, this is split into
roster_t, which maps nodes (files or dirs)to an id and holds the attributes (content hash (for files), attrs, (parent id, name)pair) for the nodes, and a
marking_map which holds multi-*-merge metadata. When serialized, these two structures get mixed to make the text version of a roster.
Selector: Revisions ids can be cumbersome, so monotone also allows a more general syntax called “selectors” which is less precise but both more “human friendly” and flexible; more details in the manual.