minor modifications to stagit
1a3584e2d0
"Optionally the -c cachefile option can be used to cache the entries of the log page up to the point of the last commit. The cachefile will store the last commit id and the entries in the HTML table." this caches the diffstat and commits, it is an expensive operation (twss). |
||
---|---|---|
compat.h | ||
config.def.h | ||
config.mk | ||
example.sh | ||
favicon.png | ||
LICENSE | ||
logo.png | ||
Makefile | ||
README | ||
reallocarray.c | ||
stagit-index.1 | ||
stagit-index.c | ||
stagit.1 | ||
stagit.c | ||
strlcat.c | ||
strlcpy.c | ||
style.css | ||
TODO |
stagit ====== static git page generator Usage ----- Make files per repository: $ mkdir -p htmldir && cd htmldir $ stagit path-to-repo Make index file for repositories: $ stagit-index repodir1 repodir2 repodir3 > index.html Install ------- $ make # make install Dependencies ------------ - libgit2 (v0.22+). - libc (tested with OpenBSD, FreeBSD, glibc and musl). - C compiler (C99). - make Documentation ------------- See man pages: stagit(1) and stagit-index(1). Features -------- - Log of all commits from HEAD. - Log and diffstat per commit. - Show file tree with linkable line numbers. - Show references: local branches and tags. - Detect README and LICENSE file from HEAD and link it as a webpage. - Detect submodules (.gitmodules file) from HEAD and link it as a webpage. - Atom feed log (atom.xml). - Make index page for multiple repositories with stagit-index. - After generating the pages (relatively slow) serving the files is very fast, simple and requires little resources (because the content is static), only a HTTP file server is required. Cons ---- - Not suitable for large repositories (2000+ commits), because diffstats are an expensive operation. - Not suitable for repositories with many branches, a quite linear history is assumed (from HEAD). - Relatively slow to run the first time (about 3 seconds for sbase, 1500+ commits), incremental updates after it are faster. - Does not support some of the dynamic features cgit has, like: - snapshot tarballs. - file tree per commit. - history log of branches diverged from HEAD. - stats (git shortlog -s). this is by design, just use git locally.