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  | 
