aboutsummaryrefslogtreecommitdiff
path: root/gitserver-documentation.wiki
blob: 24b7c4ed4facebb473d9a6e3cad6147d0427cf07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
%title About page for git.hornquist.se

%% REMOVE A START
This is the about page for https://git.hornquist.se/?p=about.
%% REMOVE A END

= 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 =
[[https://git.hornquist.se/?q=Archive|Archive]] :: Repos which will probably never again get touched
[[https://git.hornquist.se/?q=doc|doc]] :: "Pure" text repos.
[[https://git.hornquist.se/?q=fork|fork]] :: Repos which are forked from elsewhere.

= Subdirectories =
[[https://git.hornquist.se/?q=archpkg|archpkg]] :: Arch PKGBUILD files.
[[https://git.hornquist.se/?q=houseOfMad|houseOfMad]] :: An old game
[[https://git.hornquist.se/?q=liu|liu]] :: Schoolwork from LiU
[[https://git.hornquist.se/?q=puppet|puppet]] :: Puppet Modules
[[https://git.hornquist.se/?q=scheme|scheme]] :: Misc scheme code
[[https://git.hornquist.se/?q=unity|unity]] :: Misc Unity (game engine) code

= Templates =

{{{
GIT ~ $ tree $(git config --global init.templateDir)
/usr/share/githooks/template/
├── description -> /dev/null
└── hooks -> /usr/share/githooks/hooks
}}}

= Remaning Configuration =

The cgit server is configuration is mostly contained in
[[https://git.hornquist.se/puppet/cgit/|my Puppetmodule for CGit]]. It
is however populated by my (as of yet) unpublished Hiera data.

The various CGit filters which run are however available here
https://git.hornquist.se/cgit-filters/

{{{
 __________________________
< Den som bestämde gjorde >
 --------------------------
\                             .       .
 \                           / `.   .' "
  \                  .---.  <    > <    >  .---.
   \                 |    \  \ - ~ ~ - /  /    |
         _____          ..-~             ~-..-~
        |     |   \~~~\.'                    `./~~~/
       ---------   \__/                        \__/
      .'  O    \     /               /       \  "
     (_____,    `._.'               |         }  \/~~~/
      `----.          /       }     |        /    \__/
            `-.      |       /      |       /      `. ,~~|
                ~-.__|      /_ - ~ ^|      /- _      `..-'
                     |     /        |     /     ~-.     `-. _  _  _
                     |_____|        |_____|         ~ - . _ _ _ _ _>
}}}