3 hgfs \- mercurial file system
21 Mercurial is a distributed version control system. It tracks
22 and organizes files and keeps a change history of them. The
23 file revisions are stored as packed deltas in a repository
24 that can be checked out with the
29 serves a mercurial repository as a read-only filesystem where
30 each file revision and its metadata is accessible as files.
32 The repository may be specified by passing the working directory
34 as the final argument. When omitted,
36 locates the repository by waking
37 upwards from the current working directory until the
39 sub-directory is found. If no
44 then hgfs will mount itself on
48 name is given with the
50 flag, the 9p service pipe
52 is created and may be mounted from another namespace.
55 flag enables 9p debug messages.
57 The root of the served filesystem contains directories each
58 corresponding to a specific changeset revision in the
61 Revision directories are named by a revision id which
62 takes the form [\fId\fB.\fR]\fIhhhhhhhhhhhh\fR, where
64 is the decimal revision number starting from 0 and
66 is the hexadecimal hash prefix of the changeset. Both
72 a revision uniquely; only one of them needs to be given
73 when walking the root directory. The hexadecimal hash
74 may be shortend so long as the resulting lookup yields
75 a unique result. The special name
77 corresponds to the latest revision but does not appear
78 in the directory listing.
80 In each revision directory the following files can be found:
83 contains the parent revision id as text.
86 If the changeset was a merge, contains the other parent revision id. Otherwise, a zero size file.
91 file contains a list of file names, separated by a newline, that where
92 affected in this changeset. Files that are listed in the log
93 but are not accessible in the
97 directories have been deleted in this changeset.
100 committer of the changeset.
103 commit message of the changeset.
106 A directory that contains a snapshot of the tree at the time
107 the changeset was commited.
109 To retrieve the \fIn\fRth
110 past version of a file relative to the changeset,
111 one can append \fB.\fIn\fR
112 to the filename. Appending \fB.rev\fIn\fR yields
113 a file that contains its revision id as text. Note that
114 appending \fB.rev\fI0\fR or \fB.rev\fR yields the file containing the
115 revision id of the changeset when the file was last modified
116 and \fB.\fI0\fR yields the same file as when omitting the appendix.
121 but contains only the changed files of the changeset.