Differences between revisions 1 and 13 (spanning 12 versions)
Revision 1 as of 2006-03-19 05:50:31
Size: 302
Comment: As explained on IRC
Revision 13 as of 2009-05-19 19:31:08
Size: 2508
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Manifest = == Manifest ==
Line 3: Line 3:
The manifest is the file that describes the contents of the repository at a particular changeset ID. It primarily contains a list of file names and revisions of those files that are present. The manifest ID identifies the version of the manifest that goes with a particular changeset. ''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

Manifest

hg manifest

The manifest is the file that describes the contents of the repository at a particular changeset ID. It primarily contains a list of file names and revisions of those files that are present. The manifest ID identifies the version of the manifest that goes with a particular changeset. The manifest ID is a 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 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

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