#!/usr/bin/env sh set -eu if [ $# -lt 1 ]; then echo "Usage: set-category [category]" 1>&2 exit 1 fi repo_name="$1"; [ -z "$repo_name" ] && echo "Error: empty repo name" 1>&2 && exit 1 (echo "$repo_name" | grep -q "^[A-Za-z0-9_-]\+$" 2>/dev/null) || (echo "Error: invalid repo name" 1>&2 && exit 1) category="${2:-""}"; repo_dir="/git/${repo_name}.git" if ! [ -d "$repo_dir" ]; then echo "Error: $repo_name doesn't exist" 1>&2 exit 1; fi if [ -z "$category" ]; then git -C "$repo_dir" config unset gitweb.category else git -C "$repo_dir" config set gitweb.category "$category" fi echo "Done"