Giter Club home page Giter Club logo

hgweb's Introduction

# summary

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:

- last commit message for each repository
- 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.
- rss feed of the previous two views
- diff between any two revisions of a given repository
- the man2html-formatted manual page of a given unprocessed man page in
  a given repository, for a given file
- last n commit messages for a given repository, in short or long format


# download

the homepage of this software is at:

	http://www.ueber.net/code/r/hgweb


# install

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.


# run

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.


# licence & author

this code is in the public domain.  the code is written by mechiel
lukkien, reachable at [email protected].

diff.b (to which ndiff.diff an ndiff.udiff can be applied) is copyrighted
by vita nuova.  the modification is in the public domain.


# todo

- the url's should be more repo-centric, not the current function-centric.
- 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.
- better error handling.  the wrong error reasons might be given sometimes.

hgweb's People

Contributors

mjl- avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.