view mercurial/help/revisions.txt @ 14077:c285bdb0572a

util.url: copy urllib.unquote() into util to improve startup times The ui class uses util.hasscheme() in a couple of places, causing hg to import urllib even when it doesn't need to. This copies urllib.unquote() to avoid that import. perfstartup time before the URL refactoring (8796fb6af67e): ! wall 0.050692 comb 0.000000 user 0.000000 sys 0.000000 (best of 100) before this change: ! wall 0.064742 comb 0.000000 user 0.000000 sys 0.000000 (best of 100) after this change: ! wall 0.052126 comb 0.000000 user 0.000000 sys 0.000000 (best of 100
author Brodie Rao <brodie@bitheap.org>
date Sat, 30 Apr 2011 09:43:23 -0700
parents f91e5630ce7e
children 43cfe56121d3
line wrap: on
line source

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 tag or branch name. A tag name is a
symbolic name associated with a revision identifier. A branch name
denotes the tipmost revision of that branch. Tag and branch names must
not contain the ":" character.

The reserved name "tip" is a special tag that 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.