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
make sure the packages "web", "scgid" and "textmangle" installed (see http://www.ueber.net/code/r/$packagename).
make sure $ROOT is set. 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 or ndiff.udiff (in unified format) to inferno's appl/cmd/diff.b (be sure to copy that to the file name ndiff.b before running patch). 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@ueber.net.
diff.b (to which ndiff.diff an ndiff.udiff can be applied) is copyrighted by vita nuova. the modification is in the public domain.
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-15.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 |
|---|---|---|---|---|
| 15 | e255c98a9a9d | 17 months | diff | add mkconfig, updated patch to create ndiff, including unified diff. |
| 14 | 266d37fd8029 | 2 years | diff | correctly handle log files with a branch. |
| 13 | 861ff346f7e0 | 2 years | diff | integrate more nodeid's into the html views & mention hgsrv to clo... |
| 12 | 8a1492d615e2 | 2 years | diff | understand hgfs's new optional branch field in a changelog entry, ... |
| 11 | 8b2e928a6b95 | 2 years | diff | list a few more files in the repo: .c .h .py .s; also show a pla... |
| 10 | eafc48fd48f6 | 3 years | diff | fix "..."'s in short log, and make it shorter. |
| 9 | 05ece680bd67 | 3 years | diff | make xhtml more compliant. |
| 8 | 5309b65d32ca | 3 years | diff | change hgweb location on www.ueber.net. |
| 7 | 42af3410e773 | 3 years | diff | use new package "textmangle" to insert a html version of the READM... |
| 6 | 9bbef73c1809 | 3 years | diff | welcome ndiff. modified diff(1) to accept -n to patch absent file... |
| 5 | 9b2e7597c200 | 3 years | diff | remove links in manual pages. most of them are broken anyway. |
| 4 | 3b7dec5c8b03 | 3 years | diff | implement full log. ... |
| 3 | b39f803b36b8 | 3 years | diff | many new features/pages. ... |
| 2 | 7184f68078ab | 3 years | diff | implement the rss feed, make html nicer, fix timestamps |
| 1 | 37dc5a5d5297 | 3 years | diff | first revisions that's a bit useful. ... |
| 0 | 9f889efbdc84 | 3 years | - | first version of hgweb. a scgi program that reads repos from /n/h... |