# Overview #
This is a fork of `gitweb` containing customizations used on
-<http://git.subgeniuskitty.com>.
+<https://git.subgeniuskitty.com>.
+
+Changes include defaulting to side-by-side diffs, automatically displaying
+README files when present, and a new tree+readme page for 'summary' mode.
-Changes include things like using side-by-side diffs by default and
-automatically displaying README files if present while browsing in tree mode.
# Status #
-Working. Tested on <http://git.subgeniuskitty.com>.
+Working. Runs <https://git.subgeniuskitty.com> on Debian Linux.
+
# Instructions #
The following instructions work on Debian 10. All paths are examples from
-the SGK gitweb server located at <http://git.subgeniuskitty.com>. For more
+the SGK gitweb server located at <https://git.subgeniuskitty.com>. For more
details, including accompanying scripts, see sysadmin notes on
-<http://subgeniuskitty.com>.
+<https://subgeniuskitty.com/notes/mail_web_git_server>.
-----
$feature{'highlight'}{'default'} = [1];
Create an Apache vhost definition among the Apache2 configuration files. For
-the Debian 10 server that runs <http://git.subgeniuskitty.com>, this means
+the Debian 10 server that runs <https://git.subgeniuskitty.com>, this means
creating the file `/etc/apache2/sites-available/git.subgeniuskitty.com/conf`
with the following contents.
owned by an SSH-enabled user for management, and that permissions are suitable
for reading by the Apache2 user, usually `www-data` on Debian.
- mkdir -p /srv/apache2_vhosts
- git clone /srv/git/gitweb-sgk /srv/apache2_vhosts/git.subgeniuskitty.com
- chown -R ataylor:ataylor /srv/apache2_vhosts/git.subgeniuskitty.com
+ mkdir -p /srv/apache_vhosts
+ git clone /srv/git/gitweb-sgk /srv/apache_vhosts/git.subgeniuskitty.com
+ chown -R ataylor:ataylor /srv/apache_vhosts/git.subgeniuskitty.com
In order to maintain a public/private split, gitweb only displays repos that
have been cloned into `/srv/gitweb_cache`. Remember to set `.git/description`
and `.git/category` for any repos cloned into this gitweb cache folder.
- mkdir -p /srv/gitweb_cache
- git clone /srv/git/repo_name /srv/gitweb_cache/repo_name
- echo "A description goes here." > /srv/gitweb_cache/repo_name/.git/description
- echo "Category" > /srv/gitweb_cache/repo_name/.git/category
- printf '#!/usr/bin/bash\ncd /srv/gitweb_cache/repo_name/.git\ngit pull\n' > /srv/git/repo_name/hooks/post-update
- chmod +x /srv/git/repo_name/hooks/post-update
+ mkdir -p /srv/gitweb_cache
+ git clone /srv/git/repo_name /srv/gitweb_cache/repo_name
+ echo "A description goes here." > /srv/gitweb_cache/repo_name/.git/description
+ echo "Category" > /srv/gitweb_cache/repo_name/.git/category
+ printf '#!/usr/bin/bash\ncd /srv/gitweb_cache/repo_name\ngit --git-dir=.git pull\n' > /srv/git/repo_name/hooks/post-update
+ chmod +x /srv/git/repo_name/hooks/post-update
Turn everything on.
- a2enmod cgi
- a2enmod rewrite
- a2ensite git.subgeniuskitty.com
- systemctl reload apache2
+ a2enmod cgi
+ a2enmod rewrite
+ a2ensite git.subgeniuskitty.com
+ systemctl reload apache2