diff options
Diffstat (limited to 'roles/git/files/git-shell-commands/make-private')
-rw-r--r-- | roles/git/files/git-shell-commands/make-private | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/roles/git/files/git-shell-commands/make-private b/roles/git/files/git-shell-commands/make-private new file mode 100644 index 0000000..432d847 --- /dev/null +++ b/roles/git/files/git-shell-commands/make-private @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Copyright (c) 2017 Aaron LI <aly@aaronly.me> +# MIT License +# +# Turn a public Git repository to be private to `cgit`. +# +# 2017-06-19 +# + +. ${HOME}/vars.conf + +if [ $# -ne 1 ]; then + echo "usage: make-private <repository.git>" + exit 1 +fi + +project="${1%.[gG][iI][tT]}.git" + +if [ ! -d "${project}" ]; then + echo "ERROR: repository '${project}' not exists!" + exit 2 +elif [ -L "${PUBLIC}/${project}" ]; then + rm "${PUBLIC}/${project}" + echo "Made repository '${project}' private." + exit 0 +else + echo "Repository '${project}' not public." + exit 0 +fi |