381
Comment:
|
2390
+link to manual page
|
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. 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 ... }}} Help text: http://www.selenic.com/mercurial/hg.1.html#manifest |
Line 9: | Line 51: |
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 ...
Help text: http://www.selenic.com/mercurial/hg.1.html#manifest
See also: ["Design"]