Differences between revisions 7 and 10 (spanning 3 versions)
Revision 7 as of 2008-01-13 10:56:02
Size: 2149
Editor: abuehl
Comment: partial insert from Design page
Revision 10 as of 2008-04-07 22:27:57
Size: 2318
Editor: abuehl
Comment: +cat
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
The '''manifest''' is the file that describes the contents of the ["Repository"] at a particular ["ChangeSetID"]. It primarily contains a list of file names and ["Revision"]s of those files that are present. The manifest ID identifies the version of the manifest that goes with a particular changeset. 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.
Line 10: Line 10:
file versions from their revlogs. The manifest is conceptually a file versions from their [:Revlog:revlogs]. The manifest is conceptually a
Line 12: Line 12:
project history -- are stored in a revlog (see the file project history, are stored in a revlog (see the file
Line 43: Line 43:
CategoryCommand CategoryCommand CategoryInternals

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
a240bca3a32747c68c413e090d94fb8d8b7945d1 644 .hgignore
64903d6bc1681739840d3180b984fff3526001ab 644 .hgtags
ea694a28b9b10803b7708cdf43f56f2589078b52 644 CONTRIBUTORS
5ac863e17c7035f1d11828d848fb2ca450d89794 644 COPYING
246219e9cd134000b910f65f395f3d60f66719b9 644 MANIFEST.in
e81018fed6bda3460c37dfc046d6601b10dbb201 644 Makefile
615e66a1a3b9580a06834fdd3470d1fc58d3bde5 644 PKG-INFO
a903ec460ca828fa8b7c4ca8f3abb97e6697457d 644 README
b0166ba7a8977756db92a88634da162844af978f 644 comparison.txt
b5bb77bceabd6932eacb0dae5a060dee0b6c70d3 644 contrib/bash_completion
5ca6d79f9a1d5e328de9adc65bc850ab771cf927 755 contrib/buildrpm
cc9ffe9f086735501b0baa207360d4478fd491d5 755 contrib/convert-repo
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
9d5ecbd3177e2cd88b9202e4fc27c60d410eae25 755 contrib/hgit
e46eccf6b286bbfeb0547f4940ada1aa5f6305ab 755 contrib/hgk
...

See also: ["Design"]


CategoryCommand CategoryInternals

Manifest (last edited 2013-11-07 02:08:31 by MaytagMetalark)