ctucx.git: stagit

ctucx' stagit fork

commit aac2476448d8f48e614080c71e3e8b69bbc1d07a
parent c22fd724e163a5b5508008534541428eba66342d
Author: Leah (ctucx) <leah@ctu.cx>
Date: Sat, 28 May 2022 12:15:48 +0200

update README.md
1 file changed, 54 insertions(+), 101 deletions(-)
M
README.md
|
155
++++++++++++++++++++++++++++---------------------------------------------------
diff --git a/README.md b/README.md
@@ -10,6 +10,60 @@ adds a new dependency. On top of that, the assets have been changed, creating a
 personal theme. The scripts have also been changed to fit my needs.
 
 
+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 of the commit log (atom.xml).
+- Atom feed of the tags/refs (tags.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.
+- Usable with text-browsers such as dillo, links, lynx and w3m.
+
+
+Cons
+----
+
+- Not suitable for large repositories (2000+ commits), because diffstats are
+  an expensive operation, the cache (-c flag) is a workaround for this in some
+  cases.
+- Not suitable for large repositories with many files, because all files are
+  written for each execution of stagit. This is because stagit shows the lines
+  of textfiles and there is no "cache" for file metadata (this would add more
+  complexity to the code).
+- Not suitable for repositories with many branches, a quite linear history is
+  assumed (from HEAD).
+
+  In these cases it is better to just use cgit or possibly change stagit to run
+  as a CGI program.
+
+- Relatively slow to run the first time (about 3 seconds for sbase, 1500+
+  commits), incremental updates are faster.
+- Does not support some of the dynamic features cgit has (this is by design,
+  just use git locally), like:
+  - Snapshot tarballs per commit.
+  - File tree per commit.
+  - History log of branches diverged from HEAD.
+  - Stats (git shortlog -s).
+
+
+Dependencies
+------------
+
+- C compiler (C99).
+- libc (tested with OpenBSD, FreeBSD, NetBSD, Linux: glibc and musl).
+- libgit2 (v0.22+).
+- POSIX make (optional).
+- [md4c](https://github.com/mity/md4c) (v0.4.4+).
+
+
 Usage
 -----
 

@@ -35,16 +89,6 @@ Build and install
 	# make install
 
 
-Dependencies
-------------
-
-- C compiler (C99).
-- libc (tested with OpenBSD, FreeBSD, NetBSD, Linux: glibc and musl).
-- libgit2 (v0.22+).
-- POSIX make (optional).
-- [md4c](https://github.com/mity/md4c) (v0.4.4+).
-
-
 Documentation
 -------------
 

@@ -73,33 +117,6 @@ It can be done like this at the time of writing (v0.24):
 	make install
 
 
-Extract owner field from git config
------------------------------------
-
-A way to extract the gitweb owner for example in the format:
-
-	[gitweb]
-		owner = Name here
-
-Script:
-
-	#!/bin/sh
-	awk '/^[ 	]*owner[ 	]=/ {
-		sub(/^[^=]*=[ 	]*/, "");
-		print $0;
-	}'
-
-
-Set clone URL for a directory of repos
---------------------------------------
-
-	#!/bin/sh
-	cd "$dir"
-	for i in *; do
-		test -d "$i" && echo "git://git.codemadness.org/$i" > "$i/url"
-	done
-
-
 Update files on git push
 ------------------------
 

@@ -109,26 +126,6 @@ recreated. This is because stagit checks if a commit file already exists. It
 also has a cache (-c) option which can conflict with the new history. See
 stagit(1).
 
-git post-receive hook (repo/.git/hooks/post-receive):
-
-	#!/bin/sh
-	# detect git push -f
-	force=0
-	while read -r old new ref; do
-		hasrevs=$(git rev-list "$old" "^$new" | sed 1q)
-		if test -n "$hasrevs"; then
-			force=1
-			break
-		fi
-	done
-
-	# remove commits and .cache on git push -f
-	#if test "$force" = "1"; then
-	# ...
-	#fi
-
-	# see example_create.sh for normal creation of the files.
-
 
 Create .tar.gz archives by tag
 ------------------------------

@@ -146,47 +143,3 @@ Create .tar.gz archives by tag
 			-- \
 			"${t}"
 	done
-
-
-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 of the commit log (atom.xml).
-- Atom feed of the tags/refs (tags.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.
-- Usable with text-browsers such as dillo, links, lynx and w3m.
-
-
-Cons
-----
-
-- Not suitable for large repositories (2000+ commits), because diffstats are
-  an expensive operation, the cache (-c flag) is a workaround for this in some
-  cases.
-- Not suitable for large repositories with many files, because all files are
-  written for each execution of stagit. This is because stagit shows the lines
-  of textfiles and there is no "cache" for file metadata (this would add more
-  complexity to the code).
-- Not suitable for repositories with many branches, a quite linear history is
-  assumed (from HEAD).
-
-  In these cases it is better to just use cgit or possibly change stagit to run
-  as a CGI program.
-
-- Relatively slow to run the first time (about 3 seconds for sbase, 1500+
-  commits), incremental updates are faster.
-- Does not support some of the dynamic features cgit has (this is by design,
-  just use git locally), like:
-  - Snapshot tarballs per commit.
-  - File tree per commit.
-  - History log of branches diverged from HEAD.
-  - Stats (git shortlog -s).