Manifest

hg manifest

The manifest is the file that describes the contents of the [:Repository:repository] at a particular [:ChangeSetID:changeset ID]. It primarily contains a list of file names and [:Revision:revisions] of those files that are present. The manifest ID identifies the version of the manifest that goes with a particular [:ChangeSet:changeset]. The manifest ID is a [:Nodeid:nodeid]. Multiple changesets may refer to the same manifest revision.

A manifest describes the state of a project by listing each file and its nodeid to specify which version. Recreating a particular state means simply looking up its manifest and reconstructing the listed file versions from their [:Revlog:revlogs]. The manifest is conceptually a file. All of its versions, which collectively represent the entire project history, are stored in a revlog (see the file .hg/store/00manifest.d) and an associated index (.hg/store/00manifest.i).

A manifest looks something like this:

$ hg --debug manifest
44754b8b0fc10af6beb2e369e1ab9049f45367ba 644   .hgignore
16eb79a9f9f03fb89bcc4dc33446f11d43091674 644   .hgsigs
b76e3114c5fecfa319d62a3aaef06eeab82e193b 644   .hgtags
7c8afb9501740a450c549b4b1f002c803c45193a 644   CONTRIBUTORS
5ac863e17c7035f1d11828d848fb2ca450d89794 644   COPYING
1c2110687d65b7448b73c4a4c7c4b28f957eaf21 644   Makefile
e4907aefc8dd5710417fb9887099a83fc14f7749 644   README
73870a44b18b40b153acba2ed238d4bd305902c2 644   contrib/bash_completion
fd3294ffa3b6095ec4b77f88241f468891324dab 755 * contrib/buildrpm
dc0c4b232a1d0b5ec4f6c87f020c664b69b6cca8 755 * contrib/convert-repo
2956444ba8a357c730fb3e9801c3d054351894f2 644   contrib/dumprevlog
78f7c038716f258f451528e1e8241d895419f2ee 644   contrib/git-viz/git-cat-file
78f7c038716f258f451528e1e8241d895419f2ee 644   contrib/git-viz/git-diff-tree
78f7c038716f258f451528e1e8241d895419f2ee 644   contrib/git-viz/git-rev-list
78f7c038716f258f451528e1e8241d895419f2ee 644   contrib/git-viz/git-rev-tree
b58aa4c0ea58bb671532171ac4a2cd5957661531 644   contrib/git-viz/hg-viz
70ceb076d0e3e8d1b688d726d55ef00402d92ddc 755 * contrib/hg-relink
2943e43127ba9d2e2bdd4627a36787d0b56b5e6b 755 * contrib/hg-ssh
560cd9ba449052f0222402155ea1d7f8bb0f87d2 755 * contrib/hgdiff
1f9e835e1be5a6fb1b781b3be18967231bdb18a9 755 * contrib/hgk
...

Help text: http://www.selenic.com/mercurial/hg.1.html#manifest

See also: ["Design"]


CategoryCommand CategoryInternals