From 98ed665f0db3ac9261f33ad259f64b8261256f95 Mon Sep 17 00:00:00 2001 From: Dmitry Ilvokhin Date: Sat, 3 Feb 2024 17:34:53 +0000 Subject: Add init-git-repo.sh script to init new repos --- roles/git/files/init-git-repo.sh | 58 ++++++++++++++++++++++++++++++++++++++++ roles/git/tasks/main.yml | 8 ++++++ 2 files changed, 66 insertions(+) create mode 100755 roles/git/files/init-git-repo.sh (limited to 'roles/git') diff --git a/roles/git/files/init-git-repo.sh b/roles/git/files/init-git-repo.sh new file mode 100755 index 0000000..881ee55 --- /dev/null +++ b/roles/git/files/init-git-repo.sh @@ -0,0 +1,58 @@ +#! /usr/bin/env bash + +# Usage examples +# +# Init private repository and mirror it to github. +# ./init-git-repo.sh --private --mirror repo.git + +private=0 +mirror=0 +repo="" + +while [[ $# -gt 0 ]]; do + case $1 in + -p|--private) + private=1 + shift + ;; + -m|--mirror) + mirror=1 + shift + ;; + -*|--*) + echo "Unknown option $1" 1>&2 + exit 1 + ;; + *) + repo=$1 + shift + ;; + esac +done + +if [ -z $repo ]; then + echo "Provide repository name!" 1>&2 + exit 1 +fi + +mkdir $repo +cd $repo +git init --bare + +if [ $private -eq 0 ]; then + touch git-daemon-export-ok +fi + +if [ $mirror -eq 1 ]; then + git remote add --mirror github git@github.com:ilvokhin/$repo + + cat > hooks/post-receive <