система управления исходным кодом Mercurial (Mercurial source code management system)
SPECIFYING SINGLE REVISIONS
Mercurial supports several ways to specify individual revisions.
A plain integer is treated as a revision number. Negative
integers are treated as sequential offsets from the tip, with -1
denoting the tip, -2 denoting the revision prior to the tip, and
so forth.
A 40-digit hexadecimal string is treated as a unique revision
identifier.
A hexadecimal string less than 40 characters long is treated as a
unique revision identifier and is referred to as a short-form
identifier. A short-form identifier is only valid if it is the
prefix of exactly one full-length identifier.
Any other string is treated as a bookmark, tag, or branch name. A
bookmark is a movable pointer to a revision. A tag is a permanent
name associated with a revision. A branch name denotes the
tipmost revision of that branch. Bookmark, tag, and branch names
must not contain the ":" character.
The reserved name "tip" always identifies the most recent
revision.
The reserved name "null" indicates the null revision. This is the
revision of an empty repository, and the parent of revision 0.
The reserved name "." indicates the working directory parent. If
no working directory is checked out, it is equivalent to null. If
an uncommitted merge is in progress, "." is the revision of the
first parent.