information about this package can be found in the README. here is a html-version of the README:
this package implements a web frontend to hgfs, the mercurial file system. html pages are generated for the various views on mercurial repositories.
the following pages are provided:
links to often used files/information for a given repository, such man pages it contains, .b & .m files, the latest .tgz, command to clone the repository, etc.
the man2html-formatted manual page of a given unprocessed man page in a given repository, for a given file
the homepage of this software is at
http://www.ueber.net/code/r/hgweb
on that page, commands to clone the repository can be found, and a link to the latest .tgz.
make sure the packages "web", "scgid" and "textmangle" installed (see http://www.ueber.net/code/r/$packagename).
first make a file "mkconfig" similar to your inferno's installation mkconfig (symlink/bind it). now type "mk" and then "mk install" to compile and install. next, install the files in /lib into your inferno installation.
to generate diffs for file trees, hgweb uses a modified version of inferno's diff(1). it is called ndiff and can be created by applying the patch ndiff.diff to inferno's appl/cmd/diff.b (be sure to copy that to the file name ndiff.b before patching). the patch adds flag -n (which only does anything when -r is specified too), which treats absent files as /dev/null when calculating the diff. this shows the contents of added and removed files.
running this can become quite complicated. first of all, hgweb needs to be started by scgid, see its documentation for usage information. second, hgweb assumes /n/hg holds all repositories. multiple hg/fs'en can easily be exported by styxlisten, and mounted using "mount -P", allowing you to restart the hg/fs'en+styxlisten without restarting the scgid.
hgweb also links (on the webserver) to files named "../hg/$repository". the links in /lib/template/hgweb/* may have to be changed. also, files in that directory contain instructions specific to my own installation, so be sure to look through them.
this code is in the public domain. the code is written by mechiel lukkien, reachable at mechiel@xs4all.nl or mechiel@ueber.net.
add a view that, given a repo+path, lists the revisions the file was changed in. one revision can have its changelog shown in full.
allow seeing patches files (not dirs, that is harder) of a revision too? need to replace max 1 absent file by /dev/null.
to clone & pull:
hg clone http://www.ueber.net/hgsrv/hgweb/
hg clone static-http://www.ueber.net/who/mjl/hg/hgweb/
download a snapshot of the latest version: hgweb-14.tgz.
the files in the latest revision can be found at /hg/hgweb/files/tip/. a specific revision can be access by replacing "tip" with the revision number, (partial) nodeid or tag name. a few direct links to useful files in the latest revision:
| rev | nodeid | when | diff | why |
|---|---|---|---|---|
| 14 | 266d37fd8029 | 8 months | diff | correctly handle log files with a branch. |
| 13 | 861ff346f7e0 | 8 months | diff | integrate more nodeid's into the html views & mention hgsrv to clo... |
| 12 | 8a1492d615e2 | 8 months | diff | understand hgfs's new optional branch field in a changelog entry, ... |
| 11 | 8b2e928a6b95 | 8 months | diff | list a few more files in the repo: .c .h .py .s; also show a pla... |
| 10 | eafc48fd48f6 | 11 months | diff | fix "..."'s in short log, and make it shorter. |
| 9 | 05ece680bd67 | 12 months | diff | make xhtml more compliant. |
| 8 | 5309b65d32ca | 18 months | diff | change hgweb location on www.ueber.net. |
| 7 | 42af3410e773 | 18 months | diff | use new package "textmangle" to insert a html version of the READM... |
| 6 | 9bbef73c1809 | 18 months | diff | welcome ndiff. modified diff(1) to accept -n to patch absent file... |
| 5 | 9b2e7597c200 | 18 months | diff | remove links in manual pages. most of them are broken anyway. |
| 4 | 3b7dec5c8b03 | 18 months | diff | implement full log. ... |
| 3 | b39f803b36b8 | 18 months | diff | many new features/pages. ... |
| 2 | 7184f68078ab | 18 months | diff | implement the rss feed, make html nicer, fix timestamps |
| 1 | 37dc5a5d5297 | 18 months | diff | first revisions that's a bit useful. ... |
| 0 | 9f889efbdc84 | 18 months | - | first version of hgweb. a scgi program that reads repos from /n/h... |