#!/usr/bin/env sh set -eu remote_host="git.ediblemonad.dev" owner_info="Akshay Nair " if [ $# -lt 2 ]; then echo "Usage: new <...description>" 1>&2 exit 1 fi repo_name="$1"; shift 1; [ -z "$repo_name" ] && echo "Error: empty repo name" 1>&2 && exit 1 (echo "$repo_name" | grep -q "^[A-Za-z0-9_-]\+$" 2>/dev/null) || (echo "Error: invalid repo name" 1>&2 && exit 1) # Stupid cmdline parsing means I can't do $1 here for space separated stuff description="$*" [ -z "$description" ] && echo "Error: empty description" 1>&2 && exit 1 repo_dir="/git/${repo_name}.git" if [ -d "$repo_dir" ]; then echo "Error: $repo_name already exists" 1>&2 exit 1; fi git --bare init "$repo_dir" cd "$repo_dir" echo "$description" > description echo "$owner_info" > owner_info echo "git@${remote_host}:${repo_dir}"