aboutsummaryrefslogtreecommitdiff
path: root/gitserver-documentation.wiki
diff options
context:
space:
mode:
Diffstat (limited to 'gitserver-documentation.wiki')
-rw-r--r--gitserver-documentation.wiki103
1 files changed, 75 insertions, 28 deletions
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 \ / / \ "
+ (_____, `._.' | } \/~~~/
+ `----. / } | / \__/
+ `-. | / | / `. ,~~|
+ ~-.__| /_ - ~ ^| /- _ `..-'
+ | / | / ~-. `-. _ _ _
+ |_____| |_____| ~ - . _ _ _ _ _>
+}}}