#!/bin/sh
# gitcreate is part of the repo_shell distribution.
-eval $(sed -e 's| ||g' < /etc/repo_shell.conf)
+eval $([ -f /etc/repo_shell.conf ] && sed -e 's| ||g' < /etc/repo_shell.conf)
if [ -z "$owner" -o -z "$git_root" ]; then
echo "$0: please configure /etc/repo_shell.conf"
+ exit 1
fi
gitacls="$git_root/.gitacls"
exit 1
fi
-if [ -e $git_root/$1 ]; then
- echo "$0: repository $1 already exists" >&2
+repopath=$1
+
+if [ -e $git_root/$repopath ]; then
+ echo "$0: repository $repopath already exists" >&2
exit 1
fi
# Do not create subdirectories without asking first
-repopath=$(dirname $1)
-if [ ! -d "$git_root/$repopath" ]; then
+repodir=$(dirname $repopath)
+if [ ! -d "$git_root/$repodir" ]; then
if [ ! $yes ]; then
- echo -n "Create git subdir '$repopath' (y/N)? "
+ echo -n "Create git subdir '$repodir' (y/N)? "
read ans
ans=$(expr "$ans" : '\(.\).*') # works with dash too
if [ "$ans" != "y" -a "$ans" != "Y" ];then
exit 0
fi
fi
- mkdir -p "$git_root/$repopath" 2>/dev/null
- if [ ! -d "$git_root/$repopath" ]; then
- echo "%0: repository not created, git subdir '$repopath' create failed" >&2
+ mkdir -p "$git_root/$repodir" 2>/dev/null
+ if [ ! -d "$git_root/$repodir" ]; then
+ echo "%0: repository not created, git subdir '$repodir' create failed" >&2
exit 1
fi
fi
# Create the respository
umask 027
-git --git-dir "$git_root/$1" init --bare
+git --git-dir "$git_root/$repopath" init --bare
[ $? -ne 0 ] && exit 1
[ -f "$gitacls" ] && echo "Check $gitacls for proper access permissions"