From 91a876ff74fc5c8ae649be424362dd5705311fd3 Mon Sep 17 00:00:00 2001 From: Dejavu Moe Date: Thu, 11 May 2023 23:17:59 +0800 Subject: add cgit/git-bare --- cgit/git-bare | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 cgit/git-bare diff --git a/cgit/git-bare b/cgit/git-bare new file mode 100644 index 0000000..a4f757a --- /dev/null +++ b/cgit/git-bare @@ -0,0 +1,42 @@ +#!/bin/bash + +set -eu + +# /usr/local/bin/git-bare + +# Check if the running user is root or sudo user +if [ "$(id -u)" -ne 0 ]; then + if ! sudo -v &> /dev/null; then + echo "Please run the script as root or with sudo user" + exit 1 + fi +fi + +# Check if git is installed +if ! command -v git &> /dev/null; then + echo "Git is not installed, please install Git first." + exit 1 +fi + +read -p "Please enter the repository name (without .git)." reponame + +if [ -d "/home/git/${reponame}.git" ]; then + echo "Repository ${reponame} already exists" + exit 1 +else + git init --bare "/home/git/${reponame}.git" + cd "/home/git/${reponame}.git" + + read -p "Please enter the repository description:" description + echo "${description}." | sudo tee "description" > /dev/null + + # Update the Git repository info + if ! git update-server-info &> /dev/null; then + echo "Failed to update Git repository information, exiting..." + exit 1 + fi + + chown -R git:www-data "/home/git/${reponame}.git" + chmod -R ug+rwx,o-rwx "/home/git/${reponame}.git" + echo "The repository was created successfully." +fi \ No newline at end of file -- cgit v1.2.3-54-g00ecf