From ad8971195481513b8624604d841807d803a34dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 11 Oct 2022 00:41:42 +0200 Subject: tis 11 okt 2022 00:41:42 CEST --- gitserver-documentation.wiki | 103 +++++++++++++++++++++++++++++++------------ 1 file changed, 75 insertions(+), 28 deletions(-) (limited to 'gitserver-documentation.wiki') diff --git a/gitserver-documentation.wiki b/gitserver-documentation.wiki index b4328b4..f067fef 100644 --- a/gitserver-documentation.wiki +++ b/gitserver-documentation.wiki @@ -1,29 +1,76 @@ -- Hur körs krokar - - Standardkrokar - - Lägga till egna -- Hur sätts git konfiguration -- Här sätts description -- Hur byter man standardgren -- Hur underkataloger och taggar interagerar - - Vad de olika underkatalogerna är till för - - Vad de olika taggarna är till för -- Is owner from cgit? Is it supported? -- Which configuration variables are supported, and what do they do - - Better script for setting them - - Should take core from a global place - - then update that with repo specific - - have way to unset -- Allow shared repositories? -- What happens if both subdir, and category - -== Dokumentation == -At each push hooks are run [GITHOOKS] - -Configuration is easiest set to an orphan branch called gitconfig -The file .gitconfig will be loaded (by what?) - -== Configuration keys of interest == - -`cgit.description` :: Displayed description of repo -`cgit.defbranch` :: Default branch to show += Hooks = +Each repository is initialized with a hook directory which symlinks to +a global hooks directory. In the global hooks directory, each +(relevant) hook is symlinked to [[https://git.hornquist.se/githooks/about/|GitHooks dispatcher]], which +will run every hooks in `${HOOK_DIR}/${HOOK_NAME}.d` (non-recursively) + +== Hook Dir == +Hooks are searched for in +- `/etc/githooks/hooks` (configurable through `githooks.hook-dir`) +- `${GIT_REF}:.githooks/` for every ref affected by the push + +== Default Hooks == +[[https://git.hornquist.se/githooks-hooks/|The global hooks can be viewed here.]] + +== Repo Configuration == +A [[https://git.hornquist.se/githooks-hooks/tree/post-receive.d/gitconfig|gitconfig hook]] is run on post-receive. + +It reads the git configuration file `${GIT_REF}:.gitconfig` from the +pushed ref, and updates the repos config file. + +It's recommended to create a new orphan branch called `gitconfig`, and +handle all configuration from there. + +=== Repo Description === +Must be set through `gitweb.description`. + +=== Configuration keys of interest === +`gitweb.description` :: Displayed description of repo `gitweb.category` :: Category, (unless in a subdirectory) +`gitweb.homepage` :: Will be added as a tab +`cgit.defbranch` :: Default branch to show +`cgit.logo` :: Will replace cgit logo for this repo, see [[#Logo]] + +Read more: [[man:cgitrc#5]] + +==== Logo ==== +The prefered way to publish logo:s is thourgh the repo itself, set +`cgit.logo` to https://git.hornquist.se/REPO_NAME/plain/LOGO.PNG?h=*BRANCHNAME* + +== Re-running hooks == +The script `~git/rerun-hook.py` is available on the server. It takes +a path to a repo, and executes the post-receive hook as if an initial +push containing everything in the repo. + += Gitweb Categories = +Archive :: Repos which will probably never again get touched +doc :: "Pure" text repos. +fork :: Repos which are forked from elsewhere. + += Subdirectories = +archpkg :: Arch PKGBUILD files. +houseOfMad :: An old game +liu :: Schoolwork from LiU +puppet :: Puppet Modules +scheme :: Misc scheme code +unity :: Misc Unity (game engine) code + +{{{ + __________________________ +< Den som bestämde gjorde > + -------------------------- +\ . . + \ / `. .' " + \ .---. < > < > .---. + \ | \ \ - ~ ~ - / / | + _____ ..-~ ~-..-~ + | | \~~~\.' `./~~~/ + --------- \__/ \__/ + .' O \ / / \ " + (_____, `._.' | } \/~~~/ + `----. / } | / \__/ + `-. | / | / `. ,~~| + ~-.__| /_ - ~ ^| /- _ `..-' + | / | / ~-. `-. _ _ _ + |_____| |_____| ~ - . _ _ _ _ _> +}}} -- cgit v1.2.3