#!/bin/sh
set -euC
# This does the same thing (in fact uses) the built in version except that it
# does not include the `.git` suffixes.
# Run the built-in version.
"$GL_BINDIR/triggers/post-compile/update-gitweb-access-list"
# Clear previous links.
find "$GL_REPO_BASE" -name '*.git' -prune -o -type l -exec rm {} +
# Create new links.
gitolite list-phy-repos \
| while IFS= read -r repo
do
mkdir -p "$(dirname "$GL_REPO_BASE/$repo")"
ln -s \
"$GL_REPO_BASE/$repo.git" \
"$GL_REPO_BASE/$repo"
done
# Determine projects list file.
projects_list="$(
gitolite query-rc GITWEB_PROJECTS_LIST ||
echo "$HOME/projects.list"
)"
# Process and write.
if [ -r "$projects_list" ]
then
tmp="$(mktemp)"
< "$projects_list" sed 's/\.git$//' >| "$tmp"
< "$tmp" cat >| "$projects_list"
rm "$tmp"
fi
|