Starting with Mercurial version 0.9.2 there is a file .hg/requires which specifies the capabilities needed by a client to access this repository. It is a text file, where each line contains the name of a capability and optionally (separated by a = character from the name) a list of parameters, each separated by a comma (,).
Currently there are only capabilities which don't need parameters.
Capabilities
store
The directory .hg/store contains the subdirectories data (see CaseFoldingPlan)
revlogv1
RevlogNG is used.
fncache
Revlog data files are named to work around Windows limitations described in fncacheRepoFormat.
dotencode
Leading '.' (period) or ' ' (space) in revlog data filenames are encoded (see http://selenic.com/pipermail/mercurial-devel/2010-August/023929.html).
See also: CompatibilityRules